<webivew> OOPIF: Correctly move focus out when reaching end of contents |
|||
Issue descriptionWhen reaching the end of the <webview> contents with --use-cross-process-frames-for-guests we end up calling: void WebContentsViewChildFrame::TakeFocus(bool reverse) Normally this would return focus from the web contents to its embedder view. In this case, we should return to the embedder renderer and advance focus to the element after the webview in tab order.
,
Dec 7 2016
WIP under review. https://codereview.chromium.org/2474323002/
,
Dec 7 2016
,
Jan 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c2ff1efb3496708d94fb12f79b3aeac6b1846b4b commit c2ff1efb3496708d94fb12f79b3aeac6b1846b4b Author: avallee <avallee@chromium.org> Date: Sat Jan 21 00:12:30 2017 Implement WebContentsViewChildFrame::TakeFocus. TakeFocus will take focus from the child and proceed to sequentially move focus in the parent WebContents. + Implement TakeFocus() ~ Move bulk of logic sending FrameMsg_AdvanceFocus to RenderFrame from RenderFrameProxyHost to RenderFrameHostImpl. ~ Prevent blink's FocusController from focusing the main frame if no frame is focused on a blur event. ~ Reenable 8 interactive browsertests for webview when using OOPIF. ~ Fix flakiness in OOPIF-webview versions of WebViewFocusInteractiveTest.FocusAndVisibility and WebViewFocusInteractiveTest.Focus_AdvanceFocus. BUG= 610819 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2474323002 Cr-Commit-Position: refs/heads/master@{#445221} [modify] https://crrev.com/c2ff1efb3496708d94fb12f79b3aeac6b1846b4b/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc [modify] https://crrev.com/c2ff1efb3496708d94fb12f79b3aeac6b1846b4b/content/browser/frame_host/render_frame_host_impl.cc [modify] https://crrev.com/c2ff1efb3496708d94fb12f79b3aeac6b1846b4b/content/browser/frame_host/render_frame_host_impl.h [modify] https://crrev.com/c2ff1efb3496708d94fb12f79b3aeac6b1846b4b/content/browser/frame_host/render_frame_proxy_host.cc [modify] https://crrev.com/c2ff1efb3496708d94fb12f79b3aeac6b1846b4b/content/browser/web_contents/web_contents_impl.cc [modify] https://crrev.com/c2ff1efb3496708d94fb12f79b3aeac6b1846b4b/content/browser/web_contents/web_contents_view_child_frame.cc [modify] https://crrev.com/c2ff1efb3496708d94fb12f79b3aeac6b1846b4b/content/common/view_messages.h [modify] https://crrev.com/c2ff1efb3496708d94fb12f79b3aeac6b1846b4b/third_party/WebKit/Source/core/page/FocusController.cpp
,
Jan 25 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f34dd22518c310f8b94bc75f4b82292f055a5f6c commit f34dd22518c310f8b94bc75f4b82292f055a5f6c Author: avallee <avallee@chromium.org> Date: Wed Jan 25 21:52:37 2017 <webview>: Synchronize WebViewFocusInteractiveTest.FocusAndVisibility Fix flakiness present on mac and re-enable the test for mac. The guest js was drastically simplified to emit only two events to the guest, button was focused and keyup. The embedder then keeps the test in sync with each keypress and then asserts that the guest button was focused or not. There is a difference between oopif and browser plugin webviews that the embedder in browserplugin might see all keyboard events and must suppress those meant for the guest and only reply once the guest has processed the keyboard input. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation BUG= 670008 , 610819 Review-Url: https://codereview.chromium.org/2648263006 Cr-Commit-Position: refs/heads/master@{#446130} [modify] https://crrev.com/f34dd22518c310f8b94bc75f4b82292f055a5f6c/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc [modify] https://crrev.com/f34dd22518c310f8b94bc75f4b82292f055a5f6c/chrome/test/data/extensions/platform_apps/web_view/focus_visibility/guest.js [modify] https://crrev.com/f34dd22518c310f8b94bc75f4b82292f055a5f6c/chrome/test/data/extensions/platform_apps/web_view/focus_visibility/window.html [modify] https://crrev.com/f34dd22518c310f8b94bc75f4b82292f055a5f6c/chrome/test/data/extensions/platform_apps/web_view/focus_visibility/window.js
,
Jan 25 2017
This should be fixed. Re-enabled some of the tests for OOPIF that broke since TakeFocus was not implemented. Had to fix flakiness on mac for one of these tests. |
|||
►
Sign in to add a comment |
|||
Comment 1 by aval...@chromium.org
, Oct 27 2016