diff options
author | miu <miu@chromium.org> | 2014-10-24 19:39:04 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-25 02:39:21 +0000 |
commit | 9e14e49082f175ceccaa93a3329a8816b905ae34 (patch) | |
tree | ccf163598dcb56c273407275c4854e191cb83611 /content/browser/web_contents/web_contents_impl.h | |
parent | 399aec1a45cfbcc2feb04867f03930df6628ab24 (diff) | |
download | chromium_src-9e14e49082f175ceccaa93a3329a8816b905ae34.zip chromium_src-9e14e49082f175ceccaa93a3329a8816b905ae34.tar.gz chromium_src-9e14e49082f175ceccaa93a3329a8816b905ae34.tar.bz2 |
Fix Flash fullscreen focus regressions, and add interactive_ui_tests.
This revisits focus handling logic relating to Flash fullscreen in
WebContentsImpl. Before this change, calls to WebContentsImpl::Focus()
would directly call RenderWidgetHostView::Focus(), but this prevented
WebContentsView and its delegate from "shadowing" these focus changes in
the browser UI. In other words, on Windows/Linux/CrOS, the focus state
for widgets in the ui::views toolkit were not necessarily synchronized
with the render widget's focus state (see bug for details).
90% of this change adds regression testing for everything described
above. The tests run a simulated fullscreened Flash widget, and then
invoke user keyboard and mouse actions on the browser UI to confirm both
the Flash widget and ui::views are in agreement and respond correctly to
focus changes; also, including focus store/restore when switching tabs.
BUG=403641
TEST=Repro steps in bug 403641; and also that focus remains with the omnibox or tab contents when switching back and forth to other tabs. New automated interactive_ui_tests.
Review URL: https://codereview.chromium.org/670653005
Cr-Commit-Position: refs/heads/master@{#301269}
Diffstat (limited to 'content/browser/web_contents/web_contents_impl.h')
-rw-r--r-- | content/browser/web_contents/web_contents_impl.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h index 60fdc72..c437796 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h @@ -515,6 +515,7 @@ class CONTENT_EXPORT WebContentsImpl // RenderWidgetHostDelegate -------------------------------------------------- void RenderWidgetDeleted(RenderWidgetHostImpl* render_widget_host) override; + void RenderWidgetGotFocus(RenderWidgetHostImpl* render_widget_host) override; bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, bool* is_keyboard_shortcut) override; void HandleKeyboardEvent(const NativeWebKeyboardEvent& event) override; |