Diff
Modified: trunk/Source/WebCore/ChangeLog (103758 => 103759)
--- trunk/Source/WebCore/ChangeLog 2011-12-28 06:07:56 UTC (rev 103758)
+++ trunk/Source/WebCore/ChangeLog 2011-12-28 09:31:41 UTC (rev 103759)
@@ -1,3 +1,24 @@
+2011-12-27 Pavel Feldman <[email protected]>
+
+ Web Inspector: complete annotating SDK component.
+ https://bugs.webkit.org/show_bug.cgi?id=75259
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel.prototype._addScript):
+ * inspector/front-end/NetworkManager.js:
+ (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
+ (WebInspector.NetworkDispatcher.prototype._isNull):
+ (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.displayName):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
+ (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
+ (WebInspector.ResourceTreeFrame.prototype.get name):
+ * inspector/front-end/TabbedEditorContainer.js:
+
2011-12-27 Anantanarayanan G Iyengar <[email protected]>
Crash in the WebKit accessibility code while attempting to retrieve the title UI element.
Modified: trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp (103758 => 103759)
--- trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp 2011-12-28 06:07:56 UTC (rev 103758)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp 2011-12-28 09:31:41 UTC (rev 103759)
@@ -242,7 +242,7 @@
type = InspectorPageAgent::cachedResourceType(*cachedResource);
cachedResourceSize = cachedResource->encodedSize();
// Use mime type from cached resource in case the one in response is empty.
- if (response.mimeType().isEmpty())
+ if (resourceResponse && response.mimeType().isEmpty())
resourceResponse->setString("mimeType", cachedResource->response().mimeType());
m_resourcesData->addCachedResource(requestId, cachedResource);
Modified: trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js (103758 => 103759)
--- trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js 2011-12-28 06:07:56 UTC (rev 103758)
+++ trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js 2011-12-28 09:31:41 UTC (rev 103759)
@@ -124,7 +124,7 @@
*/
_addScript: function(script)
{
- var resource;
+ var resource = null;
var isInlineScript = false;
if (script.isInlineScript()) {
resource = WebInspector.networkManager.inflightResourceForURL(script.sourceURL) || WebInspector.resourceForURL(script.sourceURL);
Modified: trunk/Source/WebCore/inspector/front-end/NetworkManager.js (103758 => 103759)
--- trunk/Source/WebCore/inspector/front-end/NetworkManager.js 2011-12-28 06:07:56 UTC (rev 103758)
+++ trunk/Source/WebCore/inspector/front-end/NetworkManager.js 2011-12-28 09:31:41 UTC (rev 103759)
@@ -58,6 +58,10 @@
}
WebInspector.NetworkManager.prototype = {
+ /**
+ * @param {WebInspector.Resource} resource
+ * @param {function(?string, boolean)} callback
+ */
requestContent: function(resource, callback)
{
function callbackWrapper(error, content, contentEncoded)
@@ -93,14 +97,22 @@
NetworkAgent.disable(callback.bind(this));
},
+ /**
+ * @param {string} url
+ * @return {WebInspector.Resource}
+ */
inflightResourceForURL: function(url)
{
return this._dispatcher._inflightResourcesByURL[url];
},
+ /**
+ * @param {WebInspector.Event} event
+ */
_cacheDisabledSettingChanged: function(event)
{
- NetworkAgent.setCacheDisabled(event.data);
+ var enabled = /** @type {boolean} */ event.data;
+ NetworkAgent.setCacheDisabled(enabled);
},
_userAgentSettingChanged: function()
@@ -124,6 +136,10 @@
}
WebInspector.NetworkDispatcher.prototype = {
+ /**
+ * @param {WebInspector.Resource} resource
+ * @param {NetworkAgent.Request} request
+ */
_updateResourceWithRequest: function(resource, request)
{
resource.requestMethod = request.method;
@@ -131,6 +147,10 @@
resource.requestFormData = request.postData;
},
+ /**
+ * @param {WebInspector.Resource} resource
+ * @param {?NetworkAgent.Response} response
+ */
_updateResourceWithResponse: function(resource, response)
{
if (!response)
@@ -171,6 +191,10 @@
}
},
+ /**
+ * @param {WebInspector.Resource} resource
+ * @return {boolean}
+ */
_mimeTypeIsConsistentWithType: function(resource)
{
// If status is an error, content is likely to be of an inconsistent type,
@@ -197,6 +221,10 @@
return false;
},
+ /**
+ * @param {WebInspector.Resource} resource
+ * @param {?NetworkAgent.CachedResource} cachedResource
+ */
_updateResourceWithCachedResource: function(resource, cachedResource)
{
resource.type = WebInspector.Resource.Type[cachedResource.type];
@@ -204,11 +232,28 @@
this._updateResourceWithResponse(resource, cachedResource.response);
},
+ /**
+ * @param {NetworkAgent.Response} response
+ * @return {boolean}
+ */
_isNull: function(response)
{
- return response && !response.status && !response.mimeType && !Object.keys(response.headers).length;
+ if (!response)
+ return true;
+ return !response.status && !response.mimeType && (!response.headers || !Object.keys(response.headers).length);
},
+ /**
+ * @param {NetworkAgent.RequestId} requestId
+ * @param {NetworkAgent.FrameId} frameId
+ * @param {NetworkAgent.LoaderId} loaderId
+ * @param {string} documentURL
+ * @param {NetworkAgent.Request} request
+ * @param {NetworkAgent.Timestamp} time
+ * @param {NetworkAgent.Initiator} initiator
+ * @param {ConsoleAgent.StackTrace=} stackTrace
+ * @param {NetworkAgent.Response=} redirectResponse
+ */
requestWillBeSent: function(requestId, frameId, loaderId, documentURL, request, time, initiator, stackTrace, redirectResponse)
{
var resource = this._inflightResourcesById[requestId];
@@ -227,6 +272,9 @@
this._startResource(resource);
},
+ /**
+ * @param {NetworkAgent.RequestId} requestId
+ */
requestServedFromCache: function(requestId)
{
var resource = this._inflightResourcesById[requestId];
@@ -236,6 +284,14 @@
resource.cached = true;
},
+ /**
+ * @param {NetworkAgent.RequestId} requestId
+ * @param {NetworkAgent.FrameId} frameId
+ * @param {NetworkAgent.LoaderId} loaderId
+ * @param {NetworkAgent.Timestamp} time
+ * @param {PageAgent.ResourceType} resourceType
+ * @param {NetworkAgent.Response} response
+ */
responseReceived: function(requestId, frameId, loaderId, time, resourceType, response)
{
// FIXME: move this check to the backend.
@@ -263,6 +319,12 @@
this._updateResource(resource);
},
+ /**
+ * @param {NetworkAgent.RequestId} requestId
+ * @param {NetworkAgent.Timestamp} time
+ * @param {number} dataLength
+ * @param {number} encodedDataLength
+ */
dataReceived: function(requestId, time, dataLength, encodedDataLength)
{
var resource = this._inflightResourcesById[requestId];
@@ -277,6 +339,10 @@
this._updateResource(resource);
},
+ /**
+ * @param {NetworkAgent.RequestId} requestId
+ * @param {NetworkAgent.Timestamp} finishTime
+ */
loadingFinished: function(requestId, finishTime)
{
var resource = this._inflightResourcesById[requestId];
@@ -285,6 +351,12 @@
this._finishResource(resource, finishTime);
},
+ /**
+ * @param {NetworkAgent.RequestId} requestId
+ * @param {NetworkAgent.Timestamp} time
+ * @param {string} localizedDescription
+ * @param {boolean=} canceled
+ */
loadingFailed: function(requestId, time, localizedDescription, canceled)
{
var resource = this._inflightResourcesById[requestId];
@@ -297,6 +369,15 @@
this._finishResource(resource, time);
},
+ /**
+ * @param {NetworkAgent.RequestId} requestId
+ * @param {NetworkAgent.FrameId} frameId
+ * @param {NetworkAgent.LoaderId} loaderId
+ * @param {string} documentURL
+ * @param {NetworkAgent.Timestamp} time
+ * @param {NetworkAgent.Initiator} initiator
+ * @param {NetworkAgent.CachedResource} cachedResource
+ */
requestServedFromMemoryCache: function(requestId, frameId, loaderId, documentURL, time, initiator, cachedResource)
{
var resource = this._createResource(requestId, frameId, loaderId, cachedResource.url, documentURL, initiator, null);
@@ -308,13 +389,22 @@
this._finishResource(resource, time);
},
+ /**
+ * @param {NetworkAgent.RequestId} requestId
+ * @param {string} requestURL
+ */
webSocketCreated: function(requestId, requestURL)
{
- var resource = new WebInspector.Resource(requestId, requestURL, null, null);
+ var resource = new WebInspector.Resource(requestId, requestURL, "", null);
resource.type = WebInspector.Resource.Type.WebSocket;
this._startResource(resource);
},
+ /**
+ * @param {NetworkAgent.RequestId} requestId
+ * @param {NetworkAgent.Timestamp} time
+ * @param {NetworkAgent.WebSocketRequest} request
+ */
webSocketWillSendHandshakeRequest: function(requestId, time, request)
{
var resource = this._inflightResourcesById[requestId];
@@ -329,6 +419,11 @@
this._updateResource(resource);
},
+ /**
+ * @param {NetworkAgent.RequestId} requestId
+ * @param {NetworkAgent.Timestamp} time
+ * @param {NetworkAgent.WebSocketResponse} response
+ */
webSocketHandshakeResponseReceived: function(requestId, time, response)
{
var resource = this._inflightResourcesById[requestId];
@@ -344,6 +439,10 @@
this._updateResource(resource);
},
+ /**
+ * @param {NetworkAgent.RequestId} requestId
+ * @param {NetworkAgent.Timestamp} time
+ */
webSocketClosed: function(requestId, time)
{
var resource = this._inflightResourcesById[requestId];
@@ -352,6 +451,11 @@
this._finishResource(resource, time);
},
+ /**
+ * @param {NetworkAgent.RequestId} requestId
+ * @param {NetworkAgent.Timestamp} time
+ * @param {string} redirectURL
+ */
_appendRedirect: function(requestId, time, redirectURL)
{
var originalResource = this._inflightResourcesById[requestId];
@@ -367,6 +471,9 @@
return newResource;
},
+ /**
+ * @param {WebInspector.Resource} resource
+ */
_startResource: function(resource)
{
this._inflightResourcesById[resource.requestId] = resource;
@@ -374,11 +481,18 @@
this._dispatchEventToListeners(WebInspector.NetworkManager.EventTypes.ResourceStarted, resource);
},
+ /**
+ * @param {WebInspector.Resource} resource
+ */
_updateResource: function(resource)
{
this._dispatchEventToListeners(WebInspector.NetworkManager.EventTypes.ResourceUpdated, resource);
},
+ /**
+ * @param {WebInspector.Resource} resource
+ * @param {NetworkAgent.Timestamp} finishTime
+ */
_finishResource: function(resource, finishTime)
{
resource.endTime = finishTime;
@@ -388,6 +502,10 @@
delete this._inflightResourcesByURL[resource.url];
},
+ /**
+ * @param {string} eventType
+ * @param {WebInspector.Resource} resource
+ */
_dispatchEventToListeners: function(eventType, resource)
{
this._manager.dispatchEventToListeners(eventType, resource);
Modified: trunk/Source/WebCore/inspector/front-end/Resource.js (103758 => 103759)
--- trunk/Source/WebCore/inspector/front-end/Resource.js 2011-12-28 06:07:56 UTC (rev 103758)
+++ trunk/Source/WebCore/inspector/front-end/Resource.js 2011-12-28 09:31:41 UTC (rev 103759)
@@ -72,7 +72,7 @@
*
* @param {NetworkAgent.RequestId} requestId
* @param {string} url
- * @param {?string} frameId
+ * @param {string} frameId
* @param {?NetworkAgent.LoaderId} loaderId
*/
WebInspector.Resource = function(requestId, url, frameId, loaderId)
@@ -100,7 +100,7 @@
*/
WebInspector.Resource.displayName = function(url)
{
- return new WebInspector.Resource("fake-transient-resource", url, null, null).displayName;
+ return new WebInspector.Resource("fake-transient-resource", url, "", null).displayName;
}
// Keep these in sync with WebCore::InspectorResource::Type
@@ -555,7 +555,7 @@
},
/**
- * @return {NetworkAgent.ResourceTiming}
+ * @return {NetworkAgent.ResourceTiming|undefined}
*/
get timing()
{
@@ -718,7 +718,7 @@
},
/**
- * @return {Array.<WebInspector.Cookie>}
+ * @type {Array.<WebInspector.Cookie>}
*/
get requestCookies()
{
@@ -728,7 +728,7 @@
},
/**
- * @return {string}
+ * @type {string|undefined}
*/
get requestFormData()
{
@@ -742,7 +742,7 @@
},
/**
- * @return {string|undefined}
+ * @type {string|undefined}
*/
get requestHttpVersion()
{
@@ -752,7 +752,7 @@
},
/**
- * @return {Object}
+ * @type {Object}
*/
get responseHeaders()
{
@@ -769,7 +769,7 @@
},
/**
- * @return {string}
+ * @type {string}
*/
get responseHeadersText()
{
@@ -789,7 +789,7 @@
},
/**
- * @return {number}
+ * @type {number}
*/
get responseHeadersSize()
{
@@ -797,7 +797,7 @@
},
/**
- * @return {Array.<Object>}
+ * @type {Array.<Object>}
*/
get sortedResponseHeaders()
{
@@ -822,7 +822,7 @@
},
/**
- * @return {Array.<WebInspector.Cookie>}
+ * @type {Array.<WebInspector.Cookie>}
*/
get responseCookies()
{
@@ -832,7 +832,7 @@
},
/**
- * @return {?Array.<Object>}
+ * @type {?Array.<Object>}
*/
get queryParameters()
{
@@ -847,7 +847,7 @@
},
/**
- * @return {?Array.<Object>}
+ * @type {?Array.<Object>}
*/
get formParameters()
{
@@ -863,7 +863,7 @@
},
/**
- * @return {string|undefined}
+ * @type {string|undefined}
*/
get responseHttpVersion()
{
@@ -907,7 +907,7 @@
},
/**
- * @return {Array.<WebInspector.ConsoleMessage>}
+ * @type {Array.<WebInspector.ConsoleMessage>}
*/
get messages()
{
@@ -929,7 +929,7 @@
},
/**
- * @return {number}
+ * @type {number}
*/
get errors()
{
@@ -942,7 +942,7 @@
},
/**
- * @return {number}
+ * @type {number}
*/
get warnings()
{
@@ -963,7 +963,7 @@
},
/**
- * @return {string}
+ * @type {string}
*/
get content()
{
@@ -971,7 +971,7 @@
},
/**
- * @return {string}
+ * @type {string}
*/
get contentEncoded()
{
@@ -979,7 +979,7 @@
},
/**
- * @return {number}
+ * @type {number}
*/
get contentTimestamp()
{
@@ -1177,7 +1177,7 @@
WebInspector.ResourceRevision.prototype = {
/**
- * @return {WebInspector.Resource}
+ * @type {WebInspector.Resource}
*/
get resource()
{
@@ -1185,7 +1185,7 @@
},
/**
- * @return {number}
+ * @type {number}
*/
get timestamp()
{
@@ -1193,7 +1193,7 @@
},
/**
- * @return {string}
+ * @type {string}
*/
get content()
{
Modified: trunk/Source/WebCore/inspector/front-end/ResourceTreeModel.js (103758 => 103759)
--- trunk/Source/WebCore/inspector/front-end/ResourceTreeModel.js 2011-12-28 06:07:56 UTC (rev 103758)
+++ trunk/Source/WebCore/inspector/front-end/ResourceTreeModel.js 2011-12-28 09:31:41 UTC (rev 103759)
@@ -157,6 +157,10 @@
this._dispatchInspectedURLChanged();
},
+ /**
+ * @param {PageAgent.Frame} framePayload
+ * @return {boolean}
+ */
_frontendReused: function(framePayload)
{
if (!framePayload.parentId && !WebInspector.networkLog.resources.length) {
@@ -167,6 +171,9 @@
return false;
},
+ /**
+ * @param {NetworkAgent.FrameId} frameId
+ */
_frameDetached: function(frameId)
{
// Do nothing unless cached resource tree is processed - it will overwrite everything.
@@ -186,14 +193,17 @@
}
},
+ /**
+ * @param {WebInspector.Event} event
+ */
_onResourceUpdated: function(event)
{
if (!this._cachedResourcesProcessed)
return;
- this._addPendingConsoleMessagesToResource(event.data);
+ var resource = /** @type {WebInspector.Resource} */ event.data;
+ this._addPendingConsoleMessagesToResource(resource);
- var resource = event.data;
if (resource.failed || resource.type === WebInspector.Resource.Type.XHR)
return;
@@ -202,6 +212,9 @@
frame._addResource(resource);
},
+ /**
+ * @param {WebInspector.Event} event
+ */
_onResourceUpdateDropped: function(event)
{
if (!this._cachedResourcesProcessed)
@@ -223,11 +236,18 @@
frame._addResource(resource);
},
+ /**
+ * @param {NetworkAgent.FrameId} frameId
+ */
frameForId: function(frameId)
{
return this._frames[frameId];
},
+ /**
+ * @param {function(WebInspector.Resource)} callback
+ * @return {boolean}
+ */
forAllResources: function(callback)
{
if (this.mainFrame)
@@ -235,16 +255,22 @@
return false;
},
+ /**
+ * @param {WebInspector.Event} event
+ */
_consoleMessageAdded: function(event)
{
- var msg = event.data;
- var resource = this.resourceForURL(msg.url);
+ var msg = /** @type {WebInspector.ConsoleMessage} */ event.data;
+ var resource = msg.url ? this.resourceForURL(msg.url) : null;
if (resource)
this._addConsoleMessageToResource(msg, resource);
else
this._addPendingConsoleMessage(msg);
},
+ /**
+ * @param {WebInspector.ConsoleMessage} msg
+ */
_addPendingConsoleMessage: function(msg)
{
if (!msg.url)
@@ -254,6 +280,9 @@
this._pendingConsoleMessages[msg.url].push(msg);
},
+ /**
+ * @param {WebInspector.Resource} resource
+ */
_addPendingConsoleMessagesToResource: function(resource)
{
var messages = this._pendingConsoleMessages[resource.url];
@@ -264,6 +293,10 @@
}
},
+ /**
+ * @param {WebInspector.ConsoleMessage} msg
+ * @param {WebInspector.Resource} resource
+ */
_addConsoleMessageToResource: function(msg, resource)
{
switch (msg.level) {
@@ -288,12 +321,20 @@
this.forAllResources(callback);
},
+ /**
+ * @param {string} url
+ * @return {WebInspector.Resource}
+ */
resourceForURL: function(url)
{
// Workers call into this with no frames available.
return this.mainFrame ? this.mainFrame.resourceForURL(url) : null;
},
+ /**
+ * @param {WebInspector.ResourceTreeFrame} parentFrame
+ * @param {PageAgent.FrameResourceTree} frameTreePayload
+ */
_addFramesRecursively: function(parentFrame, frameTreePayload)
{
var framePayload = frameTreePayload.frame;
@@ -331,6 +372,7 @@
/**
* @param {PageAgent.Frame} frame
* @param {string} url
+ * @return {WebInspector.Resource}
*/
_createResourceFromFramePayload: function(frame, url)
{
@@ -342,6 +384,7 @@
* @param {string} documentURL
* @param {NetworkAgent.FrameId} frameId
* @param {NetworkAgent.LoaderId} loaderId
+ * @return {WebInspector.Resource}
*/
_createResource: function(url, documentURL, frameId, loaderId)
{
@@ -385,31 +428,49 @@
}
WebInspector.ResourceTreeFrame.prototype = {
+ /**
+ * @return {string}
+ */
get id()
{
return this._id;
},
+ /**
+ * @return {string}
+ */
get name()
{
- return this._name;
+ return this._name || "";
},
+ /**
+ * @return {string}
+ */
get url()
{
return this._url;
},
+ /**
+ * @return {string}
+ */
get loaderId()
{
return this._loaderId;
},
+ /**
+ * @return {WebInspector.ResourceTreeFrame}
+ */
get parentFrame()
{
return this._parentFrame;
},
+ /**
+ * @return {Array.<WebInspector.ResourceTreeFrame>}
+ */
get childFrames()
{
return this._childFrames;
@@ -440,6 +501,9 @@
this._addResource(mainResource);
},
+ /**
+ * @return {WebInspector.Resource}
+ */
get mainResource()
{
return this._resourcesMap[this._url];
@@ -506,6 +570,7 @@
/**
* @param {function(WebInspector.Resource)} callback
+ * @return {boolean}
*/
_callForFrameResources: function(callback)
{
Modified: trunk/Source/WebCore/inspector/front-end/TabbedEditorContainer.js (103758 => 103759)
--- trunk/Source/WebCore/inspector/front-end/TabbedEditorContainer.js 2011-12-28 06:07:56 UTC (rev 103758)
+++ trunk/Source/WebCore/inspector/front-end/TabbedEditorContainer.js 2011-12-28 09:31:41 UTC (rev 103759)
@@ -97,7 +97,7 @@
},
/**
- * @param {Event} event
+ * @param {WebInspector.Event} event
*/
_tabClosed: function(event)
{