Chromium Code Reviews
DescriptionSupport 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 #Messages
Total messages: 10 (5 generated)
|