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
TBR=creis@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
Committed: https://crrev.com/a110f64a89bad15abb5322be8e720fae40a0f7f1
Cr-Commit-Position: refs/heads/master@{#440185}
Patch Set 1 #Patch Set 2 : Fixed some compile errors #
Total comments: 20
Patch Set 3 : Rebased #Patch Set 4 : Addressing comments #Patch Set 5 : Fix missing from previous patch #
Total comments: 1
Patch Set 6 : Addressing comment + Added bug number to TODO #
Total comments: 6
Patch Set 7 : Addressed nasko@'s comments #Patch Set 8 : Do not call ScrollFocusedEditableNodeIntoRect for OOPIFs. #
Total comments: 4
Messages
Total messages: 58 (42 generated)
|