From 4a02c770db7552b7298d8b71e061558b8d16b13a Mon Sep 17 00:00:00 2001 From: Tamas Zakor Date: Tue, 7 Apr 2020 22:48:46 +0200 Subject: Use WebContents instead of FrameTreeNode when set first party url Change-Id: Ia69b4aa17396229bf303ef231a08ff135f425249 Reviewed-by: Allan Sandfeld Jensen --- src/core/net/proxying_url_loader_factory_qt.cpp | 23 ++++++++--------------- 1 file 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(webContents)->GetLastCommittedURL(); base::PostTask(FROM_HERE, {content::BrowserThread::IO}, base::BindOnce(&InterceptedRequest::Restart, m_weakPtr)); -- cgit v1.2.3