summaryrefslogtreecommitdiffstats
path: root/content/browser/web_contents/web_contents_impl.h
diff options
context:
space:
mode:
authormiu <miu@chromium.org>2014-10-24 19:39:04 -0700
committerCommit bot <commit-bot@chromium.org>2014-10-25 02:39:21 +0000
commit9e14e49082f175ceccaa93a3329a8816b905ae34 (patch)
treeccf163598dcb56c273407275c4854e191cb83611 /content/browser/web_contents/web_contents_impl.h
parent399aec1a45cfbcc2feb04867f03930df6628ab24 (diff)
downloadchromium_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.h1
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;