Changeset 83435 in webkit
- Timestamp:
- Apr 11, 2011 5:30:57 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r83434 r83435 1 2011-04-11 Pavel Feldman <pfeldman@chromium.org> 2 3 Reviewed by Yury Semikhatsky. 4 5 Web Inspector: add support for optional output parameters. 6 https://bugs.webkit.org/show_bug.cgi?id=58207 7 8 Output parameters such as "redirectResponse" are optional, but 9 do not allow specifying them as such. 10 11 * inspector/CodeGeneratorInspector.pm: 12 * inspector/Inspector.json: 13 * inspector/InspectorResourceAgent.cpp: 14 (WebCore::buildObjectForResourceResponse): 15 (WebCore::buildObjectForCachedResource): 16 * inspector/front-end/NetworkManager.js: 17 (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse): 18 * inspector/generate-inspector-idl: 19 1 20 2011-04-11 Pavel Feldman <pfeldman@chromium.org> 2 21 -
trunk/Source/WebCore/inspector/CodeGeneratorInspector.pm
r83171 r83435 376 376 if (scalar(@argsFiltered)) { 377 377 push(@function, " RefPtr<InspectorObject> paramsObject = InspectorObject::create();"); 378 my @pushArguments = map(" paramsObject->set" . typeTraits($_->type, "JSONType") . "(\"" . $_->name . "\", " . $_->name . ");", @argsFiltered); 379 push(@function, @pushArguments); 378 379 foreach my $parameter (@argsFiltered) { 380 my $optional = $parameter->extendedAttributes->{"optional"} ? "if (" . $parameter->name . ")\n " : ""; 381 push(@function, " " . $optional . "paramsObject->set" . typeTraits($parameter->type, "JSONType") . "(\"" . $parameter->name . "\", " . $parameter->name . ");"); 382 } 380 383 push(@function, " ${functionName}Message->setObject(\"params\", paramsObject);"); 381 384 } -
trunk/Source/WebCore/inspector/Inspector.json
r83434 r83435 387 387 { "name": "documentURL", "type": "string", "description": "URL of the document this resource is loaded for." }, 388 388 { "name": "request", "$ref": "ResourceRequest", "description": "Request data." }, 389 { "name": "redirectResponse", " $ref": "ResourceResponse", "description": "Redirect response data." },389 { "name": "redirectResponse", "optional": true, "$ref": "ResourceResponse", "description": "Redirect response data." }, 390 390 { "name": "time", "type": "number", "description": "Timestamp." }, 391 391 { "name": "callStack", "type": "array", "items": { "$ref" : "DebuggerStackFrame"}, "description": "JavaScript stack trace upon issuing this request." } … … 394 394 { 395 395 "name": "resourceMarkedAsCached", 396 "description": "Fired when request is known to be served from memorycache.",396 "description": "Fired when request is known to be served from disk cache.", 397 397 "parameters": [ 398 398 { "name": "identifier", "type": "integer", "description": "Request identifier." } … … 1285 1285 "returns": [ 1286 1286 { "name": "breakpointId", "type": "string", "description": "Id of the created breakpoint for further manipulations." }, 1287 { "name": "locations", " type": "array", "items": { "$ref" : "Location"}, "description": "List of the locations this breakpoint resolved into." }1287 { "name": "locations", "optional": true, "type": "array", "items": { "$ref" : "Location"}, "description": "List of the locations this breakpoint resolved into." } 1288 1288 ], 1289 1289 "description": "Sets JavaScript breakpoint at a given location specified by URL. This breakpoint will survive page reload." -
trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp
r82847 r83435 216 216 static PassRefPtr<InspectorObject> buildObjectForResourceResponse(const ResourceResponse& response) 217 217 { 218 if (response.isNull()) 219 return 0; 220 218 221 RefPtr<InspectorObject> responseObject = InspectorObject::create(); 219 if (response.isNull())220 return responseObject;221 222 222 responseObject->setNumber("status", response.resourceLoadInfo() ? response.resourceLoadInfo()->httpStatusCode : response.httpStatusCode()); 223 223 responseObject->setString("statusText", response.resourceLoadInfo() ? response.resourceLoadInfo()->httpStatusText : response.httpStatusText()); … … 271 271 resourceObject->setString("type", cachedResourceTypeString(cachedResource)); 272 272 resourceObject->setNumber("bodySize", cachedResource.encodedSize()); 273 resourceObject->setObject("response", buildObjectForResourceResponse(cachedResource.response())); 273 RefPtr<InspectorObject> resourceResponse = buildObjectForResourceResponse(cachedResource.response()); 274 if (resourceResponse) 275 resourceObject->setObject("response", resourceResponse); 274 276 return resourceObject; 275 277 } -
trunk/Source/WebCore/inspector/front-end/NetworkManager.js
r82111 r83435 86 86 _updateResourceWithResponse: function(resource, response) 87 87 { 88 if (! ("status" in response))88 if (!response) 89 89 return; 90 90 -
trunk/Source/WebCore/inspector/generate-inspector-idl
r82847 r83435 131 131 if ("parameters" in event): 132 132 for in_param in event["parameters"]: 133 params.append("out %s %s" % (param_type(in_param), in_param["name"])) 133 if ("optional" in in_param): 134 optional = " [optional]" 135 else: 136 optional = "" 137 params.append("out%s %s %s" % (optional, param_type(in_param), in_param["name"])) 134 138 output_file.write("\n [event] void %s(%s);" % (event["name"], ", ".join(params))) 135 139 output_file.write("\n };")
Note: See TracChangeset
for help on using the changeset viewer.