[M120 Migration][VD] Use Arrow Scroll for WebBrowser 52/308552/3 submit/tizen/20240331.160015
authorwangjing <jing124.wang@samsung.com>
Wed, 27 Mar 2024 09:21:59 +0000 (17:21 +0800)
committerBot Blink <blinkbot@samsung.com>
Fri, 29 Mar 2024 17:55:46 +0000 (17:55 +0000)
commit1fdb6c4a9c355a8b9e847dea0cc0d054a0ae69c1
tree3477adc75f82bd4d935e35ed9870dfa9ec51c154
parent5573b97000fd72e3ed3313fef14ca1a27cdef4f3
[M120 Migration][VD] Use Arrow Scroll for WebBrowser

TV WebBrowser has a feature, use remote controller to do arrow scroll:
+ enter Key, ^ up key, v down key, > right key, < left key
         ^
         ^
       <<+>>
         v
         v
When the enter key is pressed, WebBrowser will be set to Direction Scroll Mode
if use arrow scroll feature is enabled and the web page is scrollable. And then
user can press up/down/left/right key on remote controller to scroll the web
page on different direction.

By default, TV WebBrowser capture key events and transfer
enter/up/down/left/right key events to mouse left button down/move events to
simulate the cursor's mouse down/move behaviors.

Add ewk_settings_uses_arrow_scroll_set / ewk_settings_uses_arrow_scroll_get
api to enable/disable this feature in web engine.

WebBrowser uses "run,arrow,scroll" smart callback to set the mode.

Ref:
https://review.tizen.org/gerrit/#/c/290824/

Change-Id: If15be0f144566f86efb3be812819c0a1cab4afb4
Signed-off-by: wangjing <jing124.wang@samsung.com>
28 files changed:
content/browser/web_contents/web_contents_impl.cc
content/public/renderer/render_frame_observer.h
content/renderer/render_frame_impl.cc
content/renderer/render_frame_impl.h
third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
third_party/blink/public/common/web_preferences/web_preferences.h
third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
third_party/blink/public/mojom/webpreferences/web_preferences.mojom
third_party/blink/public/web/web_local_frame_client.h
third_party/blink/public/web/web_settings.h
third_party/blink/renderer/core/exported/web_settings_impl.cc
third_party/blink/renderer/core/exported/web_settings_impl.h
third_party/blink/renderer/core/exported/web_view_impl.cc
third_party/blink/renderer/core/frame/local_frame_client.h
third_party/blink/renderer/core/frame/local_frame_client_impl.cc
third_party/blink/renderer/core/frame/local_frame_client_impl.h
third_party/blink/renderer/core/frame/settings.json5
third_party/blink/renderer/core/input/event_handler.cc
third_party/blink/renderer/core/input/event_handler.h
third_party/blink/renderer/core/layout/hit_test_result.cc
third_party/blink/renderer/core/layout/hit_test_result.h
tizen_src/ewk/efl_integration/common/render_messages_ewk.h
tizen_src/ewk/efl_integration/eweb_view_callbacks.h
tizen_src/ewk/efl_integration/public/ewk_settings.cc
tizen_src/ewk/efl_integration/renderer/render_frame_observer_efl.cc
tizen_src/ewk/efl_integration/renderer/render_frame_observer_efl.h
tizen_src/ewk/efl_integration/web_contents_observer_efl.cc
tizen_src/ewk/efl_integration/web_contents_observer_efl.h