| 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" |
| 11 #include "base/single_thread_task_runner.h" |
| 10 #include "content/public/browser/devtools_agent_host_client.h" | 12 #include "content/public/browser/devtools_agent_host_client.h" |
| 11 #include "headless/public/domains/accessibility.h" | 13 #include "headless/public/domains/accessibility.h" |
| 12 #include "headless/public/domains/animation.h" | 14 #include "headless/public/domains/animation.h" |
| 13 #include "headless/public/domains/application_cache.h" | 15 #include "headless/public/domains/application_cache.h" |
| 14 #include "headless/public/domains/browser.h" | 16 #include "headless/public/domains/browser.h" |
| 15 #include "headless/public/domains/cache_storage.h" | 17 #include "headless/public/domains/cache_storage.h" |
| 16 #include "headless/public/domains/console.h" | 18 #include "headless/public/domains/console.h" |
| 17 #include "headless/public/domains/css.h" | 19 #include "headless/public/domains/css.h" |
| 18 #include "headless/public/domains/database.h" | 20 #include "headless/public/domains/database.h" |
| 19 #include "headless/public/domains/debugger.h" | 21 #include "headless/public/domains/debugger.h" |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 | 142 |
| 141 template <typename CallbackType> | 143 template <typename CallbackType> |
| 142 void SendMessageWithParams(const char* method, | 144 void SendMessageWithParams(const char* method, |
| 143 std::unique_ptr<base::Value> params, | 145 std::unique_ptr<base::Value> params, |
| 144 CallbackType callback); | 146 CallbackType callback); |
| 145 | 147 |
| 146 template <typename CallbackType> | 148 template <typename CallbackType> |
| 147 void SendMessageWithoutParams(const char* method, CallbackType callback); | 149 void SendMessageWithoutParams(const char* method, CallbackType callback); |
| 148 | 150 |
| 149 bool DispatchMessageReply(const base::DictionaryValue& message_dict); | 151 bool DispatchMessageReply(const base::DictionaryValue& message_dict); |
| 150 bool DispatchEvent(const base::DictionaryValue& message_dict); | 152 |
| 153 using EventHandler = base::Callback<void(const base::Value&)>; |
| 154 using EventHandlerMap = std::unordered_map<std::string, EventHandler>; |
| 155 |
| 156 bool DispatchEvent(std::unique_ptr<base::Value> owning_message, |
| 157 const base::DictionaryValue& message_dict); |
| 158 void DispatchEventTask(std::unique_ptr<base::Value> owning_message, |
| 159 const EventHandler* event_handler, |
| 160 const base::DictionaryValue* result_dict); |
| 151 | 161 |
| 152 content::DevToolsAgentHost* agent_host_; // Not owned. | 162 content::DevToolsAgentHost* agent_host_; // Not owned. |
| 153 int next_message_id_; | 163 int next_message_id_; |
| 154 std::unordered_map<int, Callback> pending_messages_; | 164 std::unordered_map<int, Callback> pending_messages_; |
| 155 std::unordered_map<std::string, base::Callback<void(const base::Value&)>> | 165 |
| 156 event_handlers_; | 166 EventHandlerMap event_handlers_; |
| 157 | 167 |
| 158 accessibility::ExperimentalDomain accessibility_domain_; | 168 accessibility::ExperimentalDomain accessibility_domain_; |
| 159 animation::ExperimentalDomain animation_domain_; | 169 animation::ExperimentalDomain animation_domain_; |
| 160 application_cache::ExperimentalDomain application_cache_domain_; | 170 application_cache::ExperimentalDomain application_cache_domain_; |
| 161 browser::ExperimentalDomain browser_domain_; | 171 browser::ExperimentalDomain browser_domain_; |
| 162 cache_storage::ExperimentalDomain cache_storage_domain_; | 172 cache_storage::ExperimentalDomain cache_storage_domain_; |
| 163 console::ExperimentalDomain console_domain_; | 173 console::ExperimentalDomain console_domain_; |
| 164 css::ExperimentalDomain css_domain_; | 174 css::ExperimentalDomain css_domain_; |
| 165 database::ExperimentalDomain database_domain_; | 175 database::ExperimentalDomain database_domain_; |
| 166 debugger::ExperimentalDomain debugger_domain_; | 176 debugger::ExperimentalDomain debugger_domain_; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 179 memory::ExperimentalDomain memory_domain_; | 189 memory::ExperimentalDomain memory_domain_; |
| 180 network::ExperimentalDomain network_domain_; | 190 network::ExperimentalDomain network_domain_; |
| 181 page::ExperimentalDomain page_domain_; | 191 page::ExperimentalDomain page_domain_; |
| 182 profiler::ExperimentalDomain profiler_domain_; | 192 profiler::ExperimentalDomain profiler_domain_; |
| 183 rendering::ExperimentalDomain rendering_domain_; | 193 rendering::ExperimentalDomain rendering_domain_; |
| 184 runtime::ExperimentalDomain runtime_domain_; | 194 runtime::ExperimentalDomain runtime_domain_; |
| 185 security::ExperimentalDomain security_domain_; | 195 security::ExperimentalDomain security_domain_; |
| 186 service_worker::ExperimentalDomain service_worker_domain_; | 196 service_worker::ExperimentalDomain service_worker_domain_; |
| 187 tracing::ExperimentalDomain tracing_domain_; | 197 tracing::ExperimentalDomain tracing_domain_; |
| 188 worker::ExperimentalDomain worker_domain_; | 198 worker::ExperimentalDomain worker_domain_; |
| 199 scoped_refptr<base::SingleThreadTaskRunner> browser_main_thread_; |
| 200 base::WeakPtrFactory<HeadlessDevToolsClientImpl> weak_ptr_factory_; |
| 189 | 201 |
| 190 DISALLOW_COPY_AND_ASSIGN(HeadlessDevToolsClientImpl); | 202 DISALLOW_COPY_AND_ASSIGN(HeadlessDevToolsClientImpl); |
| 191 }; | 203 }; |
| 192 | 204 |
| 193 } // namespace headless | 205 } // namespace headless |
| 194 | 206 |
| 195 #endif // HEADLESS_LIB_BROWSER_HEADLESS_DEVTOOLS_CLIENT_IMPL_H_ | 207 #endif // HEADLESS_LIB_BROWSER_HEADLESS_DEVTOOLS_CLIENT_IMPL_H_ |
| OLD | NEW |