Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Issue 2696883002: Fix a recent regression in IME inside OOPIFs (Merge to M-57) (Closed)

Created:
3 years, 10 months ago by EhsanK
Modified:
3 years, 10 months ago
Reviewers:
Charlie Reis
CC:
chromium-reviews, jam, darin-cc_chromium.org, mlamouri+watch-content_chromium.org, site-isolation-reviews_chromium.org
Target Ref:
refs/pending/branch-heads/2987
Project:
chromium
Visibility:
Public.

Description

Fix 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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+114 lines, -5 lines) Patch
M chrome/browser/renderer_host/site_per_process_text_input_browsertest.cc View 2 chunks +72 lines, -0 lines 0 comments Download
M content/public/test/text_input_test_utils.h View 3 chunks +14 lines, -1 line 0 comments Download
M content/public/test/text_input_test_utils.cc View 3 chunks +19 lines, -2 lines 0 comments Download
M content/renderer/render_widget.cc View 2 chunks +9 lines, -2 lines 0 comments Download

Messages

Total messages: 9 (5 generated)
EhsanK
Please take a look. Thanks!
3 years, 10 months ago (2017-02-14 20:41:29 UTC) #3
Charlie Reis
RS LGTM given Alex's review of https://codereview.chromium.org/2681473002/
3 years, 10 months ago (2017-02-14 21:12:12 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2696883002/1
3 years, 10 months ago (2017-02-14 21:17:56 UTC) #6
commit-bot: I haz the power
3 years, 10 months ago (2017-02-14 21:22:27 UTC) #9
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://chromium.googlesource.com/chromium/src/+/ba75a5aca3afb730adf8699e9f69...

Powered by Google App Engine
This is Rietveld 408576698