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