| Index: headless/lib/browser/headless_web_contents_impl.cc
|
| diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
|
| index aea5aefc8f15bce048c19a4e765d00e8884c8c0e..b1bd9e01b5a2107dc7ed039665ed67571e5d0172 100644
|
| --- a/headless/lib/browser/headless_web_contents_impl.cc
|
| +++ b/headless/lib/browser/headless_web_contents_impl.cc
|
| @@ -214,6 +214,12 @@ void HeadlessWebContentsImpl::RenderFrameCreated(
|
| browser()->BrowserMainThread());
|
| }
|
|
|
| + browser_context_->SetFrameTreeNodeId(render_frame_host->GetProcess()->GetID(),
|
| + render_frame_host->GetRoutingID(),
|
| + render_frame_host->GetFrameTreeNodeId());
|
| +
|
| + void RemoveFrameTreeNode(int render_process_id, int render_frame_id);
|
| +
|
| std::string devtools_agent_host_id =
|
| content::DevToolsAgentHost::GetOrCreateFor(render_frame_host)->GetId();
|
| render_frame_host_to_devtools_agent_host_id_[render_frame_host] =
|
| @@ -224,6 +230,10 @@ void HeadlessWebContentsImpl::RenderFrameCreated(
|
|
|
| void HeadlessWebContentsImpl::RenderFrameDeleted(
|
| content::RenderFrameHost* render_frame_host) {
|
| + browser_context_->RemoveFrameTreeNode(
|
| + render_frame_host->GetProcess()->GetID(),
|
| + render_frame_host->GetRoutingID());
|
| +
|
| auto find_it =
|
| render_frame_host_to_devtools_agent_host_id_.find(render_frame_host);
|
| if (find_it == render_frame_host_to_devtools_agent_host_id_.end())
|
| @@ -244,6 +254,12 @@ bool HeadlessWebContentsImpl::GetFrameTreeNodeIdForDevToolsAgentHostId(
|
| return true;
|
| }
|
|
|
| +std::string HeadlessWebContentsImpl::GetDevToolsFrameIdForFrameTreeNodeId(
|
| + int frame_tree_node_id) const {
|
| + return content::DevToolsAgentHost::GetDevToolsFrameIdForFrameTreeNodeId(
|
| + frame_tree_node_id);
|
| +}
|
| +
|
| bool HeadlessWebContentsImpl::OpenURL(const GURL& url) {
|
| if (!url.is_valid())
|
| return false;
|
|
|