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