Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(281)

Unified Diff: headless/lib/browser/headless_browser_context_impl.h

Issue 2830753004: Pipe the devTools FrameId from blink into the browser for headless (Closed)
Patch Set: Rebased Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..05c595cb09a8f9caa0ac3cb845dcf2b3440e5b60 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_routing_id,
+ int frame_tree_node_id);
+
+ void RemoveFrameTreeNode(int render_process_id, int render_frame_routing_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 FrameTreeNode 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_
Charlie Reis 2017/04/27 18:58:02 If we need to keep this, please include more comme
alex clarke (OOO till 29th) 2017/04/28 09:14:44 Done.
+ std::map<std::pair<int, int>, int> frame_tree_node_map_;
+
std::unique_ptr<content::PermissionManager> permission_manager_;
std::string id_;

Powered by Google App Engine
This is Rietveld 408576698