Commit bb050716 authored by Sreeja Kamishetty's avatar Sreeja Kamishetty Committed by Chromium LUCI CQ

Add consistency AssertRenderFrameExists check for iframes

This CL adds a WebContentsObserver consistency check inside
WebContentsObserverConsistencyChecker::RenderFrameHostChanged to
make sure that for every subframe,
WebContentsObserver::RenderFrameCreated is dispatched before
WebContentsObserver::RenderFrameHostChanged.

Previous CL (https://crrev.com/c/2614467) modified the
way the RenderFrameCreated and RenderFrameHostChanged
WebContentObserver callbacks were dispatched in the case of
sub-frames, ensuring this consistency check.

BUG=1097143

Change-Id: I2564fffad342d0ebf4945166b829b1b6e1f57b3a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2628968
Commit-Queue: Sreeja Kamishetty <sreejakshetty@chromium.org>
Reviewed-by: default avatarAlex Moshchuk <alexmos@chromium.org>
Reviewed-by: default avatarAlexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#846119}
parent afbddd14
......@@ -140,6 +140,13 @@ void WebContentsObserverConsistencyChecker::RenderFrameHostChanged(
EnsureStableParentValue(new_host);
if (new_host->GetParent()) {
AssertRenderFrameExists(new_host->GetParent());
// RenderFrameCreated should be called before RenderFrameHostChanged for all
// the subframes except for Portals which do not have a live RenderFrame in
// the renderer process.
if (new_host->GetFrameOwnerElementType() !=
blink::mojom::FrameOwnerElementType::kPortal) {
AssertRenderFrameExists(new_host);
}
CHECK(current_hosts_.count(GetRoutingPair(new_host->GetParent())))
<< "Parent of frame being committed must be current.";
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment