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

Issue 2623483003: Support tracking focused node element for OOPIFs. (Closed)

Created:
3 years, 11 months ago by EhsanK
Modified:
3 years, 11 months ago
Reviewers:
Charlie Reis
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, yusukes+watch_chromium.org, shuchen+watch_chromium.org, nasko+codewatch_chromium.org, jam, jbauman+watch_chromium.org, nona+watch_chromium.org, darin-cc_chromium.org, piman+watch_chromium.org, kalyank, danakj+watch_chromium.org, James Su
Target Ref:
refs/pending/branch-heads/2924
Project:
chromium
Visibility:
Public.

Description

Support tracking focused node element for OOPIFs. Focused elements are tracked by RenderViewHostImpl. Upon a change in focused element, RenderViewImpl sends ViewHostMsg_FocusedNodeChanged to the browser. With --site-per-process, RenderViewImpl corresponding to OOPIFs is swapped out and cannot send the IPC. Even by allowing sending such IPCs in swapped out state, the RenderViewHost cannot properly handle them when there are multiple RenderWidgetHosts (same process) on the page. This is now causing regressions with OSK for windows tablets. This CL will move the logic from RenderViewImpl to RenderFrameImpl. When focus moves from one WebNode to another, the corresponding frames are already getting notified by RenderViewImpl. This CL relieves RenderViewImpl from sending the IPC, and reuses the RenderFrameImpl::FocusNodeChanged() for sending the update to RenderFrameHostImpl, which then stores the state and notifies its delegate (WebContentsImpl) about the change. For similar reasons, the logic to update FocusedNodeTouched is removed from RenderViewImpl to RenderWidget and is now handled by RenderWidgetHostImpl. The public API methods in RenderViewHost are unchanged but they are now handled through RenderViewHostDelegate (WebContentsImpl), which will query the information or send the command through the focused frame. BUG=613326 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation NOTRY=true NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2571583008 Cr-Commit-Position: refs/heads/master@{#440185} (cherry picked from commit a110f64a89bad15abb5322be8e720fae40a0f7f1) Review-Url: https://codereview.chromium.org/2623483003 Cr-Commit-Position: refs/branch-heads/2924@{#717} Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059} Committed: https://chromium.googlesource.com/chromium/src/+/5148b7c299c9adc09ca11cce1b16fe33febf749e

Patch Set 1 #

Patch Set 2 : Fixing merge conflict issues #

Patch Set 3 : Added the missing forward declaration #

Unified diffs Side-by-side diffs Delta from patch set Stats (+312 lines, -112 lines) Patch
M chrome/browser/renderer_host/site_per_process_text_input_browsertest.cc View 3 chunks +106 lines, -1 line 0 comments Download
M content/browser/frame_host/render_frame_host_delegate.h View 1 2 2 chunks +13 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.h View 3 chunks +11 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 4 chunks +21 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_view_host_delegate.h View 1 chunk +8 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_view_host_delegate.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_view_host_impl.h View 2 chunks +0 lines, -6 lines 0 comments Download
M content/browser/renderer_host/render_view_host_impl.cc View 7 chunks +7 lines, -53 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_delegate.h View 1 1 chunk +5 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.h View 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_aura.cc View 2 chunks +3 lines, -1 line 0 comments Download
M content/browser/web_contents/web_contents_impl.h View 1 3 chunks +6 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 5 chunks +58 lines, -0 lines 0 comments Download
M content/common/frame_messages.h View 2 chunks +12 lines, -0 lines 0 comments Download
M content/common/view_messages.h View 2 chunks +0 lines, -11 lines 0 comments Download
M content/public/test/text_input_test_utils.h View 2 chunks +4 lines, -0 lines 0 comments Download
M content/public/test/text_input_test_utils.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M content/renderer/render_frame_impl.h View 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 3 chunks +20 lines, -0 lines 0 comments Download
M content/renderer/render_view_browsertest.cc View 1 chunk +7 lines, -7 lines 0 comments Download
M content/renderer/render_view_impl.h View 1 chunk +0 lines, -1 line 0 comments Download
M content/renderer/render_view_impl.cc View 4 chunks +0 lines, -32 lines 0 comments Download
M content/renderer/render_widget.cc View 1 chunk +13 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (5 generated)
EhsanK
Hi Charlie, There were some merge conflicts so I did this one manually. I am ...
3 years, 11 months ago (2017-01-10 00:22:50 UTC) #2
Charlie Reis
On 2017/01/10 00:22:50, EhsanK wrote: > Hi Charlie, > > There were some merge conflicts ...
3 years, 11 months ago (2017-01-10 00:50:31 UTC) #3
EhsanK
Thanks Charlie! The last patch compiles just fine on Linux and Windows. I verified the ...
3 years, 11 months ago (2017-01-10 17:35:23 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/2623483003/40001
3 years, 11 months ago (2017-01-10 17:35:48 UTC) #7
commit-bot: I haz the power
3 years, 11 months ago (2017-01-10 17:38:21 UTC) #10
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://chromium.googlesource.com/chromium/src/+/5148b7c299c9adc09ca11cce1b16...

Powered by Google App Engine
This is Rietveld 408576698