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

Side by Side Diff: core/inspector/CodeGeneratorInspectorStrings.py

Issue 540533002: Roll IDL to Dartium37 (r181268) (Closed) Base URL: https://dart.googlecode.com/svn/third_party/WebCore
Patch Set: Created 6 years, 3 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 | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2013 Google Inc. All rights reserved. 1 # Copyright (c) 2013 Google Inc. All rights reserved.
2 # 2 #
3 # Redistribution and use in source and binary forms, with or without 3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are 4 # modification, are permitted provided that the following conditions are
5 # met: 5 # met:
6 # 6 #
7 # * Redistributions of source code must retain the above copyright 7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer. 8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above 9 # * Redistributions in binary form must reproduce the above
10 # copyright notice, this list of conditions and the following disclaimer 10 # copyright notice, this list of conditions and the following disclaimer
(...skipping 15 matching lines...) Expand all
26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 28
29 # THis file contains string resources for CodeGeneratorInspector. 29 # THis file contains string resources for CodeGeneratorInspector.
30 # Its syntax is a Python syntax subset, suitable for manual parsing. 30 # Its syntax is a Python syntax subset, suitable for manual parsing.
31 31
32 frontend_domain_class = ( 32 frontend_domain_class = (
33 """ class $domainClassName { 33 """ class $domainClassName {
34 public: 34 public:
35 $domainClassName(InspectorFrontendChannel* inspectorFrontendChannel) : m _inspectorFrontendChannel(inspectorFrontendChannel) { } 35 $domainClassName(InspectorFrontendChannel* inspectorFrontendChannel) : m _inspectorFrontendChannel(inspectorFrontendChannel) { }
36 ${frontendDomainMethodDeclarations} void setInspectorFrontendChannel(Insp ectorFrontendChannel* inspectorFrontendChannel) { m_inspectorFrontendChannel = i nspectorFrontendChannel; } 36 ${frontendDomainMethodDeclarations}
37 InspectorFrontendChannel* getInspectorFrontendChannel() { return m_inspe ctorFrontendChannel; } 37 void flush() { m_inspectorFrontendChannel->flush(); }
38 private: 38 private:
39 InspectorFrontendChannel* m_inspectorFrontendChannel; 39 InspectorFrontendChannel* m_inspectorFrontendChannel;
40 }; 40 };
41 41
42 $domainClassName* $domainFieldName() { return &m_$domainFieldName; } 42 $domainClassName* $domainFieldName() { return &m_$domainFieldName; }
43 43
44 """) 44 """)
45 45
46 backend_method = ( 46 backend_method = (
47 """void InspectorBackendDispatcherImpl::${domainName}_$methodName(long callId, J SONObject*$requestMessageObject) 47 """void InspectorBackendDispatcherImpl::${domainName}_$methodName(long callId, J SONObject*$requestMessageObject, JSONArray* protocolErrors)
48 { 48 {
49 RefPtr<JSONArray> protocolErrors = JSONArray::create();
50
51 if (!$agentField) 49 if (!$agentField)
52 protocolErrors->pushString("${domainName} handler is not available."); 50 protocolErrors->pushString("${domainName} handler is not available.");
53 $methodOutCode 51 $methodCode
54 $methodInCode 52 if (protocolErrors->length()) {
55 RefPtr<JSONObject> result = JSONObject::create(); 53 reportProtocolError(&callId, InvalidParams, String::format(InvalidParams FormatString, commandName($commandNameIndex)), protocolErrors);
56 RefPtr<JSONValue> resultErrorData; 54 return;
57 ErrorString error;
58 if (!protocolErrors->length()) {
59 $agentField->$methodName(&error$agentCallParams);
60
61 $errorCook${responseCook}
62 } 55 }
63 sendResponse(callId, result, commandName($commandNameIndex), protocolErrors, error, resultErrorData); 56 $agentCallParamsDeclaration
57 $agentField->$methodName($agentCallParams);
58 $responseCook
59 sendResponse(callId, $sendResponseCallParams);
64 } 60 }
65 """) 61 """)
66 62
67 frontend_method = ("""void InspectorFrontend::$domainName::$eventName($parameter s) 63 frontend_method = ("""void InspectorFrontend::$domainName::$eventName($parameter s)
68 { 64 {
69 RefPtr<JSONObject> jsonMessage = JSONObject::create(); 65 RefPtr<JSONObject> jsonMessage = JSONObject::create();
70 jsonMessage->setString("method", "$domainName.$eventName"); 66 jsonMessage->setString("method", "$domainName.$eventName");
71 $code if (m_inspectorFrontendChannel) 67 $code if (m_inspectorFrontendChannel)
72 m_inspectorFrontendChannel->sendMessageToFrontend(jsonMessage->toJSONStr ing()); 68 m_inspectorFrontendChannel->sendMessageToFrontend(jsonMessage.release()) ;
73 } 69 }
74 """) 70 """)
75 71
76 callback_main_methods = ( 72 callback_main_methods = (
77 """InspectorBackendDispatcher::$agentName::$callbackName::$callbackName(PassRefP tr<InspectorBackendDispatcherImpl> backendImpl, int id) : CallbackBase(backendIm pl, id) {} 73 """InspectorBackendDispatcher::$agentName::$callbackName::$callbackName(PassRefP tr<InspectorBackendDispatcherImpl> backendImpl, int id) : CallbackBase(backendIm pl, id) {}
78 74
79 void InspectorBackendDispatcher::$agentName::$callbackName::sendSuccess($paramet ers) 75 void InspectorBackendDispatcher::$agentName::$callbackName::sendSuccess($paramet ers)
80 { 76 {
81 RefPtr<JSONObject> jsonMessage = JSONObject::create(); 77 RefPtr<JSONObject> jsonMessage = JSONObject::create();
82 $code sendIfActive(jsonMessage, ErrorString(), PassRefPtr<JSONValue>()); 78 $code sendIfActive(jsonMessage, ErrorString(), PassRefPtr<JSONValue>());
83 } 79 }
84 """) 80 """)
85 81
86 callback_failure_method = ( 82 callback_failure_method = (
87 """void InspectorBackendDispatcher::$agentName::$callbackName::sendFailure(const ErrorString& error, $parameter) 83 """void InspectorBackendDispatcher::$agentName::$callbackName::sendFailure(const ErrorString& error, $parameter)
88 { 84 {
89 ASSERT(error.length()); 85 ASSERT(error.length());
90 RefPtr<JSONValue> errorDataValue; 86 RefPtr<JSONValue> errorDataValue;
91 if (error) { 87 if (error) {
92 errorDataValue = $argument; 88 errorDataValue = $argument;
93 } 89 }
94 sendIfActive(0, error, errorDataValue.release()); 90 sendIfActive(nullptr, error, errorDataValue.release());
95 } 91 }
96 """) 92 """)
97 93
98 94
99 frontend_h = ( 95 frontend_h = (
100 """#ifndef InspectorFrontend_h 96 """#ifndef InspectorFrontend_h
101 #define InspectorFrontend_h 97 #define InspectorFrontend_h
102 98
103 #include "InspectorTypeBuilder.h" 99 #include "InspectorTypeBuilder.h"
100 #include "core/inspector/InspectorFrontendChannel.h"
104 #include "platform/JSONValues.h" 101 #include "platform/JSONValues.h"
105 #include "wtf/PassRefPtr.h" 102 #include "wtf/PassRefPtr.h"
106 #include "wtf/text/WTFString.h" 103 #include "wtf/text/WTFString.h"
107 104
108 namespace WebCore { 105 namespace WebCore {
109 106
110 class InspectorFrontendChannel;
111
112 typedef String ErrorString; 107 typedef String ErrorString;
113 108
114 class InspectorFrontend { 109 class InspectorFrontend {
115 public: 110 public:
116 InspectorFrontend(InspectorFrontendChannel*); 111 InspectorFrontend(InspectorFrontendChannel*);
117 112 InspectorFrontendChannel* channel() { return m_inspectorFrontendChannel; }
118 113
119 $domainClassList 114 $domainClassList
120 private: 115 private:
116 InspectorFrontendChannel* m_inspectorFrontendChannel;
121 ${fieldDeclarations}}; 117 ${fieldDeclarations}};
122 118
123 } // namespace WebCore 119 } // namespace WebCore
124 #endif // !defined(InspectorFrontend_h) 120 #endif // !defined(InspectorFrontend_h)
125 """) 121 """)
126 122
127 backend_h = ( 123 backend_h = (
128 """#ifndef InspectorBackendDispatcher_h 124 """#ifndef InspectorBackendDispatcher_h
129 #define InspectorBackendDispatcher_h 125 #define InspectorBackendDispatcher_h
130 126
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 InspectorBackendDispatcherImpl(InspectorFrontendChannel* inspectorFrontendCh annel) 236 InspectorBackendDispatcherImpl(InspectorFrontendChannel* inspectorFrontendCh annel)
241 : m_inspectorFrontendChannel(inspectorFrontendChannel) 237 : m_inspectorFrontendChannel(inspectorFrontendChannel)
242 $constructorInit 238 $constructorInit
243 { } 239 { }
244 240
245 virtual void clearFrontend() { m_inspectorFrontendChannel = 0; } 241 virtual void clearFrontend() { m_inspectorFrontendChannel = 0; }
246 virtual void dispatch(const String& message); 242 virtual void dispatch(const String& message);
247 virtual void reportProtocolError(const long* const callId, CommonErrorCode, const String& errorMessage, PassRefPtr<JSONValue> data) const; 243 virtual void reportProtocolError(const long* const callId, CommonErrorCode, const String& errorMessage, PassRefPtr<JSONValue> data) const;
248 using InspectorBackendDispatcher::reportProtocolError; 244 using InspectorBackendDispatcher::reportProtocolError;
249 245
250 void sendResponse(long callId, PassRefPtr<JSONObject> result, const ErrorStr ing&invocationError, PassRefPtr<JSONValue> errorData); 246 void sendResponse(long callId, const ErrorString& invocationError, PassRefPt r<JSONValue> errorData, PassRefPtr<JSONObject> result);
251 bool isActive() { return m_inspectorFrontendChannel; } 247 bool isActive() { return m_inspectorFrontendChannel; }
252 248
253 $setters 249 $setters
254 private: 250 private:
255 $methodDeclarations 251 $methodDeclarations
256 252
257 InspectorFrontendChannel* m_inspectorFrontendChannel; 253 InspectorFrontendChannel* m_inspectorFrontendChannel;
258 $fieldDeclarations 254 $fieldDeclarations
259 255
260 template<typename R, typename V, typename V0> 256 template<typename R, typename V, typename V0>
261 static R getPropertyValueImpl(JSONObject* object, const String& name, bool* valueFound, JSONArray* protocolErrors, V0 initial_value, bool (*as_method)(JSONV alue*, V*), const char* type_name); 257 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);
262 258
263 static int getInt(JSONObject* object, const String& name, bool* valueFound, JSONArray* protocolErrors); 259 static int getInt(JSONObject* object, const char* name, bool* valueFound, JS ONArray* protocolErrors);
264 static double getDouble(JSONObject* object, const String& name, bool* valueF ound, JSONArray* protocolErrors); 260 static double getDouble(JSONObject* object, const char* name, bool* valueFou nd, JSONArray* protocolErrors);
265 static String getString(JSONObject* object, const String& name, bool* valueF ound, JSONArray* protocolErrors); 261 static String getString(JSONObject* object, const char* name, bool* valueFou nd, JSONArray* protocolErrors);
266 static bool getBoolean(JSONObject* object, const String& name, bool* valueFo und, JSONArray* protocolErrors); 262 static bool getBoolean(JSONObject* object, const char* name, bool* valueFoun d, JSONArray* protocolErrors);
267 static PassRefPtr<JSONObject> getObject(JSONObject* object, const String& na me, bool* valueFound, JSONArray* protocolErrors); 263 static PassRefPtr<JSONObject> getObject(JSONObject* object, const char* name , bool* valueFound, JSONArray* protocolErrors);
268 static PassRefPtr<JSONArray> getArray(JSONObject* object, const String& name , bool* valueFound, JSONArray* protocolErrors); 264 static PassRefPtr<JSONArray> getArray(JSONObject* object, const char* name, bool* valueFound, JSONArray* protocolErrors);
269 265
270 void sendResponse(long callId, PassRefPtr<JSONObject> result, const char* co mmandName, PassRefPtr<JSONArray> protocolErrors, ErrorString invocationError, Pa ssRefPtr<JSONValue> errorData); 266 void sendResponse(long callId, ErrorString invocationError, PassRefPtr<JSONO bject> result)
267 {
268 sendResponse(callId, invocationError, RefPtr<JSONValue>(), result);
269 }
270 void sendResponse(long callId, ErrorString invocationError)
271 {
272 sendResponse(callId, invocationError, RefPtr<JSONValue>(), JSONObject::c reate());
273 }
274 static const char InvalidParamsFormatString[];
275 };
271 276
272 }; 277 const char InspectorBackendDispatcherImpl::InvalidParamsFormatString[] = "Some a rguments of method '%s' can't be processed";
273 278
274 $methods 279 $methods
275 280
276 PassRefPtr<InspectorBackendDispatcher> InspectorBackendDispatcher::create(Inspec torFrontendChannel* inspectorFrontendChannel) 281 PassRefPtr<InspectorBackendDispatcher> InspectorBackendDispatcher::create(Inspec torFrontendChannel* inspectorFrontendChannel)
277 { 282 {
278 return adoptRef(new InspectorBackendDispatcherImpl(inspectorFrontendChannel) ); 283 return adoptRef(new InspectorBackendDispatcherImpl(inspectorFrontendChannel) );
279 } 284 }
280 285
281 286
282 void InspectorBackendDispatcherImpl::dispatch(const String& message) 287 void InspectorBackendDispatcherImpl::dispatch(const String& message)
283 { 288 {
284 RefPtr<InspectorBackendDispatcher> protect = this; 289 RefPtr<InspectorBackendDispatcher> protect = this;
285 typedef void (InspectorBackendDispatcherImpl::*CallHandler)(long callId, JSO NObject* messageObject); 290 typedef void (InspectorBackendDispatcherImpl::*CallHandler)(long callId, JSO NObject* messageObject, JSONArray* protocolErrors);
286 typedef HashMap<String, CallHandler> DispatchMap; 291 typedef HashMap<String, CallHandler> DispatchMap;
287 DEFINE_STATIC_LOCAL(DispatchMap, dispatchMap, ); 292 DEFINE_STATIC_LOCAL(DispatchMap, dispatchMap, );
288 long callId = 0; 293 long callId = 0;
289 294
290 if (dispatchMap.isEmpty()) { 295 if (dispatchMap.isEmpty()) {
291 static const CallHandler handlers[] = { 296 static const CallHandler handlers[] = {
292 $messageHandlers 297 $messageHandlers
293 }; 298 };
294 for (size_t i = 0; i < kMethodNamesEnumSize; ++i) 299 for (size_t i = 0; i < kMethodNamesEnumSize; ++i)
295 dispatchMap.add(commandName(static_cast<MethodNames>(i)), handlers[i ]); 300 dispatchMap.add(commandName(static_cast<MethodNames>(i)), handlers[i ]);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 reportProtocolError(&callId, InvalidRequest, "The type of 'method' prope rty must be string"); 334 reportProtocolError(&callId, InvalidRequest, "The type of 'method' prope rty must be string");
330 return; 335 return;
331 } 336 }
332 337
333 HashMap<String, CallHandler>::iterator it = dispatchMap.find(method); 338 HashMap<String, CallHandler>::iterator it = dispatchMap.find(method);
334 if (it == dispatchMap.end()) { 339 if (it == dispatchMap.end()) {
335 reportProtocolError(&callId, MethodNotFound, "'" + method + "' wasn't fo und"); 340 reportProtocolError(&callId, MethodNotFound, "'" + method + "' wasn't fo und");
336 return; 341 return;
337 } 342 }
338 343
339 ((*this).*it->value)(callId, messageObject.get()); 344 RefPtr<JSONArray> protocolErrors = JSONArray::create();
345 ((*this).*it->value)(callId, messageObject.get(), protocolErrors.get());
340 } 346 }
341 347
342 void InspectorBackendDispatcherImpl::sendResponse(long callId, PassRefPtr<JSONOb ject> result, const char* commandName, PassRefPtr<JSONArray> protocolErrors, Err orString invocationError, PassRefPtr<JSONValue> errorData) 348 void InspectorBackendDispatcherImpl::sendResponse(long callId, const ErrorString & invocationError, PassRefPtr<JSONValue> errorData, PassRefPtr<JSONObject> resul t)
343 {
344 if (protocolErrors->length()) {
345 String errorMessage = String::format("Some arguments of method '%s' can' t be processed", commandName);
346 reportProtocolError(&callId, InvalidParams, errorMessage, protocolErrors );
347 return;
348 }
349 sendResponse(callId, result, invocationError, errorData);
350 }
351
352 void InspectorBackendDispatcherImpl::sendResponse(long callId, PassRefPtr<JSONOb ject> result, const ErrorString& invocationError, PassRefPtr<JSONValue> errorDat a)
353 { 349 {
354 if (invocationError.length()) { 350 if (invocationError.length()) {
355 reportProtocolError(&callId, ServerError, invocationError, errorData); 351 reportProtocolError(&callId, ServerError, invocationError, errorData);
356 return; 352 return;
357 } 353 }
358 354
359 RefPtr<JSONObject> responseMessage = JSONObject::create(); 355 RefPtr<JSONObject> responseMessage = JSONObject::create();
356 responseMessage->setNumber("id", callId);
360 responseMessage->setObject("result", result); 357 responseMessage->setObject("result", result);
361 responseMessage->setNumber("id", callId);
362 if (m_inspectorFrontendChannel) 358 if (m_inspectorFrontendChannel)
363 m_inspectorFrontendChannel->sendMessageToFrontend(responseMessage->toJSO NString()); 359 m_inspectorFrontendChannel->sendMessageToFrontend(responseMessage.releas e());
364 } 360 }
365 361
366 void InspectorBackendDispatcher::reportProtocolError(const long* const callId, C ommonErrorCode code, const String& errorMessage) const 362 void InspectorBackendDispatcher::reportProtocolError(const long* const callId, C ommonErrorCode code, const String& errorMessage) const
367 { 363 {
368 reportProtocolError(callId, code, errorMessage, PassRefPtr<JSONValue>()); 364 reportProtocolError(callId, code, errorMessage, PassRefPtr<JSONValue>());
369 } 365 }
370 366
371 void InspectorBackendDispatcherImpl::reportProtocolError(const long* const callI d, CommonErrorCode code, const String& errorMessage, PassRefPtr<JSONValue> data) const 367 void InspectorBackendDispatcherImpl::reportProtocolError(const long* const callI d, CommonErrorCode code, const String& errorMessage, PassRefPtr<JSONValue> data) const
372 { 368 {
373 DEFINE_STATIC_LOCAL(Vector<int>,s_commonErrors,); 369 DEFINE_STATIC_LOCAL(Vector<int>,s_commonErrors,);
(...skipping 14 matching lines...) Expand all
388 ASSERT(error); 384 ASSERT(error);
389 if (data) 385 if (data)
390 error->setValue("data", data); 386 error->setValue("data", data);
391 RefPtr<JSONObject> message = JSONObject::create(); 387 RefPtr<JSONObject> message = JSONObject::create();
392 message->setObject("error", error); 388 message->setObject("error", error);
393 if (callId) 389 if (callId)
394 message->setNumber("id", *callId); 390 message->setNumber("id", *callId);
395 else 391 else
396 message->setValue("id", JSONValue::null()); 392 message->setValue("id", JSONValue::null());
397 if (m_inspectorFrontendChannel) 393 if (m_inspectorFrontendChannel)
398 m_inspectorFrontendChannel->sendMessageToFrontend(message->toJSONString( )); 394 m_inspectorFrontendChannel->sendMessageToFrontend(message.release());
399 } 395 }
400 396
401 template<typename R, typename V, typename V0> 397 template<typename R, typename V, typename V0>
402 R InspectorBackendDispatcherImpl::getPropertyValueImpl(JSONObject* object, const String& name, bool* valueFound, JSONArray* protocolErrors, V0 initial_value, bo ol (*as_method)(JSONValue*, V*), const char* type_name) 398 R InspectorBackendDispatcherImpl::getPropertyValueImpl(JSONObject* object, const char* name, bool* valueFound, JSONArray* protocolErrors, V0 initial_value, bool (*as_method)(JSONValue*, V*), const char* type_name)
403 { 399 {
404 ASSERT(protocolErrors); 400 ASSERT(protocolErrors);
405 401
406 if (valueFound) 402 if (valueFound)
407 *valueFound = false; 403 *valueFound = false;
408 404
409 V value = initial_value; 405 V value = initial_value;
410 406
411 if (!object) { 407 if (!object) {
412 if (!valueFound) { 408 if (!valueFound) {
413 // Required parameter in missing params container. 409 // Required parameter in missing params container.
414 protocolErrors->pushString(String::format("'params' object must cont ain required parameter '%s' with type '%s'.", name.utf8().data(), type_name)); 410 protocolErrors->pushString(String::format("'params' object must cont ain required parameter '%s' with type '%s'.", name, type_name));
415 } 411 }
416 return value; 412 return value;
417 } 413 }
418 414
419 JSONObject::const_iterator end = object->end(); 415 JSONObject::const_iterator end = object->end();
420 JSONObject::const_iterator valueIterator = object->find(name); 416 JSONObject::const_iterator valueIterator = object->find(name);
421 417
422 if (valueIterator == end) { 418 if (valueIterator == end) {
423 if (!valueFound) 419 if (!valueFound)
424 protocolErrors->pushString(String::format("Parameter '%s' with type '%s' was not found.", name.utf8().data(), type_name)); 420 protocolErrors->pushString(String::format("Parameter '%s' with type '%s' was not found.", name, type_name));
425 return value; 421 return value;
426 } 422 }
427 423
428 if (!as_method(valueIterator->value.get(), &value)) 424 if (!as_method(valueIterator->value.get(), &value))
429 protocolErrors->pushString(String::format("Parameter '%s' has wrong type . It must be '%s'.", name.utf8().data(), type_name)); 425 protocolErrors->pushString(String::format("Parameter '%s' has wrong type . It must be '%s'.", name, type_name));
430 else 426 else
431 if (valueFound) 427 if (valueFound)
432 *valueFound = true; 428 *valueFound = true;
433 return value; 429 return value;
434 } 430 }
435 431
436 struct AsMethodBridges { 432 struct AsMethodBridges {
437 static bool asInt(JSONValue* value, int* output) { return value->asNumber(ou tput); } 433 static bool asInt(JSONValue* value, int* output) { return value->asNumber(ou tput); }
438 static bool asDouble(JSONValue* value, double* output) { return value->asNum ber(output); } 434 static bool asDouble(JSONValue* value, double* output) { return value->asNum ber(output); }
439 static bool asString(JSONValue* value, String* output) { return value->asStr ing(output); } 435 static bool asString(JSONValue* value, String* output) { return value->asStr ing(output); }
440 static bool asBoolean(JSONValue* value, bool* output) { return value->asBool ean(output); } 436 static bool asBoolean(JSONValue* value, bool* output) { return value->asBool ean(output); }
441 static bool asObject(JSONValue* value, RefPtr<JSONObject>* output) { return value->asObject(output); } 437 static bool asObject(JSONValue* value, RefPtr<JSONObject>* output) { return value->asObject(output); }
442 static bool asArray(JSONValue* value, RefPtr<JSONArray>* output) { return va lue->asArray(output); } 438 static bool asArray(JSONValue* value, RefPtr<JSONArray>* output) { return va lue->asArray(output); }
443 }; 439 };
444 440
445 int InspectorBackendDispatcherImpl::getInt(JSONObject* object, const String& nam e, bool* valueFound, JSONArray* protocolErrors) 441 int InspectorBackendDispatcherImpl::getInt(JSONObject* object, const char* name, bool* valueFound, JSONArray* protocolErrors)
446 { 442 {
447 return getPropertyValueImpl<int, int, int>(object, name, valueFound, protoco lErrors, 0, AsMethodBridges::asInt, "Number"); 443 return getPropertyValueImpl<int, int, int>(object, name, valueFound, protoco lErrors, 0, AsMethodBridges::asInt, "Number");
448 } 444 }
449 445
450 double InspectorBackendDispatcherImpl::getDouble(JSONObject* object, const Strin g& name, bool* valueFound, JSONArray* protocolErrors) 446 double InspectorBackendDispatcherImpl::getDouble(JSONObject* object, const char* name, bool* valueFound, JSONArray* protocolErrors)
451 { 447 {
452 return getPropertyValueImpl<double, double, double>(object, name, valueFound , protocolErrors, 0, AsMethodBridges::asDouble, "Number"); 448 return getPropertyValueImpl<double, double, double>(object, name, valueFound , protocolErrors, 0, AsMethodBridges::asDouble, "Number");
453 } 449 }
454 450
455 String InspectorBackendDispatcherImpl::getString(JSONObject* object, const Strin g& name, bool* valueFound, JSONArray* protocolErrors) 451 String InspectorBackendDispatcherImpl::getString(JSONObject* object, const char* name, bool* valueFound, JSONArray* protocolErrors)
456 { 452 {
457 return getPropertyValueImpl<String, String, String>(object, name, valueFound , protocolErrors, "", AsMethodBridges::asString, "String"); 453 return getPropertyValueImpl<String, String, String>(object, name, valueFound , protocolErrors, "", AsMethodBridges::asString, "String");
458 } 454 }
459 455
460 bool InspectorBackendDispatcherImpl::getBoolean(JSONObject* object, const String & name, bool* valueFound, JSONArray* protocolErrors) 456 bool InspectorBackendDispatcherImpl::getBoolean(JSONObject* object, const char* name, bool* valueFound, JSONArray* protocolErrors)
461 { 457 {
462 return getPropertyValueImpl<bool, bool, bool>(object, name, valueFound, prot ocolErrors, false, AsMethodBridges::asBoolean, "Boolean"); 458 return getPropertyValueImpl<bool, bool, bool>(object, name, valueFound, prot ocolErrors, false, AsMethodBridges::asBoolean, "Boolean");
463 } 459 }
464 460
465 PassRefPtr<JSONObject> InspectorBackendDispatcherImpl::getObject(JSONObject* obj ect, const String& name, bool* valueFound, JSONArray* protocolErrors) 461 PassRefPtr<JSONObject> InspectorBackendDispatcherImpl::getObject(JSONObject* obj ect, const char* name, bool* valueFound, JSONArray* protocolErrors)
466 { 462 {
467 return getPropertyValueImpl<PassRefPtr<JSONObject>, RefPtr<JSONObject>, JSON Object*>(object, name, valueFound, protocolErrors, 0, AsMethodBridges::asObject, "Object"); 463 return getPropertyValueImpl<PassRefPtr<JSONObject>, RefPtr<JSONObject>, JSON Object*>(object, name, valueFound, protocolErrors, 0, AsMethodBridges::asObject, "Object");
468 } 464 }
469 465
470 PassRefPtr<JSONArray> InspectorBackendDispatcherImpl::getArray(JSONObject* objec t, const String& name, bool* valueFound, JSONArray* protocolErrors) 466 PassRefPtr<JSONArray> InspectorBackendDispatcherImpl::getArray(JSONObject* objec t, const char* name, bool* valueFound, JSONArray* protocolErrors)
471 { 467 {
472 return getPropertyValueImpl<PassRefPtr<JSONArray>, RefPtr<JSONArray>, JSONAr ray*>(object, name, valueFound, protocolErrors, 0, AsMethodBridges::asArray, "Ar ray"); 468 return getPropertyValueImpl<PassRefPtr<JSONArray>, RefPtr<JSONArray>, JSONAr ray*>(object, name, valueFound, protocolErrors, 0, AsMethodBridges::asArray, "Ar ray");
473 } 469 }
474 470
475 bool InspectorBackendDispatcher::getCommandName(const String& message, String* r esult) 471 bool InspectorBackendDispatcher::getCommandName(const String& message, String* r esult)
476 { 472 {
477 RefPtr<JSONValue> value = parseJSON(message); 473 RefPtr<JSONValue> value = parseJSON(message);
478 if (!value) 474 if (!value)
479 return false; 475 return false;
480 476
481 RefPtr<JSONObject> object = value->asObject(); 477 RefPtr<JSONObject> object = value->asObject();
482 if (!object) 478 if (!object)
483 return false; 479 return false;
484 480
485 if (!object->getString("method", result)) 481 if (!object->getString("method", result))
486 return false; 482 return false;
487 483
488 return true; 484 return true;
489 } 485 }
490 486
491 InspectorBackendDispatcher::CallbackBase::CallbackBase(PassRefPtr<InspectorBacke ndDispatcherImpl> backendImpl, int id) 487 InspectorBackendDispatcher::CallbackBase::CallbackBase(PassRefPtr<InspectorBacke ndDispatcherImpl> backendImpl, int id)
492 : m_backendImpl(backendImpl), m_id(id), m_alreadySent(false) {} 488 : m_backendImpl(backendImpl), m_id(id), m_alreadySent(false) {}
493 489
494 InspectorBackendDispatcher::CallbackBase::~CallbackBase() {} 490 InspectorBackendDispatcher::CallbackBase::~CallbackBase() {}
495 491
496 void InspectorBackendDispatcher::CallbackBase::sendFailure(const ErrorString& er ror) 492 void InspectorBackendDispatcher::CallbackBase::sendFailure(const ErrorString& er ror)
497 { 493 {
498 ASSERT(error.length()); 494 ASSERT(error.length());
499 sendIfActive(0, error, PassRefPtr<JSONValue>()); 495 sendIfActive(nullptr, error, PassRefPtr<JSONValue>());
500 } 496 }
501 497
502 bool InspectorBackendDispatcher::CallbackBase::isActive() 498 bool InspectorBackendDispatcher::CallbackBase::isActive()
503 { 499 {
504 return !m_alreadySent && m_backendImpl->isActive(); 500 return !m_alreadySent && m_backendImpl->isActive();
505 } 501 }
506 502
507 void InspectorBackendDispatcher::CallbackBase::sendIfActive(PassRefPtr<JSONObjec t> partialMessage, const ErrorString& invocationError, PassRefPtr<JSONValue> err orData) 503 void InspectorBackendDispatcher::CallbackBase::sendIfActive(PassRefPtr<JSONObjec t> partialMessage, const ErrorString& invocationError, PassRefPtr<JSONValue> err orData)
508 { 504 {
509 if (m_alreadySent) 505 if (m_alreadySent)
510 return; 506 return;
511 m_backendImpl->sendResponse(m_id, partialMessage, invocationError, errorData ); 507 m_backendImpl->sendResponse(m_id, invocationError, errorData, partialMessage );
512 m_alreadySent = true; 508 m_alreadySent = true;
513 } 509 }
514 510
515 } // namespace WebCore 511 } // namespace WebCore
516 512
517 """) 513 """)
518 514
519 frontend_cpp = ( 515 frontend_cpp = (
520 """ 516 """
521 517
522 #include "config.h" 518 #include "config.h"
523 #include "InspectorFrontend.h" 519 #include "InspectorFrontend.h"
524 520
525 #include "core/inspector/InspectorFrontendChannel.h" 521 #include "core/inspector/InspectorFrontendChannel.h"
526 #include "platform/JSONValues.h" 522 #include "platform/JSONValues.h"
527 #include "wtf/text/CString.h" 523 #include "wtf/text/CString.h"
528 #include "wtf/text/WTFString.h" 524 #include "wtf/text/WTFString.h"
529 525
530 namespace WebCore { 526 namespace WebCore {
531 527
532 InspectorFrontend::InspectorFrontend(InspectorFrontendChannel* inspectorFrontend Channel) 528 InspectorFrontend::InspectorFrontend(InspectorFrontendChannel* inspectorFrontend Channel)
533 : $constructorInit{ 529 : m_inspectorFrontendChannel(inspectorFrontendChannel)
530 , $constructorInit
531 {
534 } 532 }
535 533
536 $methods 534 $methods
537 535
538 } // namespace WebCore 536 } // namespace WebCore
539 537
540 """) 538 """)
541 539
542 typebuilder_h = ( 540 typebuilder_h = (
543 """ 541 """
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 RefPtr<JSONArray> array; 652 RefPtr<JSONArray> array;
655 bool castRes = value->asArray(&array); 653 bool castRes = value->asArray(&array);
656 ASSERT_UNUSED(castRes, castRes); 654 ASSERT_UNUSED(castRes, castRes);
657 #if $validatorIfdefName 655 #if $validatorIfdefName
658 assertCorrectValue(array.get()); 656 assertCorrectValue(array.get());
659 #endif // $validatorIfdefName 657 #endif // $validatorIfdefName
660 COMPILE_ASSERT(sizeof(Array<T>) == sizeof(JSONArray), type_cast_problem) ; 658 COMPILE_ASSERT(sizeof(Array<T>) == sizeof(JSONArray), type_cast_problem) ;
661 return static_cast<Array<T>*>(static_cast<JSONArrayBase*>(array.get())); 659 return static_cast<Array<T>*>(static_cast<JSONArrayBase*>(array.get()));
662 } 660 }
663 661
662 void concat(PassRefPtr<Array<T> > array)
663 {
664 return ArrayItemHelper<T>::Traits::concat(this->openAccessors(), array-> openAccessors());
665 }
666
664 #if $validatorIfdefName 667 #if $validatorIfdefName
665 static void assertCorrectValue(JSONValue* value) 668 static void assertCorrectValue(JSONValue* value)
666 { 669 {
667 RefPtr<JSONArray> array; 670 RefPtr<JSONArray> array;
668 bool castRes = value->asArray(&array); 671 bool castRes = value->asArray(&array);
669 ASSERT_UNUSED(castRes, castRes); 672 ASSERT_UNUSED(castRes, castRes);
670 for (unsigned i = 0; i < array->length(); i++) 673 for (unsigned i = 0; i < array->length(); i++)
671 ArrayItemHelper<T>::Traits::template assertCorrectValue<T>(array->ge t(i).get()); 674 ArrayItemHelper<T>::Traits::template assertCorrectValue<T>(array->ge t(i).get());
672 } 675 }
673 676
674 #endif // $validatorIfdefName 677 #endif // $validatorIfdefName
675 }; 678 };
676 679
677 struct StructItemTraits { 680 struct StructItemTraits {
678 static void pushRefPtr(JSONArray* array, PassRefPtr<JSONValue> value) 681 static void pushRefPtr(JSONArray* array, PassRefPtr<JSONValue> value)
679 { 682 {
680 array->pushValue(value); 683 array->pushValue(value);
681 } 684 }
682 685
686 static void concat(JSONArray* array, JSONArray* anotherArray)
687 {
688 for (JSONArray::iterator it = anotherArray->begin(); it != anotherArray- >end(); ++it)
689 array->pushValue(*it);
690 }
691
683 #if $validatorIfdefName 692 #if $validatorIfdefName
684 template<typename T> 693 template<typename T>
685 static void assertCorrectValue(JSONValue* value) { 694 static void assertCorrectValue(JSONValue* value) {
686 T::assertCorrectValue(value); 695 T::assertCorrectValue(value);
687 } 696 }
688 #endif // $validatorIfdefName 697 #endif // $validatorIfdefName
689 }; 698 };
690 699
691 template<> 700 template<>
692 struct ArrayItemHelper<String> { 701 struct ArrayItemHelper<String> {
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 890
882 #endif // $validatorIfdefName 891 #endif // $validatorIfdefName
883 892
884 } // namespace WebCore 893 } // namespace WebCore
885 894
886 """) 895 """)
887 896
888 param_container_access_code = """ 897 param_container_access_code = """
889 RefPtr<JSONObject> paramsContainer = requestMessageObject->getObject("params "); 898 RefPtr<JSONObject> paramsContainer = requestMessageObject->getObject("params ");
890 JSONObject* paramsContainerPtr = paramsContainer.get(); 899 JSONObject* paramsContainerPtr = paramsContainer.get();
891 JSONArray* protocolErrorsPtr = protocolErrors.get();
892 """ 900 """
893 901
894 class_binding_builder_part_1 = ( 902 class_binding_builder_part_1 = (
895 """ AllFieldsSet = %s 903 """ AllFieldsSet = %s
896 }; 904 };
897 905
898 template<int STATE> 906 template<int STATE>
899 class Builder { 907 class Builder {
900 private: 908 private:
901 RefPtr<JSONObject> m_result; 909 RefPtr<JSONObject> m_result;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 }; 946 };
939 947
940 """) 948 """)
941 949
942 class_binding_builder_part_4 = ( 950 class_binding_builder_part_4 = (
943 """ static Builder<NoFieldsSet> create() 951 """ static Builder<NoFieldsSet> create()
944 { 952 {
945 return Builder<NoFieldsSet>(JSONObject::create()); 953 return Builder<NoFieldsSet>(JSONObject::create());
946 } 954 }
947 """) 955 """)
OLDNEW
« no previous file with comments | « core/inspector/CodeGeneratorInspector.py ('k') | core/inspector/CodeGeneratorInstrumentation.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698