Commit 247e78f7 authored by ckitagawa's avatar ckitagawa Committed by Commit Bot

[Paint Preview] Check if RFH is live

Add additional checks to make sure RFH is alive.

Change-Id: I83fee50ebb88f342dfca8b8f4bb37f3a4f73901a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2533521
Auto-Submit: Calder Kitagawa <ckitagawa@chromium.org>
Reviewed-by: default avatarMehran Mahmoudi <mahmoudi@chromium.org>
Commit-Queue: Mehran Mahmoudi <mahmoudi@chromium.org>
Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
Cr-Commit-Position: refs/heads/master@{#826537}
parent cfe3739c
...@@ -251,12 +251,14 @@ void PaintPreviewTabService::CaptureTabInternal( ...@@ -251,12 +251,14 @@ void PaintPreviewTabService::CaptureTabInternal(
content::WebContents::FromFrameTreeNodeId(frame_tree_node_id); content::WebContents::FromFrameTreeNodeId(frame_tree_node_id);
auto* rfh = content::RenderFrameHost::FromID(frame_routing_id); auto* rfh = content::RenderFrameHost::FromID(frame_routing_id);
if (!contents || !rfh || contents->IsBeingDestroyed() || if (!contents || !rfh || contents->IsBeingDestroyed() ||
contents->GetMainFrame() != rfh || !rfh->IsCurrent()) { contents->GetMainFrame() != rfh || !rfh->IsCurrent() ||
!rfh->IsRenderFrameCreated() || !rfh->IsRenderFrameLive()) {
std::move(callback).Run(Status::kWebContentsGone); std::move(callback).Run(Status::kWebContentsGone);
return; return;
} }
CapturePaintPreview( CapturePaintPreview(
contents, file_path.value(), gfx::Rect(), true, kMaxPerCaptureSizeBytes, contents, rfh, file_path.value(), gfx::Rect(), true,
kMaxPerCaptureSizeBytes,
base::BindOnce(&PaintPreviewTabService::OnCaptured, base::BindOnce(&PaintPreviewTabService::OnCaptured,
weak_ptr_factory_.GetWeakPtr(), tab_id, key, weak_ptr_factory_.GetWeakPtr(), tab_id, key,
frame_tree_node_id, std::move(callback))); frame_tree_node_id, std::move(callback)));
......
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