Chromium Code Reviews| 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, |
|
Charlie Reis
2017/04/26 19:52:55
routing_id or render_frame_routing_id would be les
alex clarke (OOO till 29th)
2017/04/27 08:49:44
Done.
|
| + int frame_tree_node_id); |
| + |
| + void RemoveFrameTreeNode(int render_process_id, int render_frame_id); |
|
Charlie Reis
2017/04/26 19:52:55
Same here.
alex clarke (OOO till 29th)
2017/04/27 08:49:43
Done.
|
| + |
| // 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 |
|
Charlie Reis
2017/04/26 19:52:55
nit: FrameTreeNode id
alex clarke (OOO till 29th)
2017/04/27 08:49:43
Done.
|
| + // 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_ |
|
Charlie Reis
2017/04/26 19:52:55
Why does this need to be locked? We try hard to a
alex clarke (OOO till 29th)
2017/04/27 08:49:43
That's actually why we're adding this :) We want
Charlie Reis
2017/04/27 18:58:02
Hmm, it seems like we should avoid that when possi
alex clarke (OOO till 29th)
2017/04/28 09:14:44
Yes but only for browser side navigation requests.
Charlie Reis
2017/04/28 20:29:03
Perhaps. That's in content/common, so we can't do
alex clarke (OOO till 29th)
2017/05/02 08:24:11
Done.
|
| + std::map<std::pair<int, int>, int> frame_tree_node_map_; |
| + |
| std::unique_ptr<content::PermissionManager> permission_manager_; |
| std::string id_; |