Commit 920c212c authored by Matt Menke's avatar Matt Menke Committed by Commit Bot

Remove GetIsolationInfo() call in third_party_metrics_observer DCHECK.

NavigationHandle::GetIsolationInfo() calls into RenderFrameTreeNode and
RenderFrameImpl to calculate the IsolationInfo for navigation. This in
turn calls into other RenderFrameTreeNodes.

ThirdPartyMetricsObserver::OnDidFinishSubFrameNavigation(), which is
where the DCHECK is, can be called in the destructor of a
RenderFrameImpl and RenderFrameTreeNode, so this re-entrancy while in
the middle of a destructor. Worse, we could already have deleted the
other RenderFrameTreeNodes at this point, resulting in dereferencing
a destroyed object.

Fixed: 1070142
Change-Id: I1d2122ce867160cabfbad6499177c276fd66956a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2146933Reviewed-by: default avatarJosh Karlin <jkarlin@chromium.org>
Commit-Queue: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#758511}
parent 03e2eacd
......@@ -160,8 +160,6 @@ void ThirdPartyMetricsObserver::OnDidFinishSubFrameNavigation(
content::NavigationHandle* navigation_handle) {
largest_contentful_paint_handler_.OnDidFinishSubFrameNavigation(
navigation_handle, GetDelegate());
DCHECK(navigation_handle->GetIsolationInfo().top_frame_origin());
if (!navigation_handle->HasCommitted())
return;
......
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