| Index: headless/lib/browser/headless_browser_context_impl.h
|
| diff --git a/headless/lib/browser/headless_browser_context_impl.h b/headless/lib/browser/headless_browser_context_impl.h
|
| index 688244917936123d7ac9e369501f85f4135758bb..e2820ed3d7e5264b3ef923aba100f3123590afff 100644
|
| --- a/headless/lib/browser/headless_browser_context_impl.h
|
| +++ b/headless/lib/browser/headless_browser_context_impl.h
|
| @@ -45,6 +45,12 @@ class HeadlessBrowserContextImpl : public HeadlessBrowserContext,
|
| void Close() override;
|
| const std::string& Id() const override;
|
|
|
| + void SetFrameTreeNodeId(int render_process_id,
|
| + int render_frame_id,
|
| + int frame_tree_node_id);
|
| +
|
| + void RemoveFrameTreeNode(int render_process_id, int render_frame_id);
|
| +
|
| // BrowserContext implementation:
|
| std::unique_ptr<content::ZoomLevelDelegate> CreateZoomLevelDelegate(
|
| const base::FilePath& partition_path) override;
|
| @@ -81,6 +87,10 @@ class HeadlessBrowserContextImpl : public HeadlessBrowserContext,
|
| HeadlessBrowserImpl* browser() const;
|
| const HeadlessBrowserContextOptions* options() const;
|
|
|
| + // Returns the frame tree node id for the corresponding RenderFrameHost or -1
|
| + // if it can't be found. Can be called on any thread.
|
| + int GetFrameTreeNodeId(int render_process_id, int render_frame_id) const;
|
| +
|
| private:
|
| HeadlessBrowserContextImpl(
|
| HeadlessBrowserImpl* browser,
|
| @@ -98,6 +108,9 @@ class HeadlessBrowserContextImpl : public HeadlessBrowserContext,
|
| std::unordered_map<std::string, std::unique_ptr<HeadlessWebContents>>
|
| web_contents_map_;
|
|
|
| + mutable base::Lock frame_tree_node_map_lock_; // Guards frame_tree_node_map_
|
| + std::map<std::pair<int, int>, int> frame_tree_node_map_;
|
| +
|
| std::unique_ptr<content::PermissionManager> permission_manager_;
|
|
|
| std::string id_;
|
|
|