OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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_DEVTOOLS_CLIENT_IMPL_H_ | 5 #ifndef HEADLESS_LIB_BROWSER_HEADLESS_DEVTOOLS_CLIENT_IMPL_H_ |
6 #define HEADLESS_LIB_BROWSER_HEADLESS_DEVTOOLS_CLIENT_IMPL_H_ | 6 #define HEADLESS_LIB_BROWSER_HEADLESS_DEVTOOLS_CLIENT_IMPL_H_ |
7 | 7 |
8 #include <unordered_map> | 8 #include <unordered_map> |
9 | 9 |
10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
11 #include "base/single_thread_task_runner.h" | 11 #include "base/single_thread_task_runner.h" |
12 #include "content/public/browser/devtools_agent_host_client.h" | 12 #include "content/public/browser/devtools_agent_host_client.h" |
13 #include "headless/public/domains/accessibility.h" | 13 #include "headless/public/domains/accessibility.h" |
14 #include "headless/public/domains/animation.h" | 14 #include "headless/public/domains/animation.h" |
15 #include "headless/public/domains/application_cache.h" | 15 #include "headless/public/domains/application_cache.h" |
16 #include "headless/public/domains/browser.h" | |
17 #include "headless/public/domains/cache_storage.h" | 16 #include "headless/public/domains/cache_storage.h" |
18 #include "headless/public/domains/console.h" | 17 #include "headless/public/domains/console.h" |
19 #include "headless/public/domains/css.h" | 18 #include "headless/public/domains/css.h" |
20 #include "headless/public/domains/database.h" | 19 #include "headless/public/domains/database.h" |
21 #include "headless/public/domains/debugger.h" | 20 #include "headless/public/domains/debugger.h" |
22 #include "headless/public/domains/device_orientation.h" | 21 #include "headless/public/domains/device_orientation.h" |
23 #include "headless/public/domains/dom.h" | 22 #include "headless/public/domains/dom.h" |
24 #include "headless/public/domains/dom_debugger.h" | 23 #include "headless/public/domains/dom_debugger.h" |
25 #include "headless/public/domains/dom_storage.h" | 24 #include "headless/public/domains/dom_storage.h" |
26 #include "headless/public/domains/emulation.h" | 25 #include "headless/public/domains/emulation.h" |
27 #include "headless/public/domains/heap_profiler.h" | 26 #include "headless/public/domains/heap_profiler.h" |
28 #include "headless/public/domains/indexeddb.h" | 27 #include "headless/public/domains/indexeddb.h" |
29 #include "headless/public/domains/input.h" | 28 #include "headless/public/domains/input.h" |
30 #include "headless/public/domains/inspector.h" | 29 #include "headless/public/domains/inspector.h" |
31 #include "headless/public/domains/io.h" | 30 #include "headless/public/domains/io.h" |
32 #include "headless/public/domains/layer_tree.h" | 31 #include "headless/public/domains/layer_tree.h" |
33 #include "headless/public/domains/log.h" | 32 #include "headless/public/domains/log.h" |
34 #include "headless/public/domains/memory.h" | 33 #include "headless/public/domains/memory.h" |
35 #include "headless/public/domains/network.h" | 34 #include "headless/public/domains/network.h" |
36 #include "headless/public/domains/page.h" | 35 #include "headless/public/domains/page.h" |
37 #include "headless/public/domains/profiler.h" | 36 #include "headless/public/domains/profiler.h" |
38 #include "headless/public/domains/rendering.h" | 37 #include "headless/public/domains/rendering.h" |
39 #include "headless/public/domains/runtime.h" | 38 #include "headless/public/domains/runtime.h" |
40 #include "headless/public/domains/security.h" | 39 #include "headless/public/domains/security.h" |
41 #include "headless/public/domains/service_worker.h" | 40 #include "headless/public/domains/service_worker.h" |
| 41 #include "headless/public/domains/target.h" |
42 #include "headless/public/domains/tracing.h" | 42 #include "headless/public/domains/tracing.h" |
43 #include "headless/public/domains/worker.h" | 43 #include "headless/public/domains/worker.h" |
44 #include "headless/public/headless_devtools_client.h" | 44 #include "headless/public/headless_devtools_client.h" |
45 #include "headless/public/internal/message_dispatcher.h" | 45 #include "headless/public/internal/message_dispatcher.h" |
46 | 46 |
47 namespace base { | 47 namespace base { |
48 class DictionaryValue; | 48 class DictionaryValue; |
49 } | 49 } |
50 | 50 |
51 namespace content { | 51 namespace content { |
52 class DevToolsAgentHost; | 52 class DevToolsAgentHost; |
53 } | 53 } |
54 | 54 |
55 namespace headless { | 55 namespace headless { |
56 | 56 |
57 class HeadlessDevToolsClientImpl : public HeadlessDevToolsClient, | 57 class HeadlessDevToolsClientImpl : public HeadlessDevToolsClient, |
58 public content::DevToolsAgentHostClient, | 58 public content::DevToolsAgentHostClient, |
59 public internal::MessageDispatcher { | 59 public internal::MessageDispatcher { |
60 public: | 60 public: |
61 HeadlessDevToolsClientImpl(); | 61 HeadlessDevToolsClientImpl(); |
62 ~HeadlessDevToolsClientImpl() override; | 62 ~HeadlessDevToolsClientImpl() override; |
63 | 63 |
64 static HeadlessDevToolsClientImpl* From(HeadlessDevToolsClient* client); | 64 static HeadlessDevToolsClientImpl* From(HeadlessDevToolsClient* client); |
65 | 65 |
66 // HeadlessDevToolsClient implementation: | 66 // HeadlessDevToolsClient implementation: |
67 accessibility::Domain* GetAccessibility() override; | 67 accessibility::Domain* GetAccessibility() override; |
68 animation::Domain* GetAnimation() override; | 68 animation::Domain* GetAnimation() override; |
69 application_cache::Domain* GetApplicationCache() override; | 69 application_cache::Domain* GetApplicationCache() override; |
70 browser::Domain* GetBrowser() override; | |
71 cache_storage::Domain* GetCacheStorage() override; | 70 cache_storage::Domain* GetCacheStorage() override; |
72 console::Domain* GetConsole() override; | 71 console::Domain* GetConsole() override; |
73 css::Domain* GetCSS() override; | 72 css::Domain* GetCSS() override; |
74 database::Domain* GetDatabase() override; | 73 database::Domain* GetDatabase() override; |
75 debugger::Domain* GetDebugger() override; | 74 debugger::Domain* GetDebugger() override; |
76 device_orientation::Domain* GetDeviceOrientation() override; | 75 device_orientation::Domain* GetDeviceOrientation() override; |
77 dom::Domain* GetDOM() override; | 76 dom::Domain* GetDOM() override; |
78 dom_debugger::Domain* GetDOMDebugger() override; | 77 dom_debugger::Domain* GetDOMDebugger() override; |
79 dom_storage::Domain* GetDOMStorage() override; | 78 dom_storage::Domain* GetDOMStorage() override; |
80 emulation::Domain* GetEmulation() override; | 79 emulation::Domain* GetEmulation() override; |
81 heap_profiler::Domain* GetHeapProfiler() override; | 80 heap_profiler::Domain* GetHeapProfiler() override; |
82 indexeddb::Domain* GetIndexedDB() override; | 81 indexeddb::Domain* GetIndexedDB() override; |
83 input::Domain* GetInput() override; | 82 input::Domain* GetInput() override; |
84 inspector::Domain* GetInspector() override; | 83 inspector::Domain* GetInspector() override; |
85 io::Domain* GetIO() override; | 84 io::Domain* GetIO() override; |
86 layer_tree::Domain* GetLayerTree() override; | 85 layer_tree::Domain* GetLayerTree() override; |
87 log::Domain* GetLog() override; | 86 log::Domain* GetLog() override; |
88 memory::Domain* GetMemory() override; | 87 memory::Domain* GetMemory() override; |
89 network::Domain* GetNetwork() override; | 88 network::Domain* GetNetwork() override; |
90 page::Domain* GetPage() override; | 89 page::Domain* GetPage() override; |
91 profiler::Domain* GetProfiler() override; | 90 profiler::Domain* GetProfiler() override; |
92 rendering::Domain* GetRendering() override; | 91 rendering::Domain* GetRendering() override; |
93 runtime::Domain* GetRuntime() override; | 92 runtime::Domain* GetRuntime() override; |
94 security::Domain* GetSecurity() override; | 93 security::Domain* GetSecurity() override; |
95 service_worker::Domain* GetServiceWorker() override; | 94 service_worker::Domain* GetServiceWorker() override; |
| 95 target::Domain* GetTarget() override; |
96 tracing::Domain* GetTracing() override; | 96 tracing::Domain* GetTracing() override; |
97 worker::Domain* GetWorker() override; | 97 worker::Domain* GetWorker() override; |
98 | 98 |
99 // content::DevToolstAgentHostClient implementation: | 99 // content::DevToolstAgentHostClient implementation: |
100 void DispatchProtocolMessage(content::DevToolsAgentHost* agent_host, | 100 void DispatchProtocolMessage(content::DevToolsAgentHost* agent_host, |
101 const std::string& json_message) override; | 101 const std::string& json_message) override; |
102 void AgentHostClosed(content::DevToolsAgentHost* agent_host, | 102 void AgentHostClosed(content::DevToolsAgentHost* agent_host, |
103 bool replaced_with_another_client) override; | 103 bool replaced_with_another_client) override; |
104 | 104 |
105 // internal::MessageDispatcher implementation: | 105 // internal::MessageDispatcher implementation: |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 | 161 |
162 content::DevToolsAgentHost* agent_host_; // Not owned. | 162 content::DevToolsAgentHost* agent_host_; // Not owned. |
163 int next_message_id_; | 163 int next_message_id_; |
164 std::unordered_map<int, Callback> pending_messages_; | 164 std::unordered_map<int, Callback> pending_messages_; |
165 | 165 |
166 EventHandlerMap event_handlers_; | 166 EventHandlerMap event_handlers_; |
167 | 167 |
168 accessibility::ExperimentalDomain accessibility_domain_; | 168 accessibility::ExperimentalDomain accessibility_domain_; |
169 animation::ExperimentalDomain animation_domain_; | 169 animation::ExperimentalDomain animation_domain_; |
170 application_cache::ExperimentalDomain application_cache_domain_; | 170 application_cache::ExperimentalDomain application_cache_domain_; |
171 browser::ExperimentalDomain browser_domain_; | |
172 cache_storage::ExperimentalDomain cache_storage_domain_; | 171 cache_storage::ExperimentalDomain cache_storage_domain_; |
173 console::ExperimentalDomain console_domain_; | 172 console::ExperimentalDomain console_domain_; |
174 css::ExperimentalDomain css_domain_; | 173 css::ExperimentalDomain css_domain_; |
175 database::ExperimentalDomain database_domain_; | 174 database::ExperimentalDomain database_domain_; |
176 debugger::ExperimentalDomain debugger_domain_; | 175 debugger::ExperimentalDomain debugger_domain_; |
177 device_orientation::ExperimentalDomain device_orientation_domain_; | 176 device_orientation::ExperimentalDomain device_orientation_domain_; |
178 dom_debugger::ExperimentalDomain dom_debugger_domain_; | 177 dom_debugger::ExperimentalDomain dom_debugger_domain_; |
179 dom::ExperimentalDomain dom_domain_; | 178 dom::ExperimentalDomain dom_domain_; |
180 dom_storage::ExperimentalDomain dom_storage_domain_; | 179 dom_storage::ExperimentalDomain dom_storage_domain_; |
181 emulation::ExperimentalDomain emulation_domain_; | 180 emulation::ExperimentalDomain emulation_domain_; |
182 heap_profiler::ExperimentalDomain heap_profiler_domain_; | 181 heap_profiler::ExperimentalDomain heap_profiler_domain_; |
183 indexeddb::ExperimentalDomain indexeddb_domain_; | 182 indexeddb::ExperimentalDomain indexeddb_domain_; |
184 input::ExperimentalDomain input_domain_; | 183 input::ExperimentalDomain input_domain_; |
185 inspector::ExperimentalDomain inspector_domain_; | 184 inspector::ExperimentalDomain inspector_domain_; |
186 io::ExperimentalDomain io_domain_; | 185 io::ExperimentalDomain io_domain_; |
187 layer_tree::ExperimentalDomain layer_tree_domain_; | 186 layer_tree::ExperimentalDomain layer_tree_domain_; |
188 log::ExperimentalDomain log_domain_; | 187 log::ExperimentalDomain log_domain_; |
189 memory::ExperimentalDomain memory_domain_; | 188 memory::ExperimentalDomain memory_domain_; |
190 network::ExperimentalDomain network_domain_; | 189 network::ExperimentalDomain network_domain_; |
191 page::ExperimentalDomain page_domain_; | 190 page::ExperimentalDomain page_domain_; |
192 profiler::ExperimentalDomain profiler_domain_; | 191 profiler::ExperimentalDomain profiler_domain_; |
193 rendering::ExperimentalDomain rendering_domain_; | 192 rendering::ExperimentalDomain rendering_domain_; |
194 runtime::ExperimentalDomain runtime_domain_; | 193 runtime::ExperimentalDomain runtime_domain_; |
195 security::ExperimentalDomain security_domain_; | 194 security::ExperimentalDomain security_domain_; |
196 service_worker::ExperimentalDomain service_worker_domain_; | 195 service_worker::ExperimentalDomain service_worker_domain_; |
| 196 target::ExperimentalDomain target_domain_; |
197 tracing::ExperimentalDomain tracing_domain_; | 197 tracing::ExperimentalDomain tracing_domain_; |
198 worker::ExperimentalDomain worker_domain_; | 198 worker::ExperimentalDomain worker_domain_; |
199 scoped_refptr<base::SingleThreadTaskRunner> browser_main_thread_; | 199 scoped_refptr<base::SingleThreadTaskRunner> browser_main_thread_; |
200 base::WeakPtrFactory<HeadlessDevToolsClientImpl> weak_ptr_factory_; | 200 base::WeakPtrFactory<HeadlessDevToolsClientImpl> weak_ptr_factory_; |
201 | 201 |
202 DISALLOW_COPY_AND_ASSIGN(HeadlessDevToolsClientImpl); | 202 DISALLOW_COPY_AND_ASSIGN(HeadlessDevToolsClientImpl); |
203 }; | 203 }; |
204 | 204 |
205 } // namespace headless | 205 } // namespace headless |
206 | 206 |
207 #endif // HEADLESS_LIB_BROWSER_HEADLESS_DEVTOOLS_CLIENT_IMPL_H_ | 207 #endif // HEADLESS_LIB_BROWSER_HEADLESS_DEVTOOLS_CLIENT_IMPL_H_ |
OLD | NEW |