OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef HEADLESS_LIB_BROWSER_HEADLESS_WEB_CONTENTS_IMPL_H_ | 5 #ifndef HEADLESS_LIB_BROWSER_HEADLESS_WEB_CONTENTS_IMPL_H_ |
6 #define HEADLESS_LIB_BROWSER_HEADLESS_WEB_CONTENTS_IMPL_H_ | 6 #define HEADLESS_LIB_BROWSER_HEADLESS_WEB_CONTENTS_IMPL_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 HeadlessBrowserContextImpl* browser_context); | 53 HeadlessBrowserContextImpl* browser_context); |
54 | 54 |
55 // HeadlessWebContents implementation: | 55 // HeadlessWebContents implementation: |
56 void AddObserver(Observer* observer) override; | 56 void AddObserver(Observer* observer) override; |
57 void RemoveObserver(Observer* observer) override; | 57 void RemoveObserver(Observer* observer) override; |
58 HeadlessDevToolsTarget* GetDevToolsTarget() override; | 58 HeadlessDevToolsTarget* GetDevToolsTarget() override; |
59 HeadlessTabSocket* GetHeadlessTabSocket() const override; | 59 HeadlessTabSocket* GetHeadlessTabSocket() const override; |
60 bool GetFrameTreeNodeIdForDevToolsAgentHostId( | 60 bool GetFrameTreeNodeIdForDevToolsAgentHostId( |
61 const std::string& devtools_agent_host_id, | 61 const std::string& devtools_agent_host_id, |
62 int* frame_tree_node_id) const override; | 62 int* frame_tree_node_id) const override; |
| 63 std::string GetUntrustedDevToolsFrameIdForFrameTreeNodeId( |
| 64 int process_id, |
| 65 int frame_tree_node_id) const override; |
| 66 int GetMainFrameRenderProcessId() const override; |
63 | 67 |
64 // HeadlessDevToolsTarget implementation: | 68 // HeadlessDevToolsTarget implementation: |
65 bool AttachClient(HeadlessDevToolsClient* client) override; | 69 bool AttachClient(HeadlessDevToolsClient* client) override; |
66 void ForceAttachClient(HeadlessDevToolsClient* client) override; | 70 void ForceAttachClient(HeadlessDevToolsClient* client) override; |
67 void DetachClient(HeadlessDevToolsClient* client) override; | 71 void DetachClient(HeadlessDevToolsClient* client) override; |
68 bool IsAttached() override; | 72 bool IsAttached() override; |
69 | 73 |
70 // content::DevToolsAgentHostObserver implementation: | 74 // content::DevToolsAgentHostObserver implementation: |
71 void DevToolsAgentHostAttached( | 75 void DevToolsAgentHostAttached( |
72 content::DevToolsAgentHost* agent_host) override; | 76 content::DevToolsAgentHost* agent_host) override; |
(...skipping 20 matching lines...) Expand all Loading... |
93 HeadlessBrowserImpl* browser() const; | 97 HeadlessBrowserImpl* browser() const; |
94 HeadlessBrowserContextImpl* browser_context() const; | 98 HeadlessBrowserContextImpl* browser_context() const; |
95 | 99 |
96 void set_window_tree_host(std::unique_ptr<HeadlessWindowTreeHost> host) { | 100 void set_window_tree_host(std::unique_ptr<HeadlessWindowTreeHost> host) { |
97 window_tree_host_ = std::move(host); | 101 window_tree_host_ = std::move(host); |
98 } | 102 } |
99 HeadlessWindowTreeHost* window_tree_host() const { | 103 HeadlessWindowTreeHost* window_tree_host() const { |
100 return window_tree_host_.get(); | 104 return window_tree_host_.get(); |
101 } | 105 } |
102 | 106 |
103 // Returns the devtools frame id corresponding to the |frame_tree_node_id|, if | |
104 // any. Note this relies on an IPC sent from blink during navigation. | |
105 std::string GetUntrustedDevToolsFrameIdForFrameTreeNodeId( | |
106 int process_id, | |
107 int frame_tree_node_id) const; | |
108 | |
109 int GetMainFrameRenderProcessId() const; | |
110 | |
111 private: | 107 private: |
112 // Takes ownership of |web_contents|. | 108 // Takes ownership of |web_contents|. |
113 HeadlessWebContentsImpl(content::WebContents* web_contents, | 109 HeadlessWebContentsImpl(content::WebContents* web_contents, |
114 HeadlessBrowserContextImpl* browser_context); | 110 HeadlessBrowserContextImpl* browser_context); |
115 | 111 |
116 void InitializeScreen(const gfx::Size& initial_size); | 112 void InitializeScreen(const gfx::Size& initial_size); |
117 using MojoService = HeadlessWebContents::Builder::MojoService; | 113 using MojoService = HeadlessWebContents::Builder::MojoService; |
118 | 114 |
119 std::unordered_map<content::RenderFrameHost*, std::string> | 115 std::unordered_map<content::RenderFrameHost*, std::string> |
120 render_frame_host_to_devtools_agent_host_id_; | 116 render_frame_host_to_devtools_agent_host_id_; |
(...skipping 16 matching lines...) Expand all Loading... |
137 std::unordered_map<HeadlessWebContents::Observer*, | 133 std::unordered_map<HeadlessWebContents::Observer*, |
138 std::unique_ptr<WebContentsObserverAdapter>>; | 134 std::unique_ptr<WebContentsObserverAdapter>>; |
139 ObserverMap observer_map_; | 135 ObserverMap observer_map_; |
140 | 136 |
141 DISALLOW_COPY_AND_ASSIGN(HeadlessWebContentsImpl); | 137 DISALLOW_COPY_AND_ASSIGN(HeadlessWebContentsImpl); |
142 }; | 138 }; |
143 | 139 |
144 } // namespace headless | 140 } // namespace headless |
145 | 141 |
146 #endif // HEADLESS_LIB_BROWSER_HEADLESS_WEB_CONTENTS_IMPL_H_ | 142 #endif // HEADLESS_LIB_BROWSER_HEADLESS_WEB_CONTENTS_IMPL_H_ |
OLD | NEW |