Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(393)

Side by Side Diff: headless/lib/browser/headless_devtools_client_impl.cc

Issue 1906423003: headless: Remove old load observer API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update headless shell. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « headless/app/headless_shell.cc ('k') | headless/lib/browser/headless_web_contents_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/json/json_reader.h" 9 #include "base/json/json_reader.h"
10 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 bool HeadlessDevToolsClientImpl::DispatchMessageReply( 95 bool HeadlessDevToolsClientImpl::DispatchMessageReply(
96 const base::DictionaryValue& message_dict) { 96 const base::DictionaryValue& message_dict) {
97 int id = 0; 97 int id = 0;
98 if (!message_dict.GetInteger("id", &id)) 98 if (!message_dict.GetInteger("id", &id))
99 return false; 99 return false;
100 auto it = pending_messages_.find(id); 100 auto it = pending_messages_.find(id);
101 if (it == pending_messages_.end()) { 101 if (it == pending_messages_.end()) {
102 NOTREACHED() << "Unexpected reply"; 102 NOTREACHED() << "Unexpected reply";
103 return false; 103 return false;
104 } 104 }
105 if (!it->second.callback_with_result.is_null()) { 105 Callback callback = std::move(it->second);
106 pending_messages_.erase(it);
107 if (!callback.callback_with_result.is_null()) {
106 const base::DictionaryValue* result_dict; 108 const base::DictionaryValue* result_dict;
107 if (!message_dict.GetDictionary("result", &result_dict)) { 109 if (!message_dict.GetDictionary("result", &result_dict)) {
108 NOTREACHED() << "Badly formed reply result"; 110 NOTREACHED() << "Badly formed reply result";
109 return false; 111 return false;
110 } 112 }
111 it->second.callback_with_result.Run(*result_dict); 113 callback.callback_with_result.Run(*result_dict);
112 } else if (!it->second.callback.is_null()) { 114 } else if (!callback.callback.is_null()) {
113 it->second.callback.Run(); 115 callback.callback.Run();
114 } 116 }
115 pending_messages_.erase(it);
116 return true; 117 return true;
117 } 118 }
118 119
119 bool HeadlessDevToolsClientImpl::DispatchEvent( 120 bool HeadlessDevToolsClientImpl::DispatchEvent(
120 const base::DictionaryValue& message_dict) { 121 const base::DictionaryValue& message_dict) {
121 std::string method; 122 std::string method;
122 if (!message_dict.GetString("method", &method)) 123 if (!message_dict.GetString("method", &method))
123 return false; 124 return false;
124 auto it = event_handlers_.find(method); 125 auto it = event_handlers_.find(method);
125 if (it == event_handlers_.end()) { 126 if (it == event_handlers_.end()) {
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 HeadlessDevToolsClientImpl::Callback::Callback( 337 HeadlessDevToolsClientImpl::Callback::Callback(
337 base::Callback<void(const base::Value&)> callback) 338 base::Callback<void(const base::Value&)> callback)
338 : callback_with_result(callback) {} 339 : callback_with_result(callback) {}
339 340
340 HeadlessDevToolsClientImpl::Callback::~Callback() {} 341 HeadlessDevToolsClientImpl::Callback::~Callback() {}
341 342
342 HeadlessDevToolsClientImpl::Callback& HeadlessDevToolsClientImpl::Callback:: 343 HeadlessDevToolsClientImpl::Callback& HeadlessDevToolsClientImpl::Callback::
343 operator=(Callback&& other) = default; 344 operator=(Callback&& other) = default;
344 345
345 } // namespace headless 346 } // namespace headless
OLDNEW
« no previous file with comments | « headless/app/headless_shell.cc ('k') | headless/lib/browser/headless_web_contents_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698