New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 610819 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug

Blocking:
issue 610795



Sign in to add a comment

<webivew> OOPIF: Correctly move focus out when reaching end of contents

Project Member Reported by aval...@chromium.org, May 10 2016

Issue description

When 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.


 
Status: Started (was: Available)
WIP under review. https://codereview.chromium.org/2474323002/
Blocking: 610795
Project Member

Comment 4 by bugdroid1@chromium.org, 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

Project Member

Comment 5 by bugdroid1@chromium.org, 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

Status: Fixed (was: Started)
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