DescriptionDon't route a non-frame widget's keyboard event to main frame widget.
After keyboard event routing was updated for out-of-process iframes
(https://codereview.chromium.org/1405293002/), we started routing all
events to the main frame when site isolation is disabled. This works
fine for things like popup menu widgets, since Blink contains a
codepath for forwarding input events to an active popup widget, if it
exists (see m_pagePopup check in WebViewImpl::handleKeyEvent()) -- so
both before and after, we reach the handling in
WebPagePopupImpl::handleKeyEvent. Unfortunately, that forwarding
doesn't get hit for fullscreen widgets create for Pepper Flash, so
those widgets fail to receive keyboard events properly.
This CL changes keyboard event routing so that it won't try to look up
focused frames when keyboard events arrive at anything other than the
main frame widget. I.e., all non-frame widgets like popup menus will
handle key events directly, as was the case before
https://codereview.chromium.org/1405293002/.
BUG=555524
Committed: https://crrev.com/c4cbacbea47af5c139bb8ed7a51e8d22ff2a97fd
Cr-Commit-Position: refs/heads/master@{#360980}
Patch Set 1 #
Total comments: 8
Patch Set 2 : Address Charlie's comments #
Messages
Total messages: 9 (2 generated)
|