Chromium Code Reviews
DescriptionFix a recent regression in IME inside OOPIFs (Merge to M-57)
IME events are only processed at the renderer if there is widget/page
focus. This used to be done by checking the variabel m_imeAcceptEvents
inside WebFrameWidgetImpl which technically tracks the page focus.
After a recent refactoring, the logic for verifying page focus was moved
to RenderWidget which saves the unnecessary call to
WebInputMethodController IME methods when page is not focused. But
unfortunately this broke IME because page focus
(RenderWidget::has_focus_) does not get updated for RenderWidgets
corresponding to OOPIFs. The only reason it was working before was that
m_imeAcceptEvents is initialized to |true| and stay because we never
update page focus for WebFrameWidgetImpl.
This CL will temporarily allow handling all IME events by checking if
the RenderWidget is for an OOPIF. This will revert the behvaior to that
of prior to the refactoring.
This CL also adds an interactive browser test which catches regressions
of this sort on Mac and Aura platforms.
BUG=688842, 602723
NOTRY=TRUE
NOPRESUBMIT=TRUE
Review-Url: https://codereview.chromium.org/2681473002
Cr-Commit-Position: refs/heads/master@{#449521}
(cherry picked from commit b6483a05119a0ebb57d3968783371c119a83d49c)
Review-Url: https://codereview.chromium.org/2696883002
Cr-Commit-Position: refs/branch-heads/2987@{#509}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}
Committed: https://chromium.googlesource.com/chromium/src/+/ba75a5aca3afb730adf8699e9f6951031291d58a
Patch Set 1 #
Messages
Total messages: 9 (5 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||