diff options
-rw-r--r-- | src/core/net/proxying_url_loader_factory_qt.cpp | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/src/core/net/proxying_url_loader_factory_qt.cpp b/src/core/net/proxying_url_loader_factory_qt.cpp index 71f710737..a7dc8a48c 100644 --- a/src/core/net/proxying_url_loader_factory_qt.cpp +++ b/src/core/net/proxying_url_loader_factory_qt.cpp @@ -207,22 +207,15 @@ void InterceptedRequest::Start() { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - content::FrameTreeNode *frameTreeNode = nullptr; + content::WebContents *webContents = nullptr; if (process_id_) { - content::RenderFrameHostImpl *renderFrameHost = content::RenderFrameHostImpl::FromID(process_id_, - request_.render_frame_id); - if (renderFrameHost) - frameTreeNode = renderFrameHost->frame_tree_node(); - } else { - frameTreeNode = content::FrameTreeNode::GloballyFindByID(request_.render_frame_id); - } - // Follows a similar path to the root as RenderFrameHostImpl::CalculateSiteForCookies() - if (frameTreeNode && frameTreeNode->frame_tree() - && frameTreeNode->frame_tree()->root() - && frameTreeNode->frame_tree()->root()->current_frame_host()) - m_topDocumentUrl = frameTreeNode->frame_tree()->root()->current_frame_host()->GetLastCommittedURL(); - else - LOG(INFO) << "InterceptedRequest::Start() - null frameTreeNode or path to top frame"; + content::RenderFrameHost *frameHost = content::RenderFrameHost::FromID(process_id_, request_.render_frame_id); + webContents = content::WebContents::FromRenderFrameHost(frameHost); + } else + webContents = content::WebContents::FromFrameTreeNodeId(request_.render_frame_id); + + if (webContents) + m_topDocumentUrl = static_cast<content::WebContentsImpl *>(webContents)->GetLastCommittedURL(); base::PostTask(FROM_HERE, {content::BrowserThread::IO}, base::BindOnce(&InterceptedRequest::Restart, m_weakPtr)); |