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_; |