Offsreen Rendering support based on Ozone EFL 15/284815/9
authorGajendra N <gajendra.n@samsung.com>
Thu, 24 Nov 2022 04:54:13 +0000 (10:24 +0530)
committerGajendra N <gajendra.n@samsung.com>
Mon, 12 Dec 2022 11:55:18 +0000 (17:25 +0530)
commit245e6104137d7c2e6a1b54c6506bf2f869274da8
tree452bc8dbfa2348316fe93362f1817683fb6d9872
parenteb3e32541ac49becd9095bd6a8ecc71edd454161
Offsreen Rendering support based on Ozone EFL

Major changes:
1) Gets evas smart object created from ewk api and sets the same to
   GLSharedContextEfl to initialize evas gl context and surface.
2) Instantiates WindowTreeHost (Platform Window Delegate) in efl layer
   for adding webcontents native view as child of aura root window.
3) Initializes ScreenOzone in EwkGlobalData.
4) Adds runtime flag --enable-offscreen-rendering to enable offscreen flow.
5) Adds necessary command line flags to CommandLineEfl.
6) Fixes exit/shutdown crash while closing browsers (ewa/ubrowser).

Launch commands:
Desktop EFL : ./out.x64/efl_webview_app.sh
TM1 / TV    : /usr/apps/org.tizen.chromium-efl/bin/ubrowser

References:
1) [M94 Migration] Offscreen rendering with ozone-platform=efl
   https://review.tizen.org/gerrit/269556

2) Move ownership of aura::ScreenOzone to EwkGlobalData
   https://review.tizen.org/gerrit/277890

3) Avoid crash during cleanup and memory exceed
   https://review.tizen.org/gerrit/274512

Change-Id: I1ff270931af8e47011aca37e4f84e68e6d280db4
Signed-off-by: Gajendra N <gajendra.n@samsung.com>
38 files changed:
base/base_switches.cc
base/base_switches.h
base/task/sequence_manager/sequence_manager_impl.cc
base/task/sequence_manager/thread_controller.h
base/task/sequence_manager/thread_controller_impl.cc
base/task/sequence_manager/thread_controller_impl.h
base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
base/task/sequence_manager/thread_controller_with_message_pump_impl.h
content/browser/renderer_host/render_widget_host_view_aura.cc
content/browser/renderer_host/render_widget_host_view_aura.h
content/browser/web_contents/web_contents_impl.cc
content/browser/web_contents/web_contents_impl.h
content/browser/web_contents/web_contents_view_aura.cc
tizen_src/chromium_impl/content/browser/browser_efl.gni
tizen_src/chromium_impl/content/browser/renderer_host/rwhv_aura_offscreen_helper_efl.cc [new file with mode: 0644]
tizen_src/chromium_impl/content/browser/renderer_host/rwhv_aura_offscreen_helper_efl.h [new file with mode: 0644]
tizen_src/chromium_impl/content/gpu/in_process_gpu_thread_efl.cc
tizen_src/chromium_impl/efl/init.cc
tizen_src/chromium_impl/ui/ozone/platform/efl/efl_window.cc
tizen_src/chromium_impl/ui/ozone/platform/efl/efl_window.h
tizen_src/ewk/efl_integration/BUILD.gn
tizen_src/ewk/efl_integration/browser_context_efl.cc
tizen_src/ewk/efl_integration/command_line_efl.cc
tizen_src/ewk/efl_integration/common/content_client_efl.cc
tizen_src/ewk/efl_integration/common/content_client_efl.h
tizen_src/ewk/efl_integration/common/version_info.cc
tizen_src/ewk/efl_integration/content_browser_client_efl.cc
tizen_src/ewk/efl_integration/content_browser_client_efl.h
tizen_src/ewk/efl_integration/content_main_delegate_efl.cc
tizen_src/ewk/efl_integration/eweb_context.cc
tizen_src/ewk/efl_integration/eweb_view.cc
tizen_src/ewk/efl_integration/eweb_view.h
tizen_src/ewk/efl_integration/ewk_global_data.cc
tizen_src/ewk/efl_integration/ewk_global_data.h
tizen_src/ewk/efl_integration/permission_controller_delegate_efl.cc
tizen_src/ewk/efl_integration/renderer/content_renderer_client_efl.cc
tizen_src/ewk/efl_integration/renderer/content_renderer_client_efl.h [changed mode: 0644->0755]
ui/gl/gl_context_egl.cc