platform/upstream/enlightenment.git
3 years agosoftkey service: support to handle the handler region for softkey service 99/261199/2 accepted/tizen/unified/20210715.094740 submit/tizen/20210714.022946
Doyoun Kang [Tue, 13 Jul 2021 07:13:40 +0000 (16:13 +0900)]
softkey service: support to handle the handler region for softkey service

we add code for setting the handler region of the softkey service to support showing
the softkey service by swipe up.

Change-Id: I2a00140de3359695454478c986f826f20f0923fe

3 years agoe_map: enable direct render set to the new e_map 43/261243/1
Junseok, Kim [Wed, 14 Jul 2021 01:08:11 +0000 (10:08 +0900)]
e_map: enable direct render set to the new e_map

Change-Id: Ia681ed68913098b35934e3362859fdc46327bfcd

3 years agosubsurface: Assign E_Subsurface to user data of wl_resource 77/261077/6 accepted/tizen/unified/20210713.090217 submit/tizen/20210713.053811
Seunghun Lee [Fri, 9 Jul 2021 08:16:15 +0000 (17:16 +0900)]
subsurface: Assign E_Subsurface to user data of wl_resource

Now that E_Subsurface was introduced for sub-surface, it's better to use
this as a user data of wl_resource of sub-surface. And E_Subsurface data
will be destroyed with destruction of an associated E_Client or of
wl_resource.

Change-Id: I9561df474127753a9c9d80ca9b595fed62363bd8

3 years agosubsurface: Use E_COMP_WL_HOOK_DEL handler 76/261076/6
Seunghun Lee [Fri, 2 Jul 2021 07:57:49 +0000 (16:57 +0900)]
subsurface: Use E_COMP_WL_HOOK_DEL handler

This uses E_COMP_WL_HOOK_DEL handler for comp_data of sub-surface and of
its parent. It is meant to register a handler only for interesting
E_Client, not for all E_Clients unnecessarily as it was.

This will make code look clear and help with readability.

Change-Id: I6ed991fea6c3ff3119e98a828e44952b06e6d11a

3 years agoe_comp_wl: Add a hook point for destruction of comp_data 75/261075/2
Seunghun Lee [Fri, 9 Jul 2021 01:39:01 +0000 (10:39 +0900)]
e_comp_wl: Add a hook point for destruction of comp_data

This is to add a hook point, E_COMP_WL_HOOK_DEL which will be triggered
right before comp_data gets destroyed.

Many implementations of E20 have referred to ec->comp_data, but there
have been no way to find out when it's deleted.
So, we have had to check the validation of it before accessing it.

Through this patch, we can now ensure the validation of comp_data by
using a handler of E_COMP_WL_HOOK_DEL.

Change-Id: I7485d9b11a1ea46d500b4b0eac165e8529045cae

3 years agosubsurface: Extract methods from create() 74/261074/1
Seunghun Lee [Fri, 2 Jul 2021 05:38:30 +0000 (14:38 +0900)]
subsurface: Extract methods from create()

This is to extract methods from e_comp_wl_subsurface_create to enhance
readability.

Change-Id: I0803429cfa265df50b52d8d6a29874a835825b4d

3 years agosubsurface: Add E_Subsurface data type 73/261073/1
Seunghun Lee [Tue, 29 Jun 2021 02:41:10 +0000 (11:41 +0900)]
subsurface: Add E_Subsurface data type

E_Subsurface is a data type wrapping E_Comp_Wl_Subsurf_Data, which can
be accessed from a sub-surface implementation.
This is for adding new field for sub-surface restricting of direct access
to the data.

Change-Id: I1e5b2a8ed840f390f7c92817b36990df1ef9258c

3 years agoe_policy_stack: [2nd] apply stack policy for transient below 08/259808/7 accepted/tizen/unified/20210709.081232 submit/tizen/20210709.022325
Doyoun Kang [Tue, 15 Jun 2021 03:20:55 +0000 (12:20 +0900)]
e_policy_stack: [2nd] apply stack policy for transient below

There was a case that the transient_below did not work.
This change will fix it.

This change is dependent on the below change.
- policy: apply stack policy for transient below

Change-Id: I3948a0b7948588ee3349e1c7f09099ae65de291e

3 years agoMake sure parent_get is called with sub-surface 47/260747/2
Seunghun Lee [Fri, 2 Jul 2021 05:41:11 +0000 (14:41 +0900)]
Make sure parent_get is called with sub-surface

e_comp_wl_subsurface APIs should be called with sub-surface except for
e_comp_wl_subsurface_check() that is for checking if given E_Client is
for sub-surface.

This silences following error log.

E/E20     (  294): ERR<eina_safety> src/bin/e_comp_wl_subsurface.c:1299
safety check failed: ec->comp_data == NULL

Change-Id: I220aff909ff0c754f44f7ed4c2f95e5a1475f513

3 years agoe_comp_wl_tbm: Add internal func e_comp_wl_tbm_aligned_width_get 63/260863/2 accepted/tizen/unified/20210707.070841 submit/tizen/20210706.063021
Changyeon Lee [Tue, 11 May 2021 10:45:46 +0000 (19:45 +0900)]
e_comp_wl_tbm: Add internal func e_comp_wl_tbm_aligned_width_get

this patch is for supporting another RGB format

Change-Id: Icd5279c2c3f83164527a186dbf85f9084ff8d959

3 years agoe_client: add e_client_is_internal API 22/260822/1
Doyoun Kang [Mon, 5 Jul 2021 08:19:17 +0000 (17:19 +0900)]
e_client: add e_client_is_internal API

We provide e_client_is_internal API to check the ec is internal or not.
FYI, if ec is null, then this function returns TRUE.

Change-Id: Icde7a82434132ea14c3d17d923b62f15e1569c8f

3 years agosubsurface: Add and use a function for getting global coord 28/260628/2
Seunghun Lee [Wed, 30 Jun 2021 02:52:55 +0000 (11:52 +0900)]
subsurface: Add and use a function for getting global coord

This provides a helper function for getting global coordinates of
sub-surface which is calculated by adding the coordinates of sub-surface
to the coordinates of its parent.
This is to not repeat calculation code and help with readability.

Change-Id: I46c99bbf7eb3c82e70aae1a5f0b5f7d16b2c00aa

3 years agosubsurface: Add and use a function for getting position 20/260620/4
Seunghun Lee [Thu, 24 Jun 2021 07:37:37 +0000 (16:37 +0900)]
subsurface: Add and use a function for getting position

This lets us be able to get position of sub-surface without accessing
the data of sub-surface by calling e_comp_wl_subsurface_position_get().

Change-Id: I930893a326990fb3991152dfb56e13a469f3be14

3 years agosubsurface: Add and use a function for getting stand alone mode 19/260619/2
Seunghun Lee [Fri, 25 Jun 2021 05:45:00 +0000 (14:45 +0900)]
subsurface: Add and use a function for getting stand alone mode

This is to not access the data of sub-surface and to help with
readability.

Change-Id: Ia10c5247c61f6ec1a9bbc6ff4c33cbca48860d24

3 years agosubsurface: Add and use functions for tizen_policy extensions 18/260618/1
Seunghun Lee [Wed, 23 Jun 2021 05:24:54 +0000 (14:24 +0900)]
subsurface: Add and use functions for tizen_policy extensions

This is to seperate sub-surface code out from e_policy_wl.c file.

Change-Id: I65d84ce69dbe2c4effa5bfcf88452933d5df57c3

3 years agoe_policy: changed E_CONTAIN TO E_INTERSECTS when checking EC is out of zone size. 34/260534/1 accepted/tizen/unified/20210630.005924 submit/tizen/20210628.111545
Junseok, Kim [Mon, 28 Jun 2021 10:38:16 +0000 (19:38 +0900)]
e_policy: changed E_CONTAIN TO E_INTERSECTS when checking EC is out of zone size.

There was bug that The EC is regards as out of Zone using E_CONTAIN function.
if the EC is placed at boundary of Zone, E_CONTAIN(zone geom, ec geom) returns EC is out of zone.
But, In this case, we should use E_INTERSECTS to consider remained EC part of inside of Zone.

Change-Id: Ia9e6f22bdc5b8d33ed55305b66b9475e04e82587
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_comp_wl_tizen_hwc: remove the _e_comp_wl_tizen_hwc_cb_commit_feedback 39/260439/4 accepted/tizen/unified/20210629.130147 submit/tizen/20210625.061033 submit/tizen/20210628.011759
SooChan Lim [Fri, 25 Jun 2021 02:55:52 +0000 (11:55 +0900)]
e_comp_wl_tizen_hwc: remove the _e_comp_wl_tizen_hwc_cb_commit_feedback

The tizen_hwc_commit_feedback request has been removed.
Therefore, e20 remove the implemetation of this request.

Change-Id: I30f6f26a444e7522d06b0b02331d229bdaee336c

3 years agoe_comp_object: Add null check 46/260446/1
Seunghun Lee [Fri, 25 Jun 2021 04:49:22 +0000 (13:49 +0900)]
e_comp_object: Add null check

This silences error log.

E/E20     (  301): ERR<evas_main> ../src/lib/evas/canvas/evas_ob:0155
calling smart object API on non-smart object!

Change-Id: I2d1785343da3bc295398527aff5db4a315d38dde

3 years agoviewport: Separate code out from declaration 75/260275/1
Seunghun Lee [Wed, 23 Jun 2021 02:23:14 +0000 (11:23 +0900)]
viewport: Separate code out from declaration

We don't mix declaration and code.

Change-Id: I88a7ae0eb42d9e984baf2400d9f0dff000dda3c3

3 years agoviewport: Remove duplicated code 74/260274/1
Seunghun Lee [Wed, 23 Jun 2021 01:57:17 +0000 (10:57 +0900)]
viewport: Remove duplicated code

Use e_comp_wl_topmost_parent_get(), and remove _topmost_parent_get()
which did the exact same functionality.

Change-Id: I5ffd2315dcae247003a51d162c72046d9898f94b

3 years agosubsurface: Add a function for getting parent of sub-surface 73/260273/1
Seunghun Lee [Wed, 23 Jun 2021 01:53:24 +0000 (10:53 +0900)]
subsurface: Add a function for getting parent of sub-surface

To get a parent of sub-surface without accessing particular sub-surface
data, this adds e_comp_wl_subsurface_panret_get() function. This should
also help with readability.

As the name implies, this should be called with a E_Client associated
with sub-surface instance, but it will be okay to be called with
not sub-surface instance. In that case, it will just return NULL.

Change-Id: I08f340424b46fdb54141fa41747ba55ad2ae6875

3 years agoe_comp_wl_capture: Fix pixman format of ABGR,XBGR 18/260218/2
Changyeon Lee [Tue, 22 Jun 2021 05:57:15 +0000 (14:57 +0900)]
e_comp_wl_capture: Fix pixman format of ABGR,XBGR

Change-Id: I30248d88f654ab2a04d43ad8df9e58f7afebeb21

3 years agoe_info_server: Support XBGR and ABGR format in dump hwc_wins 06/260206/2
Changyeon Lee [Mon, 21 Jun 2021 07:59:03 +0000 (16:59 +0900)]
e_info_server: Support XBGR and ABGR format in dump hwc_wins

Change-Id: I28b73950c2793bea19dd4c79c263dffbfe5b4140

3 years agoe_comp_wl: Add functions for wl_surface role 00/260200/6
Seunghun Lee [Mon, 21 Jun 2021 08:16:57 +0000 (17:16 +0900)]
e_comp_wl: Add functions for wl_surface role

The Wayland protocol says a surface can have only one role at a time.
This means that a compositor is supposed to post an corresponding error
when wl_client tries to assign several roles to one wl_surface.

With the absence of the handling the case, some wl_client has already
been assigning a role of xdg_toplevel to a wl_surface which already has
a role of wl_subsurface.

This patch is meant to clarify the case and handle it in proper way.
Currently, only the subsurface implementation sets role, but later, all
relevant implementation has to set its wl_surface's role, and handle
error case to prevent wl_clients from misuse.

Change-Id: I40dce394d70bdddb4d5a8dd19858a386c1f16b38

3 years agosubsurface: Add and use function for checking sub-surface 99/260199/5
Seunghun Lee [Mon, 21 Jun 2021 06:40:00 +0000 (15:40 +0900)]
subsurface: Add and use function for checking sub-surface

This lets us check if a E_Client is for sub-surface without accessing
particular data of sub-surface. And it should help with readability.

Note that DO NOT use this function to ensure the safety of accessing
"comp_data->sub.data". So, you cannot assume the validation by using
e_comp_wl_subsurface_check().
The function, by its name, doesn't imply anything about the safety at
all. It does only check whether given E_Client is for sub-surface.

Change-Id: I15f32c124ecf9a95a77b61095b0d855379d9c800

3 years agoe_hwc_window: Synchronize frame in case of subsurface is synchronized committed 21/259721/5 accepted/tizen/unified/20210621.123017 submit/tizen/20210621.042754
Changyeon Lee [Thu, 10 Jun 2021 06:26:35 +0000 (15:26 +0900)]
e_hwc_window: Synchronize frame in case of subsurface is synchronized committed

if subsurface is synchronized committed, frame should be synchronized
with parent surface.
so call e_hwc_window_present_sync when subsurface is displayed by hwc
but parent is displayed by gl compositing.

Change-Id: Iea291960f18c2bb13e6df1f4de06bbf0a3d9aca5

3 years agoe_comp_wl: add E_COMP_WL_HOOK_SUBSURFACE_SYNCHRONIZED_COMMIT hook 20/259720/3
Changyeon Lee [Thu, 17 Sep 2020 05:49:12 +0000 (14:49 +0900)]
e_comp_wl: add E_COMP_WL_HOOK_SUBSURFACE_SYNCHRONIZED_COMMIT hook

Change-Id: Ibd4fffca6dc4b8f6a0942f82b3e1203d41944255

3 years agoe_comp_object: add API - e_comp_object_transform_bg_color_set 84/259984/2 accepted/tizen/unified/20210618.120751 submit/tizen/20210617.084705
Doyoun Kang [Thu, 17 Jun 2021 06:47:58 +0000 (15:47 +0900)]
e_comp_object: add API - e_comp_object_transform_bg_color_set

we add a new API to support changing a color of the transform background object as below
- E_API void e_comp_object_transform_bg_color_set(Evas_Object *obj, int r, int g, int b, int a);

Change-Id: Ia3795ca1dfb50f6ce13fc2ef3148b6bb25e27995

3 years agoe_hwc_windows: Fix deadlock when e_hwc_window is freed 75/259875/4 accepted/tizen/unified/20210617.124858 submit/tizen/20210616.110744
Changyeon Lee [Wed, 16 Jun 2021 06:03:23 +0000 (15:03 +0900)]
e_hwc_windows: Fix deadlock when e_hwc_window is freed

after tbm_surface of E_Hwc_Window_Update is referenced,
it is possible that unreferenced api of tbm_surface
(tbm_surface_internal_unref) is called when e_hwc_window
is freed.

e_hwc_windows add rendererd_windows list to user_data of
tbm_surface of target_window
rendered_windows list has reference of e_hwc_window and
unreference of e_hwc_window can be called when rendered_windows
list is freed in user_data delete callback of tbm_surface.

but it cause deadlock problem when tbm_surface_internal_unref
is called in callback of tbm_surface
because libtbm doesn't allow that tbm_surface api is called
in callback of tbm_surface.

so e_hwc_windows doesn't use user_data of tbm_surface for
rendered_buffer and rendered_windows list.
they are added to member of E_Hwc_Window_Comp_Info.
E_Hwc_Window_Comp_Info isn't freed in user_data deleted
callback.

Change-Id: I40deba667bbfb7bbfba2807830e823faa90c07b4

3 years agoe_hwc_windows: Rename Buffer_Comp_Info to Comp_Info 74/259874/1
Changyeon Lee [Wed, 16 Jun 2021 04:30:04 +0000 (13:30 +0900)]
e_hwc_windows: Rename Buffer_Comp_Info to Comp_Info

Change-Id: Iaf4f2ec2e00e8a8450e4368db017ffbba2b3e012

3 years agoe_test_helper: Added iconify by client info for testcase 50/259550/4
Junseok, Kim [Tue, 8 Jun 2021 07:47:38 +0000 (16:47 +0900)]
e_test_helper: Added iconify by client info for testcase

Added iconify by client information to wininfo and iconic state changed
signal.

Change-Id: I2afb8f5f83d53aec12a73c5728710e9ca186398b
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_hwc_window: add Trace log in e_hwc_window_present_sync 43/259543/5 accepted/tizen/unified/20210611.144947 submit/tizen/20210611.034301
Changyeon Lee [Wed, 9 Jun 2021 10:04:11 +0000 (19:04 +0900)]
e_hwc_window: add Trace log in e_hwc_window_present_sync

Change-Id: I9ed612c04e07ba8a56ab6963965ede88c46098b2

3 years agoe_video_hwc: Stop queuing video updates on hwc windows policy 29/258829/7
Changyeon Lee [Wed, 26 May 2021 07:16:53 +0000 (16:16 +0900)]
e_video_hwc: Stop queuing video updates on hwc windows policy

An update for a video surface(the surface associated with
tizen_video_object protocol) has been queued to apply later if it's
created early before previous update is not yet applied to a screen.
It's to ensure applying all video updates to a screen without any frame
drop.
But this operation makes synchronizing updates between video frame and
graphics frame so difficult.
Additionally, the wayland client is able to throttle frames on its own
by using frame callback.

So, this patch is to attempt to disable the queuing video updates
experimentally only on hwc windows policy.

Change-Id: I02bbda8bb51688a227f15bfa93a9991183cba064

3 years agoe_hwc_window: Synchronize frame in case of surface and subsurface are transformed 14/257714/9
Changyeon Lee [Thu, 6 May 2021 11:29:12 +0000 (20:29 +0900)]
e_hwc_window: Synchronize frame in case of surface and subsurface are transformed

e_hwc_window_present_sync api for synchronizing hwc with gl compositing
if e_hwc_client_present_sync api is called,
tbm_surface and tdm_hwc_window_info of hwc_window will be updated
after gl compositing is done.

update data is dequeued when buffer for gl compositing is dequeued
andthen it is enqueued when buffer for gl compositing is acquired.

Change-Id: I076a92d63379b084eeeceffd6666a4f7bfa44157

3 years agoe_hwc_windows: Add pending update data to debug info 13/257713/7
Changyeon Lee [Thu, 29 Apr 2021 10:54:16 +0000 (19:54 +0900)]
e_hwc_windows: Add pending update data to debug info

Change-Id: Id540eef6786a29867472d56c3bd4c3c72d547331

3 years agoe_hwc_window: Add e_hwc_window_pending_update_data_de/enqueue 12/257712/7
Changyeon Lee [Thu, 29 Apr 2021 05:43:27 +0000 (14:43 +0900)]
e_hwc_window: Add e_hwc_window_pending_update_data_de/enqueue

this api for sync with gl compositing and hwc

Change-Id: I2625e3553d50299d52a9576d43437739658a4c8c

3 years agoe_hwc_window: Reference tbm_surface when it set to e_hwc_window_buffer 11/257711/6
Changyeon Lee [Thu, 29 Apr 2021 03:11:33 +0000 (12:11 +0900)]
e_hwc_window: Reference tbm_surface when it set to e_hwc_window_buffer

Change-Id: Ie0fa60e0c85d8bc05793a09662d9c53d5b949039

3 years agoe_hwc_window: Add E_Hwc_Window_Update_Data for managing update infomation 10/257710/6
Changyeon Lee [Wed, 28 Apr 2021 12:51:41 +0000 (21:51 +0900)]
e_hwc_window: Add E_Hwc_Window_Update_Data for managing update infomation

current : tdm_hwc_window
commit  : latest tdm_hwc_commit
display : display done

Change-Id: Iac86c8fe5cc84bc45fa98bb66c2057127e8eaa01

3 years agoe_info_client: remove duplicated range check while read uint from string. 74/259674/1
Junseok, Kim [Fri, 11 Jun 2021 01:55:57 +0000 (10:55 +0900)]
e_info_client: remove duplicated range check while read uint from string.

Because of above line already checked out of bound of the ulong from string,
The check that greater than max of uint has no affect to result.
So, remove that check code.

Change-Id: I0ef61639664c592f02dbf6d4dd095bea46c4b596
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agopolicy: apply stack policy for transient below 86/259586/2 accepted/tizen/unified/20210611.013551 submit/tizen/20210610.032516 submit/tizen/20210610.063829
Doyoun Kang [Thu, 10 Jun 2021 02:47:29 +0000 (11:47 +0900)]
policy: apply stack policy for transient below

When a child window which sets E_TRANSIENT_BELOW policy is created,
then e places it to BOTTOM of children.

(example)
1. create transient_below child1
   => [Top] parent -> child1           [Bottom]
2. create transient_below child2
   => [Top] parent -> child1 -> child2 [Bottom]

Change-Id: I08044023e6be748bccaa58a2dc4941404ebe08aa

3 years agoe_client_video: Use E_Client_Video instance for a parameter of function 02/259102/6 submit/tizen/20210609.101049
Seunghun Lee [Mon, 31 May 2021 06:50:35 +0000 (15:50 +0900)]
e_client_video: Use E_Client_Video instance for a parameter of function

Passes E_Client_Video instance instead of E_Client for internal
functions. In this way, the name and argument of functions in the module
would make more sense.

Change-Id: If0793486c47e97351ddefe764e0df91de392d6df

3 years agovideo: Destruct the E_Client_Video instance in E_CLIENT_HOOK_DEL 01/259101/5
Seunghun Lee [Mon, 31 May 2021 04:40:36 +0000 (13:40 +0900)]
video: Destruct the E_Client_Video instance in E_CLIENT_HOOK_DEL

It listens to E_CLIENT_HOOK_DEL instead of E_EVENT_CLIENT_REMOVE to
ensure that ec is not deleted object during the instance lifecycle.

Now that inside e_client_video implementation it can be sure that ec
is not deleted object, no need to check if ec is deleted object.

Change-Id: I6060dd6e6accee5175dffa661c3b67372c9695f0

3 years agoe_map: free used e_map pointers for fix memory leak 39/259439/3
Junseok, Kim [Tue, 8 Jun 2021 04:28:04 +0000 (13:28 +0900)]
e_map: free used e_map pointers for fix memory leak

before evas_object_map_get didn't need to free their returned evas_map object.
but from previous patch that e_map added, e_comp_object/client_map_get functions are allocate memory.
so, all of e_map must be freed after use them.

Change-Id: I0d680de8026cec062871933b967ae78e1795c637
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_map: use E_Map APIs instead of Evas_Map 02/258802/14
Junseok, Kim [Wed, 26 May 2021 03:42:05 +0000 (12:42 +0900)]
e_map: use E_Map APIs instead of Evas_Map

E_Map is wrapper API of Evas_Map.
this patch replaces all of Evas_Map function and variable to E_Map.

Change-Id: Ic0cb89fdbc24ef83d46bd2a7ea21eef6c5657dbf
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_map: Added wrapper APIs for evas_map 30/258730/14
Junseok, Kim [Mon, 17 May 2021 09:05:31 +0000 (18:05 +0900)]
e_map: Added wrapper APIs for evas_map

Evas_Map used in many functions for effect, zoom and etc.
But, we couldn't manage all of Evas_Map used by modules.
and there're so many duplicated codes to doing same operation.

For easy maintenance and increase reusability of Evas_Map, added E_Map wrapper APIs for it's first step.

Change-Id: I6c0dc2a88a43a545bc0f62dba591e4c9129730d3
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_comp_wl_tizen_hwc: implement the create_commit_feedback request. 74/259374/6 accepted/tizen/unified/20210608.130948 submit/tizen/20210607.071331 submit/tizen/20210607.071352
SooChan Lim [Mon, 7 Jun 2021 03:08:38 +0000 (12:08 +0900)]
e_comp_wl_tizen_hwc: implement the create_commit_feedback request.

This request has the same implementation as commit_feedback request.
The implementationfor commit_feedback request will be removed later
because the commit_feedback request will be deprecated.

Change-Id: I8abc3c6b2001bc0b91955db2d8d1634eb1a8383c

3 years agoe_hwc_windows: Erase unnecessary condition 45/259345/3 accepted/tizen/unified/20210607.124246 submit/tizen/20210607.053420
Junkyeong, Kim [Fri, 4 Jun 2021 11:23:31 +0000 (20:23 +0900)]
e_hwc_windows: Erase unnecessary condition

Change-Id: Ie6df3ceaf697dd73163ce5a333fde1716fd03f68
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
3 years agoe_hwc_windows: Set and unset external window 44/259344/3
Junkyeong, Kim [Fri, 4 Jun 2021 11:21:43 +0000 (20:21 +0900)]
e_hwc_windows: Set and unset external window

The external window will not be evaluated in _e_hwc_windows_changes_update.

Change-Id: I0a84c51be2a065712c60a50c630422830496326f
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
3 years agoe_hwc_window: Add is_external flag and APIs 43/259343/3
Junkyeong, Kim [Fri, 4 Jun 2021 11:18:51 +0000 (20:18 +0900)]
e_hwc_window: Add is_external flag and APIs

To check external window, use is_external flag.

Change-Id: I94f85c275fab29823ff16bdf268c474b51a0aa88
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
3 years agoe_client: remove focus_defer_unset call when revert focus in focus calculate 30/258930/2
Junseok, Kim [Fri, 28 May 2021 01:20:57 +0000 (10:20 +0900)]
e_client: remove focus_defer_unset call when revert focus in focus calculate

When the focused window is freed, if there're focusable window below the focused window,
there is a bug that focus calculation may occur two times due to defer focus unset after revert focus.

For fix this bug, remove focus_defer_unset when focus be decided by revert_focus of focus_calculate.

Change-Id: I41064c4c36254eb7b0dc144523934f9b27dfe970
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_foreign_shell: No longer send destination/transform_changed events 46/258946/1 accepted/tizen/unified/20210602.122605 submit/tizen/20210531.020751
Seunghun Lee [Mon, 24 May 2021 09:26:59 +0000 (18:26 +0900)]
e_foreign_shell: No longer send destination/transform_changed events

These events are no longer supported by the wtz-foreign protocol.
Because there is no use case.

Change-Id: I7ba2792cb7097a014893048fb3e07c08ea0b05e5

3 years agowinfo: support basic_op_gen option 01/258801/1
Doyoun Kang [Wed, 26 May 2021 02:37:50 +0000 (11:37 +0900)]
winfo: support basic_op_gen option

We've added basic_op_gen option to winfo (enlightenment_info).
This option generates some operations (such as lower, activate).

usage:
      winfo -basic_op_gen {window_id} {operation}
example:
      winfo -basic_op_gen 0xb84b3aa0 lower
      winfo -basic_op_gen 0xb84b3aa0 activate

Change-Id: Iaf3848a7a7f1d920a09295ef2ce7caa00900b963

3 years agoe_foreign_shell: Update destination and transform of foreign shell 41/258741/1
Seunghun Lee [Tue, 25 May 2021 04:13:56 +0000 (13:13 +0900)]
e_foreign_shell: Update destination and transform of foreign shell

If foreign shell is newly created client and surface is committed,
then the state of foreign shell for not only visibility but also
destination size and transform has to be updated to the same of
exported shell's one.

Otherwise, the state of foreign shell can't be updated in forever until
the state of exported shell gets updated.

Change-Id: I953bafaf114bf86354fbfac25268e9364d8bd5c2

3 years agoe_foreign_shell: Add functions for handler of destruction of exported_shell 98/258698/4
Seunghun Lee [Mon, 24 May 2021 09:08:09 +0000 (18:08 +0900)]
e_foreign_shell: Add functions for handler of destruction of exported_shell

Just to improve readability. No functional changes.

Change-Id: I415d3e07eedbfdc739c0a59bece0fdae103c8ca5

3 years agoe_foreign_shell: Remove repeated assignment 97/258697/4
Seunghun Lee [Mon, 24 May 2021 02:36:15 +0000 (11:36 +0900)]
e_foreign_shell: Remove repeated assignment

This assignment will be made by _e_foreign_shell_exported_link().

Change-Id: I29e49f50636f4de7d91f962ee41c5af0c42f7158

3 years agoe_foreign_shell: No longer use embedded client concept 96/258696/4
Seunghun Lee [Thu, 20 May 2021 04:00:53 +0000 (13:00 +0900)]
e_foreign_shell: No longer use embedded client concept

There were some tricky side effects because of the concept of embedded
client which used smart object mechanism for re-stack operation. So,
this patch removes using the concept, instead it gives the
e_foreign_shell responsibility for re-stacking on its own.

This also reverts following patchs which are no longer used:

  commit 8b545ca9e79ef2c06fc383cf9cbc788d4561e1e7.
  Revert "e_comp_object: Set an embedded E_Client as comp_object ..."

  commit fd9f1eb3cc89980295d923894ea5e016a1a360c1.
  Revert "e_client: Introduce a way of embdding a client to ..."

Change-Id: I912e038da129665b5ba6a62fe7c94aa8dce89176

3 years agoe_process: change process' state when visibility is changed 39/258439/3
Doyoun Kang [Tue, 18 May 2021 03:14:13 +0000 (12:14 +0900)]
e_process: change process' state when visibility is changed

When the visibility of window is changed to fully-obscured, e works as below.
If ec->visible flag is false, e calls _e_process_windows_act_no_visible_update.
And if not, e just calls _e_process_freeze.

There was a bug that the window which was under pending-uniconify canceled
uniconify (in other word, its state remained to iconic), e didn't send the
BACKGROUND event to the application process.

Change-Id: Iba70cb70beedfc625bce21162da19bdbe8cbaca2

3 years agoe_comp_wl: Check return value of e_comp_wl_video_init() 94/258594/1
Seunghun Lee [Wed, 12 May 2021 07:16:02 +0000 (16:16 +0900)]
e_comp_wl: Check return value of e_comp_wl_video_init()

It checks return value and leave an error log when it failed.

Change-Id: I0ee2b063862c1a96d84a3e828bc7b5ff27b88785

3 years agoe_comp_wl_video: Make boolean for return value of init() 93/258593/1
Seunghun Lee [Wed, 12 May 2021 07:13:03 +0000 (16:13 +0900)]
e_comp_wl_video: Make boolean for return value of init()

This patch is to improve consistency and readability.
And there is no functional changes.

Change-Id: I55bd4bf3d34f0285bdf8fbdbee6638f0bec29cf3

3 years agoe_comp_wl_video: Remove superfluous assignment 92/258592/1
Seunghun Lee [Wed, 12 May 2021 04:56:13 +0000 (13:56 +0900)]
e_comp_wl_video: Remove superfluous assignment

No need to assign initial value because it checks return value as an
error indicator before using outcome arguments.

Change-Id: I456143346cbc1e1cd7840b5619376635b5168830

3 years agoe_comp_wl_video: Extract methods to improve readability 91/258591/1
Seunghun Lee [Wed, 12 May 2021 04:52:40 +0000 (13:52 +0900)]
e_comp_wl_video: Extract methods to improve readability

No functional changes.

Change-Id: I96092bed1bc90beb52279cfd3c8111586677437a

3 years agoe_comp_wl_video: Remove superfluous check code 90/258590/1
Seunghun Lee [Wed, 12 May 2021 04:34:56 +0000 (13:34 +0900)]
e_comp_wl_video: Remove superfluous check code

The user data of wl_resources must be valid. Otherwise, it should be
failed loudly.

Change-Id: Ie8547e3616d1106ec6c38333a047f953f66ca4a8

3 years agoe_comp_wl_video: Separate declarations from code 89/258589/1
Seunghun Lee [Tue, 11 May 2021 07:46:57 +0000 (16:46 +0900)]
e_comp_wl_video: Separate declarations from code

Change-Id: I5a79f13a5222c98b07d6e1bc1b6b38f802839bd9

3 years agoe_comp_wl_video: Initialize fields when init function is success 88/258588/1
Seunghun Lee [Mon, 10 May 2021 05:59:44 +0000 (14:59 +0900)]
e_comp_wl_video: Initialize fields when init function is success

The fields that should be initialized during initlizing e_comp_wl_video
should be stayed as it is if any required tasks are failed.

Change-Id: I71ba204d914db3dbcb8a6fad85ea91363952dc01

3 years agoe_info_server: Erase res_rotation_set value in screen_rotation_pre option 82/258382/3 accepted/tizen/unified/20210531.130343 submit/tizen/20210517.050856 submit/tizen/20210528.060712
Junkyeong, Kim [Fri, 14 May 2021 10:01:55 +0000 (19:01 +0900)]
e_info_server: Erase res_rotation_set value in screen_rotation_pre option

If the previous rotation value is 0, 90 and 270 value cannot be adapted.
Only 180 can be adapted if width and height is different.
So do not have to check the return value to save config.

Change-Id: Ia22590ccb01f74e7a8004128edaf7ec18e1b56d5
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
3 years agoe_explicit_sync: Fix dangling pointer problem of E_Explicit_Sync_Buffer_Release 32/258232/3
Changyeon Lee [Wed, 12 May 2021 11:30:06 +0000 (20:30 +0900)]
e_explicit_sync: Fix dangling pointer problem of E_Explicit_Sync_Buffer_Release

if wl_resouce of E_Explicit_Sync_Buffer_Release is destroyed by client,
E_Comp_Wl_Buffer_Ref access dangling pointer of E_Explicit_Sync_Buffer_Release.
for this problem, resource is set by null when it is destroyed and
E_Explicit_Sync_Buffer_Release is freed when
e_explicit_sync_buffer_release_destroy is called.

Change-Id: Ia2959ae3c1389e3122216aca3e1d2c75df8dcf77

3 years agoe_test_helper: Added iconic state changed signal 15/258215/4
Junseok, Kim [Wed, 12 May 2021 08:44:57 +0000 (17:44 +0900)]
e_test_helper: Added iconic state changed signal

send iconic state changed signal when iconic state changed of test client.
it contains native window(uint) id and iconic state(Eina_Bool).

Change-Id: I33c687f32b8a7bab1e4d5e4031bc3c2447a1117d
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_policy: restore ec's layer when floating is unset 05/258105/2
Doyoun Kang [Tue, 11 May 2021 00:36:07 +0000 (09:36 +0900)]
e_policy: restore ec's layer when floating is unset

When a floating mode was unset, e restored ec's layer to NORMAL only.

However, the layer of ec can be another layer (such as NORMAL, NOTIFICATION, etc.).
So, we changed code to restore its layer to original layer.

Change-Id: Ie528e6ede7d12d9fd795b0266d04f473d301fb63

3 years agoe_presentation: Remove dead code 69/258069/1
Seunghun Lee [Mon, 10 May 2021 05:22:45 +0000 (14:22 +0900)]
e_presentation: Remove dead code

The presentation->global is NULL in any case of failure.

Change-Id: I586e30613f96c3ff2314dbf67246233f8d0f9b70

3 years agoe_client/e_policy: support always_on_parent feature 39/257939/4 accepted/tizen/unified/20210510.155219 submit/tizen/20210510.040235
Doyoun Kang [Fri, 7 May 2021 02:16:55 +0000 (11:16 +0900)]
e_client/e_policy: support always_on_parent feature

If child window set the always_on_parent aux_hint, then it always has to be placed
on the parent window even if it request to lower window.

Currently, this feature can be set by below aux hint key.
- wm.policy.win.transient_for.always_on_parent

Change-Id: Icd26fabf437a976df52018f4ad9587ac9f0f3390

3 years agosubsurface: Remove unused API, e_comp_wl_subsurface_stack_update() 79/257979/1
Seunghun Lee [Fri, 7 May 2021 06:54:36 +0000 (15:54 +0900)]
subsurface: Remove unused API, e_comp_wl_subsurface_stack_update()

It's deprecated, and no longer used anywhere.

Change-Id: I839f53d899bffcd15955f7a1f516e53041d92152

3 years agoe_poilcy_stack: Remove unnecessary updating stack order of sub-surfaces 78/257978/1
Seunghun Lee [Fri, 7 May 2021 06:44:50 +0000 (15:44 +0900)]
e_poilcy_stack: Remove unnecessary updating stack order of sub-surfaces

Updating stack order of sub-surfaces in this implementation can be
removed since the follwing patch was introduced.

d1e43082e subsurface: Fix messed up stack order of sub-surface

The stack order of sub-surfaces have been being handled by subsurface
implementation since then.

Change-Id: Id05018c3baa7516c3bad81441786c8697aabb044

3 years agoe_policy: Add E_POLICY_HOOK_CLIENT_STACK_MODE_SET hook 98/257898/4
Seungjin Park [Thu, 6 May 2021 05:55:36 +0000 (14:55 +0900)]
e_policy: Add E_POLICY_HOOK_CLIENT_STACK_MODE_SET hook

Add a new hook in policy_wl to let modules know stack mode change of clients

Change-Id: I8bd2e30ae7481acbe6ca313d6fea55b8e98db0d6
Signed-off-by: Seungjin Park <sj8808.park@samsung.com>
3 years agoe_policy_stack: fix build break on 64bit env 26/257626/1 accepted/tizen/unified/20210429.011938 submit/tizen/20210428.100323
Doyoun Kang [Wed, 28 Apr 2021 09:54:07 +0000 (18:54 +0900)]
e_policy_stack: fix build break on 64bit env

Change-Id: I96518c6d7e71c793c4cf302e6729cb0a4ca2bdb2

3 years agoe_comp_object: Revert patchs related to transp object causing issue 25/257625/2
Seunghun Lee [Wed, 28 Apr 2021 09:38:10 +0000 (18:38 +0900)]
e_comp_object: Revert patchs related to transp object causing issue

The problem that the transform bg object hided video displaying underlay.
It turned out because tranp object has been added to smart member and it
didn't work render copy operation because its parent wasn't in render copy
operation.

Revert all related patchs. And this issue will be handled in the future.

Revert "e_comp_object: Remove obsolete stacking transform transp object"

This reverts commit f40c1f181df2b6f76f70c597bbef8daf11726c0d.

Revert "e_comp_object: Fix wrong punch of window due to transp object stack order"

This reverts commit abb8da9ff51788322cfa0542d70f089e1d53d095.

Revert "e_comp_object: Add transp object as a member object of smart object"

This reverts commit 421731114b1c832cddc2b5eb8232d1e96cfc0751.

Change-Id: I115fd4bb95960c907a5d09b9917e16a766a1fd4d

3 years agopolicy/shell: refactoring parent_set/transient_for code 17/257617/2 submit/tizen/20210428.090812
Doyoun Kang [Wed, 28 Apr 2021 08:19:22 +0000 (17:19 +0900)]
policy/shell: refactoring parent_set/transient_for code

we changed code to use e_policy_stack_parent_set and e_policy_stack_transient_for_set
while handling requests for parent_set and transient_for_set

Change-Id: I7f010cf9e025f51e81b0e76b48199c876a2f2a0b

3 years agoe_policy_stack: refactoring transient window code 34/257534/6
Doyoun Kang [Tue, 27 Apr 2021 08:15:33 +0000 (17:15 +0900)]
e_policy_stack: refactoring transient window code

- remove E_Policy_Stack structure
- merge handling transient window code to e_policy_stack_transient_for_apply
  from e_policy_stack_hook_pre_post_fetch and e_policy_stack_hook_pre_fetch

Change-Id: I1f465d67c4c20e5302da5c6dc032fccbcc6e74bd

3 years agoe_test_helper: fix build warning 95/257595/2 accepted/tizen/unified/20210428.092146 submit/tizen/20210428.051036
Junseok, Kim [Wed, 28 Apr 2021 04:49:20 +0000 (13:49 +0900)]
e_test_helper: fix build warning

Change-Id: I1672775b4e332806482c4d2d36699c769d3d5ff3
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_test_helper: Added Focused variable to FocusChanged signal 64/257564/1
Junseok, Kim [Wed, 21 Apr 2021 05:25:36 +0000 (14:25 +0900)]
e_test_helper: Added Focused variable to FocusChanged signal

Change-Id: If9ea7823bbe1489ea0b23a6096256b4c7aaa469b
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_test_helper: Added get_aux_hint method 97/257497/2
Junseok, Kim [Tue, 27 Apr 2021 03:49:53 +0000 (12:49 +0900)]
e_test_helper: Added get_aux_hint method

Added method to get current aux hint data.
It requires aux hint name, and returns current applied aux hint data(ID, hint, value) matched with name.

Change-Id: I5af6f20c4ca3952422be55881b48d2036c145033
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_foreign_shell: Fix typo 31/257531/1 accepted/tizen/unified/20210428.040501 submit/tizen/20210428.001711
Seunghun Lee [Tue, 27 Apr 2021 08:26:28 +0000 (17:26 +0900)]
e_foreign_shell: Fix typo

Change-Id: I2533b1ad0e38e760b2ed7582c17afee0a2c957a6

3 years agovideo: Change to idle_enterer from ecore_job 25/257525/1
Seunghun Lee [Tue, 27 Apr 2021 04:18:43 +0000 (13:18 +0900)]
video: Change to idle_enterer from ecore_job

This patch changes video to use idle_enterer from ecore_job.

If geometry of a video changes by animating run by ecore_animator or so,
then the video cannot have chance to work before the hwc output.
Consequently, all changes with the video missing gets applied to the
output.

The occurrence order of each handler was as follow:
job(video) -> animator(animating) -> idle_enterer(hwc output)

The changed order is as follow:
animator(animating) -> idle_enterer(video) -> idle_enterer(hwc_output)

Change-Id: I558178883efcb68d6b2fb6ef8c138aea99b6eaae

3 years agoe_pixmap: do not unset/clear pixmap in e_pixmap_parent_window_set 41/257441/1
Doyoun Kang [Mon, 26 Apr 2021 04:58:47 +0000 (13:58 +0900)]
e_pixmap: do not unset/clear pixmap in e_pixmap_parent_window_set

We've modified code to set the E_Pixmap's parent window only.
If we need to set unusable and clear the pixmap, then we have to call these
functions explicitly.

Change-Id: I190b79c73f1c76eb830c853f7c23138f1c4b5050

3 years agoe_foreign_shell: Fix build error 50/257350/1 accepted/tizen/unified/20210426.002317 submit/tizen/20210423.025253
Seunghun Lee [Fri, 23 Apr 2021 02:39:01 +0000 (11:39 +0900)]
e_foreign_shell: Fix build error

The flipped transform isn't supported by wtz_foreign protocol.

Change-Id: I31eea013846ed940645e3392f9160b6e037caecd

3 years agoSupport wtz-foreign protocol 62/257262/3 submit/tizen/20210423.022029
Seunghun Lee [Fri, 9 Apr 2021 05:41:03 +0000 (14:41 +0900)]
Support wtz-foreign protocol

This is an initial commit to support wtz-foreign protocol.

This is to support out-of-process video playing surface.
wtz-foreign protocol is to enable one client to share its resources to
another client.
The client which exported a reference of foreign shell then can change
attributes - such as size, orientation, and map state - of foreign shell.
So, the client which import a foreign shell can draw its contents onto a
surface without concerning about attributes such as size like as
mentioned.

The e_foreign contains implementation of wtz_exporter and wtz_importer.
And e_foreign_shell contains implementation of wtz_exported_shell and
wtz_foreign_shell.

Change-Id: Idec6194d9b57e3346167eaa4ab6537b4d59c3393

3 years agoe_comp_object: Set an embedded E_Client as comp_object data 61/257261/2
Seunghun Lee [Wed, 21 Apr 2021 09:50:30 +0000 (18:50 +0900)]
e_comp_object: Set an embedded E_Client as comp_object data

When evas_object_data_get(obj, "E_Client") called, it will return
embedded E_Client instead of original E_Client.

This is to hide details of embedded concept.
Specifically, e_hwc_windows implementation will make a visibile window
list with an embedded E_Client, not a container.

Change-Id: I94c850d262c1357eb28f635b2ec3e97ac37c06ba

3 years agoRevert "foreign: Support wtz-foreign protocol" 60/257260/2
Seunghun Lee [Wed, 21 Apr 2021 09:34:11 +0000 (18:34 +0900)]
Revert "foreign: Support wtz-foreign protocol"

Since the foreign "surface" concept has been abandoned, the
implementation of e_foreign needs to be re-written.
(See wayland-extension)

So this patch reverts commit 0fab24dfc3e1bef3e6131aa7272cf51cdc81cbb9,
before making a commit to adopt new concept, foreign shell.

Change-Id: I4116dcdb41f1d0f72a7d766c3135c02be95863ca

3 years agoe_comp_object: defaultly use evas_object for input event instead image object 79/256179/6
Changyeon Lee [Tue, 30 Mar 2021 09:40:18 +0000 (18:40 +0900)]
e_comp_object: defaultly use evas_object for input event instead image object

map_input_object is shown for avoiding the event transform by evas_map
which is applied at effect object.

when comp_object is set by unredirect, map_input_object is
hidden even if buffer of client is rotated acoording to screen rotation.

so if client is set by redirect, map_input_object receive input event
and if client is set by unredirect, cw->obj receive input event.

it doesn't have a problem in normal cases because the size of
map_input_object(redirect) and cw->obj(unredirect) are the same size
of window(ec size).

but it has a problem in case of down/up input event

1. down event is signaled and cw->obj receive event
   comp_object is unredirect and size of cw->obj is same window size
   ex) widow size (1080x1920), cw->obj (1080x1920)

2. comp_object is redirect and map_input_object is shown and
   cw->obj is resized according to buffer size(rotated).
   ex) window size (1080x1920) cw->obj (1920x1080)
       map_input_object(1080x1920)

3. up event is signaled but cw->obj receive event
   so evas send input coordinate with current cw->obj size
   because evas can't change evas_object which is received between down
   and up event

it causes the wrong coordinate of input event is sent to the client.
so map_input_object is renamed default_input_object and
default_input_object use for input event instead image object(cw->obj).

Change-Id: I277c3804c3a2a73d2562cdbdc98cca9dfda40645

3 years agoe_hints: modify code for e_hints_aux_hint_add_with_pixmap 04/257204/2 accepted/tizen/unified/20210422.005317 submit/tizen/20210421.080150
Doyoun Kang [Wed, 21 Apr 2021 05:44:53 +0000 (14:44 +0900)]
e_hints: modify code for e_hints_aux_hint_add_with_pixmap

If there exist the aux_hint which has a same ID and its name is not same to the 3rd
parameter (name), then we replace its name and value to new name and value.

Change-Id: I383f45b3518fcbc97a09102c45fb9905eb2dee93

3 years agoe_test_helper: Added timeout set method 53/256853/5
Junseok, Kim [Wed, 14 Apr 2021 03:37:14 +0000 (12:37 +0900)]
e_test_helper: Added timeout set method

Added timeout set method.
It could set/unset timer of Testcase, and can set time of timer.

Change-Id: Ia023a4c8c49329e9ac60fbd6f5112707eaa9251d
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_test_helper: add method for add/del supported_aux_hint 99/256799/4
Junseok, Kim [Tue, 13 Apr 2021 07:17:32 +0000 (16:17 +0900)]
e_test_helper: add method for add/del supported_aux_hint

Change-Id: Ie83bbb48b7a3f66a4e70a7f84172d9866bfd2671
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_test_helper: added aux hint changed signal 40/256340/5
Junseok, Kim [Thu, 1 Apr 2021 07:58:30 +0000 (16:58 +0900)]
e_test_helper: added aux hint changed signal

Added aux hint changed signal to registered test window.
It hooks E_CLIENT_HOOK_AUX_HINT_CHANGE of registered window and send "AuxHintChanged" signal to e-tizen-unittest.

Change-Id: Ib2549682a5c85f5755d82a1e1df45c10dfac8cdf
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agosubsurface: Fix messed up stack order of sub-surface 47/256947/5 accepted/tizen/unified/20210420.090121 submit/tizen/20210420.022611
Seunghun Lee [Thu, 15 Apr 2021 07:09:06 +0000 (16:09 +0900)]
subsurface: Fix messed up stack order of sub-surface

The stack order of sub-surface sometimes got messed up when re-stacking
main surfaces.

Thinking of the case as an example that placing a surface underneath
another surface that has sub-surfaces, it obviously wasn't enough to
re-arrange sub-surfaces stack order only for E_Client given by restack
callback function.

This patch fixes it by updating stack order not only for given E_Client,
but also for E_Clients neighbored with given E_Client.

Change-Id: I95f11c9998ed4f1729e7ca3583a4f41f5dc4edf8

3 years agosubsurface: Move a handler for updating stack order of subsurfaces 45/256945/4
Seunghun Lee [Thu, 15 Apr 2021 02:38:57 +0000 (11:38 +0900)]
subsurface: Move a handler for updating stack order of subsurfaces

Place it with the other subsurface functions.

Change-Id: I57adb07ef066752e93e6027c43884bb2b0042c04

3 years agoe_policy: send iconify when uniconify_by_vis job canceled 48/257048/3
Junseok, Kim [Mon, 19 Apr 2021 01:47:24 +0000 (10:47 +0900)]
e_policy: send iconify when uniconify_by_vis job canceled

If the client's uniconify job is canceled by the enlightenment, the client's internal
state remains "Uniconic state" till the enlightenment send an iconic state change event.

In this situation, black screen can appear if the client is visible again.
This is because the client know its state is "uniconic" and doesn't render anymore.

To fix this, we add code that enlightenment sends an iconic state change event to client
to change its internal iconic state when the uniconify_by_vis job is canceled.

Change-Id: If2e71769cd622cfdb11aba0c655ea46a35bcb497
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_hwc_windows: fix getting stuck compositing in explicit fence sync 05/256805/1 accepted/tizen/unified/20210414.040528 submit/tizen/20210413.094849
Changyeon Lee [Tue, 13 Apr 2021 09:15:56 +0000 (18:15 +0900)]
e_hwc_windows: fix getting stuck compositing in explicit fence sync

do not release display buffer to queue if window isn't updated

Change-Id: I5d242478b8d092bd06d2ebcea74495b0e3089aa4

3 years agoe_policy_visibility: do not add internal ec in below activity list 69/256669/1 accepted/tizen/unified/20210412.012040 submit/tizen/20210409.043739
Doyoun Kang [Wed, 7 Apr 2021 10:32:05 +0000 (19:32 +0900)]
e_policy_visibility: do not add internal ec in below activity list

If an internal ec is added to the below activity list, then e could get timeout for uniconify
pending job because it does not send buffer attach, damage, commit event.

To prevent timeout, we change code not to add the internal ec (aka made by e or e's module)
in the below activity list.

Change-Id: I6f6e9a2c905e931cfb6bd10bdc6446d8f718095d

3 years agoe_policy: check config before calling e_client_revert_focus when window is lowered 68/256668/1
Doyoun Kang [Wed, 7 Apr 2021 09:29:43 +0000 (18:29 +0900)]
e_policy: check config before calling e_client_revert_focus when window is lowered

If the e_config's calc_vis_without_effect is set, e doesn't call e_client_revert_focus.
In this case, e_client_revert_focus is called after calculating visibility.

Change-Id: I89a47227a093cce7e6446832889785608a4b82c7

3 years agoe_policy_visibility: do not below_iconify when ec is transparent 35/256435/4
Junseok, Kim [Fri, 2 Apr 2021 07:08:12 +0000 (16:08 +0900)]
e_policy_visibility: do not below_iconify when ec is transparent

No need to below uniconify if the lower / hide window is transparent.
Because of below windows are already uniconic state.

Change-Id: I1c94ae0080e9fd97d075cb6ab7669cfbc13b9b38
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_comp_object: Remove obsolete stacking transform transp object 80/256480/1 accepted/tizen/unified/20210406.000344 submit/tizen/20210405.091208
Seunghun Lee [Mon, 5 Apr 2021 06:54:17 +0000 (15:54 +0900)]
e_comp_object: Remove obsolete stacking transform transp object

Now that transform transp object's been added to smart member as a
child(see 4217311), to stack transform transp object with ancestor
object got obsolete.

Change-Id: I6aa421a2dde285559d79af694f682845dc16b526