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

Side by Side Diff: third_party/WebKit/Source/platform/inspector_protocol/Dispatcher_cpp.template

Issue 1734693003: Revert of DevTools: simplify JSONValues API, prepare to the OwnPtr migration. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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
OLDNEW
1 // This file is generated 1 // This file is generated
2 2
3 // Copyright (c) 2016 The Chromium Authors. All rights reserved. 3 // Copyright (c) 2016 The Chromium Authors. All rights reserved.
4 // Use of this source code is governed by a BSD-style license that can be 4 // Use of this source code is governed by a BSD-style license that can be
5 // found in the LICENSE file. 5 // found in the LICENSE file.
6 6
7 #include "platform/inspector_protocol/{{class_name}}.h" 7 #include "platform/inspector_protocol/{{class_name}}.h"
8 8
9 #include "platform/JSONParser.h" 9 #include "platform/JSONParser.h"
10 #include "platform/inspector_protocol/FrontendChannel.h" 10 #include "platform/inspector_protocol/FrontendChannel.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 {% endfor %} 64 {% endfor %}
65 {% endfor %} 65 {% endfor %}
66 66
67 FrontendChannel* m_frontendChannel; 67 FrontendChannel* m_frontendChannel;
68 68
69 {% for domain in api.domains %} 69 {% for domain in api.domains %}
70 {{domain.domain}}CommandHandler* m_{{domain.domain | lower}}Agent; 70 {{domain.domain}}CommandHandler* m_{{domain.domain | lower}}Agent;
71 {% endfor %} 71 {% endfor %}
72 72
73 template<typename R, typename V, typename V0> 73 template<typename R, typename V, typename V0>
74 static R getPropertyValueImpl(JSONObject* object, const char* name, bool* va lueFound, JSONArray* protocolErrors, V0 initial_value, bool (*as_method)(PassRef Ptr<JSONValue>, V*), const char* type_name); 74 static R getPropertyValueImpl(JSONObject* object, const char* name, bool* va lueFound, JSONArray* protocolErrors, V0 initial_value, bool (*as_method)(JSONVal ue*, V*), const char* type_name);
75 75
76 static OptionalValue<int> getInteger(JSONObject* object, const char* name, b ool isOptional, JSONArray* protocolErrors); 76 static OptionalValue<int> getInteger(JSONObject* object, const char* name, b ool isOptional, JSONArray* protocolErrors);
77 static OptionalValue<double> getNumber(JSONObject* object, const char* name, bool isOptional, JSONArray* protocolErrors); 77 static OptionalValue<double> getNumber(JSONObject* object, const char* name, bool isOptional, JSONArray* protocolErrors);
78 static OptionalValue<String> getString(JSONObject* object, const char* name, bool isOptional, JSONArray* protocolErrors); 78 static OptionalValue<String> getString(JSONObject* object, const char* name, bool isOptional, JSONArray* protocolErrors);
79 static OptionalValue<bool> getBoolean(JSONObject* object, const char* name, bool isOptional, JSONArray* protocolErrors); 79 static OptionalValue<bool> getBoolean(JSONObject* object, const char* name, bool isOptional, JSONArray* protocolErrors);
80 static PassRefPtr<JSONObject> getObject(JSONObject* object, const char* name , bool isOptional, JSONArray* protocolErrors); 80 static PassRefPtr<JSONObject> getObject(JSONObject* object, const char* name , bool isOptional, JSONArray* protocolErrors);
81 static PassRefPtr<JSONArray> getArray(JSONObject* object, const char* name, bool isOptional, JSONArray* protocolErrors); 81 static PassRefPtr<JSONArray> getArray(JSONObject* object, const char* name, bool isOptional, JSONArray* protocolErrors);
82 82
83 void sendResponse(int sessionId, int callId, ErrorString invocationError, Pa ssRefPtr<JSONObject> result) 83 void sendResponse(int sessionId, int callId, ErrorString invocationError, Pa ssRefPtr<JSONObject> result)
84 { 84 {
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 { 206 {
207 return adoptRef(new DispatcherImpl(frontendChannel)); 207 return adoptRef(new DispatcherImpl(frontendChannel));
208 } 208 }
209 209
210 void DispatcherImpl::dispatch(int sessionId, const String& message) 210 void DispatcherImpl::dispatch(int sessionId, const String& message)
211 { 211 {
212 RefPtr<Dispatcher> protect(this); 212 RefPtr<Dispatcher> protect(this);
213 int callId = 0; 213 int callId = 0;
214 RefPtr<JSONValue> parsedMessage = parseJSON(message); 214 RefPtr<JSONValue> parsedMessage = parseJSON(message);
215 ASSERT(parsedMessage); 215 ASSERT(parsedMessage);
216 RefPtr<JSONObject> messageObject = JSONObject::cast(parsedMessage.release()) ; 216 RefPtr<JSONObject> messageObject = parsedMessage->asObject();
217 ASSERT(messageObject); 217 ASSERT(messageObject);
218 218
219 RefPtr<JSONValue> callIdValue = messageObject->get("id"); 219 RefPtr<JSONValue> callIdValue = messageObject->get("id");
220 bool success = callIdValue->asNumber(&callId); 220 bool success = callIdValue->asNumber(&callId);
221 ASSERT_UNUSED(success, success); 221 ASSERT_UNUSED(success, success);
222 222
223 RefPtr<JSONValue> methodValue = messageObject->get("method"); 223 RefPtr<JSONValue> methodValue = messageObject->get("method");
224 String method; 224 String method;
225 success = methodValue && methodValue->asString(&method); 225 success = methodValue && methodValue->asString(&method);
226 ASSERT_UNUSED(success, success); 226 ASSERT_UNUSED(success, success);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 if (data) 266 if (data)
267 error->setValue("data", data); 267 error->setValue("data", data);
268 RefPtr<JSONObject> message = JSONObject::create(); 268 RefPtr<JSONObject> message = JSONObject::create();
269 message->setObject("error", error); 269 message->setObject("error", error);
270 message->setNumber("id", callId); 270 message->setNumber("id", callId);
271 if (m_frontendChannel) 271 if (m_frontendChannel)
272 m_frontendChannel->sendProtocolResponse(sessionId, callId, message.relea se()); 272 m_frontendChannel->sendProtocolResponse(sessionId, callId, message.relea se());
273 } 273 }
274 274
275 template<typename R, typename V, typename V0> 275 template<typename R, typename V, typename V0>
276 R DispatcherImpl::getPropertyValueImpl(JSONObject* object, const char* name, boo l* valueFound, JSONArray* protocolErrors, V0 initial_value, bool (*as_method)(Pa ssRefPtr<JSONValue>, V*), const char* type_name) 276 R DispatcherImpl::getPropertyValueImpl(JSONObject* object, const char* name, boo l* valueFound, JSONArray* protocolErrors, V0 initial_value, bool (*as_method)(JS ONValue*, V*), const char* type_name)
277 { 277 {
278 ASSERT(protocolErrors); 278 ASSERT(protocolErrors);
279 279
280 if (valueFound) 280 if (valueFound)
281 *valueFound = false; 281 *valueFound = false;
282 282
283 V value = initial_value; 283 V value = initial_value;
284 284
285 if (!object) { 285 if (!object) {
286 if (!valueFound) { 286 if (!valueFound) {
(...skipping 14 matching lines...) Expand all
301 301
302 if (!as_method(valueIterator->value.get(), &value)) 302 if (!as_method(valueIterator->value.get(), &value))
303 protocolErrors->pushString(String::format("Parameter '%s' has wrong type . It must be '%s'.", name, type_name)); 303 protocolErrors->pushString(String::format("Parameter '%s' has wrong type . It must be '%s'.", name, type_name));
304 else 304 else
305 if (valueFound) 305 if (valueFound)
306 *valueFound = true; 306 *valueFound = true;
307 return value; 307 return value;
308 } 308 }
309 309
310 struct AsMethodBridges { 310 struct AsMethodBridges {
311 static bool asInteger(PassRefPtr<JSONValue> value, int* output) { return val ue->asNumber(output); } 311 static bool asInteger(JSONValue* value, int* output) { return value->asNumbe r(output); }
312 static bool asNumber(PassRefPtr<JSONValue> value, double* output) { return v alue->asNumber(output); } 312 static bool asNumber(JSONValue* value, double* output) { return value->asNum ber(output); }
313 static bool asString(PassRefPtr<JSONValue> value, String* output) { return v alue->asString(output); } 313 static bool asString(JSONValue* value, String* output) { return value->asStr ing(output); }
314 static bool asBoolean(PassRefPtr<JSONValue> value, bool* output) { return va lue->asBoolean(output); } 314 static bool asBoolean(JSONValue* value, bool* output) { return value->asBool ean(output); }
315 static bool asObject(PassRefPtr<JSONValue> value, RefPtr<JSONObject>* output ) { *output = JSONObject::cast(value); return *output; } 315 static bool asObject(JSONValue* value, RefPtr<JSONObject>* output) { return value->asObject(output); }
316 static bool asArray(PassRefPtr<JSONValue> value, RefPtr<JSONArray>* output) { *output = JSONArray::cast(value); return *output; } 316 static bool asArray(JSONValue* value, RefPtr<JSONArray>* output) { return va lue->asArray(output); }
317 }; 317 };
318 318
319 OptionalValue<int> DispatcherImpl::getInteger(JSONObject* object, const char* na me, bool isOptional, JSONArray* protocolErrors) 319 OptionalValue<int> DispatcherImpl::getInteger(JSONObject* object, const char* na me, bool isOptional, JSONArray* protocolErrors)
320 { 320 {
321 bool valueFound = false; 321 bool valueFound = false;
322 int result = getPropertyValueImpl<int, int, int>(object, name, isOptional ? &valueFound : 0, protocolErrors, 0, AsMethodBridges::asInteger, "Number"); 322 int result = getPropertyValueImpl<int, int, int>(object, name, isOptional ? &valueFound : 0, protocolErrors, 0, AsMethodBridges::asInteger, "Number");
323 return valueFound || !isOptional ? OptionalValue<int>(result) : OptionalValu e<int>(); 323 return valueFound || !isOptional ? OptionalValue<int>(result) : OptionalValu e<int>();
324 } 324 }
325 325
326 OptionalValue<double> DispatcherImpl::getNumber(JSONObject* object, const char* name, bool isOptional, JSONArray* protocolErrors) 326 OptionalValue<double> DispatcherImpl::getNumber(JSONObject* object, const char* name, bool isOptional, JSONArray* protocolErrors)
(...skipping 28 matching lines...) Expand all
355 bool valueFound = false; 355 bool valueFound = false;
356 return getPropertyValueImpl<PassRefPtr<JSONArray>, RefPtr<JSONArray>, JSONAr ray*>(object, name, isOptional ? &valueFound : 0, protocolErrors, 0, AsMethodBri dges::asArray, "Array"); 356 return getPropertyValueImpl<PassRefPtr<JSONArray>, RefPtr<JSONArray>, JSONAr ray*>(object, name, isOptional ? &valueFound : 0, protocolErrors, 0, AsMethodBri dges::asArray, "Array");
357 } 357 }
358 358
359 bool Dispatcher::getCommandName(const String& message, String* result) 359 bool Dispatcher::getCommandName(const String& message, String* result)
360 { 360 {
361 RefPtr<JSONValue> value = parseJSON(message); 361 RefPtr<JSONValue> value = parseJSON(message);
362 if (!value) 362 if (!value)
363 return false; 363 return false;
364 364
365 RefPtr<JSONObject> object = JSONObject::cast(value.release()); 365 RefPtr<JSONObject> object = value->asObject();
366 if (!object) 366 if (!object)
367 return false; 367 return false;
368 368
369 if (!object->getString("method", result)) 369 if (!object->getString("method", result))
370 return false; 370 return false;
371 371
372 return true; 372 return true;
373 } 373 }
374 374
375 Dispatcher::CallbackBase::CallbackBase(PassRefPtr<DispatcherImpl> backendImpl, i nt sessionId, int id) 375 Dispatcher::CallbackBase::CallbackBase(PassRefPtr<DispatcherImpl> backendImpl, i nt sessionId, int id)
(...skipping 15 matching lines...) Expand all
391 void Dispatcher::CallbackBase::sendIfActive(PassRefPtr<JSONObject> partialMessag e, const ErrorString& invocationError, PassRefPtr<JSONValue> errorData) 391 void Dispatcher::CallbackBase::sendIfActive(PassRefPtr<JSONObject> partialMessag e, const ErrorString& invocationError, PassRefPtr<JSONValue> errorData)
392 { 392 {
393 if (m_alreadySent) 393 if (m_alreadySent)
394 return; 394 return;
395 m_backendImpl->sendResponse(m_sessionId, m_id, invocationError, errorData, p artialMessage); 395 m_backendImpl->sendResponse(m_sessionId, m_id, invocationError, errorData, p artialMessage);
396 m_alreadySent = true; 396 m_alreadySent = true;
397 } 397 }
398 398
399 } // namespace protocol 399 } // namespace protocol
400 } // namespace blink 400 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698