Chromium Code Reviews
DescriptionFix 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.
Committed: https://crrev.com/9e14e49082f175ceccaa93a3329a8816b905ae34
Cr-Commit-Position: refs/heads/master@{#301269}
Patch Set 1 #
Total comments: 6
Patch Set 2 : rebase #Patch Set 3 : Addressed ppapi/* nits. #
Total comments: 2
Patch Set 4 : Dedupe code in WebContentsViewMac. #
Total comments: 4
Patch Set 5 : Remove consts in ObjC code. #Messages
Total messages: 22 (5 generated)
|