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 #include "headless/lib/browser/headless_devtools_client_impl.h" | 5 #include "headless/lib/browser/headless_devtools_client_impl.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 void HeadlessDevToolsClientImpl::SendMessageWithParams( | 326 void HeadlessDevToolsClientImpl::SendMessageWithParams( |
327 const char* method, | 327 const char* method, |
328 std::unique_ptr<base::Value> params, | 328 std::unique_ptr<base::Value> params, |
329 CallbackType callback) { | 329 CallbackType callback) { |
330 base::DictionaryValue message; | 330 base::DictionaryValue message; |
331 message.SetString("method", method); | 331 message.SetString("method", method); |
332 message.Set("params", std::move(params)); | 332 message.Set("params", std::move(params)); |
333 FinalizeAndSendMessage(&message, std::move(callback)); | 333 FinalizeAndSendMessage(&message, std::move(callback)); |
334 } | 334 } |
335 | 335 |
336 template <typename CallbackType> | |
337 void HeadlessDevToolsClientImpl::SendMessageWithoutParams( | |
338 const char* method, | |
339 CallbackType callback) { | |
340 base::DictionaryValue message; | |
341 message.SetString("method", method); | |
342 FinalizeAndSendMessage(&message, std::move(callback)); | |
343 } | |
344 | |
345 void HeadlessDevToolsClientImpl::SendMessage( | 336 void HeadlessDevToolsClientImpl::SendMessage( |
346 const char* method, | 337 const char* method, |
347 std::unique_ptr<base::Value> params, | 338 std::unique_ptr<base::Value> params, |
348 base::Callback<void(const base::Value&)> callback) { | 339 base::Callback<void(const base::Value&)> callback) { |
349 SendMessageWithParams(method, std::move(params), std::move(callback)); | 340 SendMessageWithParams(method, std::move(params), std::move(callback)); |
350 } | 341 } |
351 | 342 |
352 void HeadlessDevToolsClientImpl::SendMessage( | 343 void HeadlessDevToolsClientImpl::SendMessage( |
353 const char* method, | 344 const char* method, |
354 std::unique_ptr<base::Value> params, | 345 std::unique_ptr<base::Value> params, |
355 base::Callback<void()> callback) { | 346 base::Closure callback) { |
356 SendMessageWithParams(method, std::move(params), std::move(callback)); | 347 SendMessageWithParams(method, std::move(params), std::move(callback)); |
357 } | 348 } |
358 | 349 |
359 void HeadlessDevToolsClientImpl::SendMessage( | |
360 const char* method, | |
361 base::Callback<void(const base::Value&)> callback) { | |
362 SendMessageWithoutParams(method, std::move(callback)); | |
363 } | |
364 | |
365 void HeadlessDevToolsClientImpl::SendMessage(const char* method, | |
366 base::Callback<void()> callback) { | |
367 SendMessageWithoutParams(method, std::move(callback)); | |
368 } | |
369 | |
370 void HeadlessDevToolsClientImpl::RegisterEventHandler( | 350 void HeadlessDevToolsClientImpl::RegisterEventHandler( |
371 const char* method, | 351 const char* method, |
372 base::Callback<void(const base::Value&)> callback) { | 352 base::Callback<void(const base::Value&)> callback) { |
373 DCHECK(event_handlers_.find(method) == event_handlers_.end()); | 353 DCHECK(event_handlers_.find(method) == event_handlers_.end()); |
374 event_handlers_[method] = callback; | 354 event_handlers_[method] = callback; |
375 } | 355 } |
376 | 356 |
377 HeadlessDevToolsClientImpl::Callback::Callback() {} | 357 HeadlessDevToolsClientImpl::Callback::Callback() {} |
378 | 358 |
379 HeadlessDevToolsClientImpl::Callback::Callback(Callback&& other) = default; | 359 HeadlessDevToolsClientImpl::Callback::Callback(Callback&& other) = default; |
380 | 360 |
381 HeadlessDevToolsClientImpl::Callback::Callback(base::Callback<void()> callback) | 361 HeadlessDevToolsClientImpl::Callback::Callback(base::Closure callback) |
382 : callback(callback) {} | 362 : callback(callback) {} |
383 | 363 |
384 HeadlessDevToolsClientImpl::Callback::Callback( | 364 HeadlessDevToolsClientImpl::Callback::Callback( |
385 base::Callback<void(const base::Value&)> callback) | 365 base::Callback<void(const base::Value&)> callback) |
386 : callback_with_result(callback) {} | 366 : callback_with_result(callback) {} |
387 | 367 |
388 HeadlessDevToolsClientImpl::Callback::~Callback() {} | 368 HeadlessDevToolsClientImpl::Callback::~Callback() {} |
389 | 369 |
390 HeadlessDevToolsClientImpl::Callback& HeadlessDevToolsClientImpl::Callback:: | 370 HeadlessDevToolsClientImpl::Callback& HeadlessDevToolsClientImpl::Callback:: |
391 operator=(Callback&& other) = default; | 371 operator=(Callback&& other) = default; |
392 | 372 |
393 } // namespace headless | 373 } // namespace headless |
OLD | NEW |