Index: chrome_linux64/resources/inspector/NetworkPanel.js |
=================================================================== |
--- chrome_linux64/resources/inspector/NetworkPanel.js (revision 273864) |
+++ chrome_linux64/resources/inspector/NetworkPanel.js (working copy) |
@@ -1,7 +1,7 @@ |
WebInspector.RequestView=function(request) |
-{WebInspector.View.call(this);this.registerRequiredCSS("resourceView.css");this.element.classList.add("resource-view");this.request=request;} |
+{WebInspector.VBox.call(this);this.registerRequiredCSS("resourceView.css");this.element.classList.add("resource-view");this.request=request;} |
WebInspector.RequestView.prototype={hasContent:function() |
-{return false;},__proto__:WebInspector.View.prototype} |
+{return false;},__proto__:WebInspector.VBox.prototype} |
WebInspector.RequestView.hasTextContent=function(request) |
{if(request.type.isTextType()) |
return true;if(request.type===WebInspector.resourceTypes.Other||request.hasErrorStatusCode()) |
@@ -13,7 +13,9 @@ |
if(request.timing){var timingView=new WebInspector.RequestTimingView(request);this.appendTab("timing",WebInspector.UIString("Timing"),timingView);} |
this._request=request;} |
WebInspector.NetworkItemView.prototype={wasShown:function() |
-{WebInspector.TabbedPane.prototype.wasShown.call(this);this._selectTab();},_selectTab:function(tabId) |
+{WebInspector.TabbedPane.prototype.wasShown.call(this);this._selectTab();},currentSourceFrame:function() |
+{var view=this.visibleView;if(view&&view instanceof WebInspector.SourceFrame) |
+return(view);return null;},_selectTab:function(tabId) |
{if(!tabId) |
tabId=WebInspector.settings.resourceViewTab.get();if(!this.selectTab(tabId)){this._isInFallbackSelection=true;this.selectTab("headers");delete this._isInFallbackSelection;}},_tabSelected:function(event) |
{if(!event.data.isUserGesture) |
@@ -30,11 +32,8 @@ |
return;this._innerViewShowRequested=true;function callback(content) |
{this._innerViewShowRequested=false;this.contentLoaded();} |
this.request.requestContent(callback.bind(this));},contentLoaded:function() |
-{},canHighlightPosition:function() |
-{return this._innerView&&this._innerView.canHighlightPosition();},highlightPosition:function(line,column) |
-{if(this.canHighlightPosition()) |
-this._innerView.highlightPosition(line,column);},__proto__:WebInspector.RequestView.prototype};WebInspector.RequestCookiesView=function(request) |
-{WebInspector.View.call(this);this.element.classList.add("resource-cookies-view");this._request=request;} |
+{},__proto__:WebInspector.RequestView.prototype};WebInspector.RequestCookiesView=function(request) |
+{WebInspector.VBox.call(this);this.element.classList.add("resource-cookies-view");this._request=request;} |
WebInspector.RequestCookiesView.prototype={wasShown:function() |
{this._request.addEventListener(WebInspector.NetworkRequest.Events.RequestHeadersChanged,this._refreshCookies,this);this._request.addEventListener(WebInspector.NetworkRequest.Events.ResponseHeadersChanged,this._refreshCookies,this);if(!this._gotCookies){if(!this._emptyView){this._emptyView=new WebInspector.EmptyView(WebInspector.UIString("This request has no cookies."));this._emptyView.show(this.element);} |
return;} |
@@ -44,11 +43,11 @@ |
{return(this._request.requestCookies&&this._request.requestCookies.length)||(this._request.responseCookies&&this._request.responseCookies.length);},_buildCookiesTable:function() |
{this.detachChildViews();this._cookiesTable=new WebInspector.CookiesTable(true);this._cookiesTable.setCookieFolders([{folderName:WebInspector.UIString("Request Cookies"),cookies:this._request.requestCookies},{folderName:WebInspector.UIString("Response Cookies"),cookies:this._request.responseCookies}]);this._cookiesTable.show(this.element);},_refreshCookies:function() |
{delete this._cookiesTable;if(!this._gotCookies||!this.isShowing()) |
-return;this._buildCookiesTable();},__proto__:WebInspector.View.prototype};WebInspector.RequestHeadersView=function(request) |
-{WebInspector.View.call(this);this.registerRequiredCSS("resourceView.css");this.element.classList.add("resource-headers-view");this._request=request;this._headersListElement=document.createElement("ol");this._headersListElement.className="outline-disclosure";this.element.appendChild(this._headersListElement);this._headersTreeOutline=new TreeOutline(this._headersListElement);this._headersTreeOutline.expandTreeElementsWhenArrowing=true;this._urlTreeElement=new TreeElement("",null,false);this._urlTreeElement.selectable=false;this._headersTreeOutline.appendChild(this._urlTreeElement);this._requestMethodTreeElement=new TreeElement("",null,false);this._requestMethodTreeElement.selectable=false;this._headersTreeOutline.appendChild(this._requestMethodTreeElement);this._statusCodeTreeElement=new TreeElement("",null,false);this._statusCodeTreeElement.selectable=false;this._headersTreeOutline.appendChild(this._statusCodeTreeElement);this._requestHeadersTreeElement=new TreeElement("",null,true);this._requestHeadersTreeElement.expanded=true;this._requestHeadersTreeElement.selectable=false;this._headersTreeOutline.appendChild(this._requestHeadersTreeElement);this._decodeRequestParameters=true;this._showRequestHeadersText=false;this._showResponseHeadersText=false;this._queryStringTreeElement=new TreeElement("",null,true);this._queryStringTreeElement.expanded=true;this._queryStringTreeElement.selectable=false;this._queryStringTreeElement.hidden=true;this._headersTreeOutline.appendChild(this._queryStringTreeElement);this._formDataTreeElement=new TreeElement("",null,true);this._formDataTreeElement.expanded=true;this._formDataTreeElement.selectable=false;this._formDataTreeElement.hidden=true;this._headersTreeOutline.appendChild(this._formDataTreeElement);this._requestPayloadTreeElement=new TreeElement(WebInspector.UIString("Request Payload"),null,true);this._requestPayloadTreeElement.expanded=true;this._requestPayloadTreeElement.selectable=false;this._requestPayloadTreeElement.hidden=true;this._headersTreeOutline.appendChild(this._requestPayloadTreeElement);this._responseHeadersTreeElement=new TreeElement("",null,true);this._responseHeadersTreeElement.expanded=true;this._responseHeadersTreeElement.selectable=false;this._headersTreeOutline.appendChild(this._responseHeadersTreeElement);} |
+return;this._buildCookiesTable();},__proto__:WebInspector.VBox.prototype};WebInspector.RequestHeadersView=function(request) |
+{WebInspector.VBox.call(this);this.registerRequiredCSS("resourceView.css");this.element.classList.add("resource-headers-view");this._request=request;this._headersListElement=document.createElement("ol");this._headersListElement.className="outline-disclosure";this.element.appendChild(this._headersListElement);this._headersTreeOutline=new TreeOutline(this._headersListElement);this._headersTreeOutline.expandTreeElementsWhenArrowing=true;this._remoteAddressTreeElement=new TreeElement("",null,false);this._remoteAddressTreeElement.selectable=false;this._remoteAddressTreeElement.hidden=true;this._headersTreeOutline.appendChild(this._remoteAddressTreeElement);this._urlTreeElement=new TreeElement("",null,false);this._urlTreeElement.selectable=false;this._headersTreeOutline.appendChild(this._urlTreeElement);this._requestMethodTreeElement=new TreeElement("",null,false);this._requestMethodTreeElement.selectable=false;this._headersTreeOutline.appendChild(this._requestMethodTreeElement);this._statusCodeTreeElement=new TreeElement("",null,false);this._statusCodeTreeElement.selectable=false;this._headersTreeOutline.appendChild(this._statusCodeTreeElement);this._requestHeadersTreeElement=new TreeElement("",null,true);this._requestHeadersTreeElement.expanded=true;this._requestHeadersTreeElement.selectable=false;this._headersTreeOutline.appendChild(this._requestHeadersTreeElement);this._decodeRequestParameters=true;this._showRequestHeadersText=false;this._showResponseHeadersText=false;this._queryStringTreeElement=new TreeElement("",null,true);this._queryStringTreeElement.expanded=true;this._queryStringTreeElement.selectable=false;this._queryStringTreeElement.hidden=true;this._headersTreeOutline.appendChild(this._queryStringTreeElement);this._formDataTreeElement=new TreeElement("",null,true);this._formDataTreeElement.expanded=true;this._formDataTreeElement.selectable=false;this._formDataTreeElement.hidden=true;this._headersTreeOutline.appendChild(this._formDataTreeElement);this._requestPayloadTreeElement=new TreeElement(WebInspector.UIString("Request Payload"),null,true);this._requestPayloadTreeElement.expanded=true;this._requestPayloadTreeElement.selectable=false;this._requestPayloadTreeElement.hidden=true;this._headersTreeOutline.appendChild(this._requestPayloadTreeElement);this._responseHeadersTreeElement=new TreeElement("",null,true);this._responseHeadersTreeElement.expanded=true;this._responseHeadersTreeElement.selectable=false;this._headersTreeOutline.appendChild(this._responseHeadersTreeElement);} |
WebInspector.RequestHeadersView.prototype={wasShown:function() |
-{this._request.addEventListener(WebInspector.NetworkRequest.Events.RequestHeadersChanged,this._refreshRequestHeaders,this);this._request.addEventListener(WebInspector.NetworkRequest.Events.ResponseHeadersChanged,this._refreshResponseHeaders,this);this._request.addEventListener(WebInspector.NetworkRequest.Events.FinishedLoading,this._refreshHTTPInformation,this);this._refreshURL();this._refreshQueryString();this._refreshRequestHeaders();this._refreshResponseHeaders();this._refreshHTTPInformation();},willHide:function() |
-{this._request.removeEventListener(WebInspector.NetworkRequest.Events.RequestHeadersChanged,this._refreshRequestHeaders,this);this._request.removeEventListener(WebInspector.NetworkRequest.Events.ResponseHeadersChanged,this._refreshResponseHeaders,this);this._request.removeEventListener(WebInspector.NetworkRequest.Events.FinishedLoading,this._refreshHTTPInformation,this);},_formatHeader:function(name,value) |
+{this._request.addEventListener(WebInspector.NetworkRequest.Events.RemoteAddressChanged,this._refreshRemoteAddress,this);this._request.addEventListener(WebInspector.NetworkRequest.Events.RequestHeadersChanged,this._refreshRequestHeaders,this);this._request.addEventListener(WebInspector.NetworkRequest.Events.ResponseHeadersChanged,this._refreshResponseHeaders,this);this._request.addEventListener(WebInspector.NetworkRequest.Events.FinishedLoading,this._refreshHTTPInformation,this);this._refreshURL();this._refreshQueryString();this._refreshRequestHeaders();this._refreshResponseHeaders();this._refreshHTTPInformation();this._refreshRemoteAddress();},willHide:function() |
+{this._request.removeEventListener(WebInspector.NetworkRequest.Events.RemoteAddressChanged,this._refreshRemoteAddress,this);this._request.removeEventListener(WebInspector.NetworkRequest.Events.RequestHeadersChanged,this._refreshRequestHeaders,this);this._request.removeEventListener(WebInspector.NetworkRequest.Events.ResponseHeadersChanged,this._refreshResponseHeaders,this);this._request.removeEventListener(WebInspector.NetworkRequest.Events.FinishedLoading,this._refreshHTTPInformation,this);},_formatHeader:function(name,value) |
{var fragment=document.createDocumentFragment();fragment.createChild("div","header-name").textContent=name+":";fragment.createChild("div","header-value source-code").textContent=value;return fragment;},_formatParameter:function(value,className,decodeParameters) |
{var errorDecoding=false;if(decodeParameters){value=value.replace(/\+/g," ");if(value.indexOf("%")>=0){try{value=decodeURIComponent(value);}catch(e){errorDecoding=true;}}} |
var div=document.createElement("div");div.className=className;if(errorDecoding) |
@@ -84,11 +83,13 @@ |
value.createChild("span","status-from-cache").textContent=" "+WebInspector.UIString("(from cache)");statusCodeElement.title=statusCodeFragment;}},_refreshHeadersTitle:function(title,headersTreeElement,headersLength) |
{headersTreeElement.listItemElement.removeChildren();headersTreeElement.listItemElement.createTextChild(title);var headerCount=WebInspector.UIString(" (%d)",headersLength);headersTreeElement.listItemElement.createChild("span","header-count").textContent=headerCount;},_refreshHeaders:function(title,headers,headersTreeElement) |
{headersTreeElement.removeChildren();var length=headers.length;this._refreshHeadersTitle(title,headersTreeElement,length);headersTreeElement.hidden=!length;for(var i=0;i<length;++i){var headerTreeElement=new TreeElement(this._formatHeader(headers[i].name,headers[i].value));headerTreeElement.selectable=false;headersTreeElement.appendChild(headerTreeElement);}},_refreshHeadersText:function(title,count,headersText,headersTreeElement) |
-{this._populateTreeElementWithSourceText(headersTreeElement,headersText);this._refreshHeadersTitle(title,headersTreeElement,count);},_toggleRequestHeadersText:function(event) |
+{this._populateTreeElementWithSourceText(headersTreeElement,headersText);this._refreshHeadersTitle(title,headersTreeElement,count);},_refreshRemoteAddress:function() |
+{var remoteAddress=this._request.remoteAddress();var treeElement=this._remoteAddressTreeElement;treeElement.hidden=!remoteAddress;if(remoteAddress) |
+treeElement.title=this._formatHeader(WebInspector.UIString("Remote Address"),remoteAddress);},_toggleRequestHeadersText:function(event) |
{this._showRequestHeadersText=!this._showRequestHeadersText;this._refreshRequestHeaders();},_toggleResponseHeadersText:function(event) |
{this._showResponseHeadersText=!this._showResponseHeadersText;this._refreshResponseHeaders();},_createToggleButton:function(title) |
{var button=document.createElement("span");button.classList.add("header-toggle");button.textContent=title;return button;},_createHeadersToggleButton:function(isHeadersTextShown) |
-{var toggleTitle=isHeadersTextShown?WebInspector.UIString("view parsed"):WebInspector.UIString("view source");return this._createToggleButton(toggleTitle);},__proto__:WebInspector.View.prototype};WebInspector.RequestHTMLView=function(request,dataURL) |
+{var toggleTitle=isHeadersTextShown?WebInspector.UIString("view parsed"):WebInspector.UIString("view source");return this._createToggleButton(toggleTitle);},__proto__:WebInspector.VBox.prototype};WebInspector.RequestHTMLView=function(request,dataURL) |
{WebInspector.RequestView.call(this,request);this._dataURL=dataURL;this.element.classList.add("html");} |
WebInspector.RequestHTMLView.prototype={hasContent:function() |
{return true;},wasShown:function() |
@@ -111,22 +112,24 @@ |
{this.data=data;this.prefix=prefix;this.suffix=suffix;};WebInspector.RequestPreviewView=function(request,responseView) |
{WebInspector.RequestContentView.call(this,request);this._responseView=responseView;} |
WebInspector.RequestPreviewView.prototype={contentLoaded:function() |
-{if(!this.request.content){if(!this._emptyView){this._emptyView=this._createEmptyView();this._emptyView.show(this.element);this.innerView=this._emptyView;}}else{if(this._emptyView){this._emptyView.detach();delete this._emptyView;} |
+{if(!this.request.content&&!this.request.contentError()){if(!this._emptyView){this._emptyView=this._createEmptyView();this._emptyView.show(this.element);this.innerView=this._emptyView;}}else{if(this._emptyView){this._emptyView.detach();delete this._emptyView;} |
if(!this._previewView) |
this._previewView=this._createPreviewView();this._previewView.show(this.element);this.innerView=this._previewView;}},_createEmptyView:function() |
-{return new WebInspector.EmptyView(WebInspector.UIString("This request has no preview available."));},_jsonView:function() |
+{return this._createMessageView(WebInspector.UIString("This request has no preview available."));},_createMessageView:function(message) |
+{return new WebInspector.EmptyView(message);},_jsonView:function() |
{var parsedJSON=WebInspector.RequestJSONView.parseJSON(this.request.content);if(parsedJSON) |
return new WebInspector.RequestJSONView(this.request,parsedJSON);},_htmlView:function() |
{var dataURL=this.request.asDataURL();if(dataURL!==null) |
return new WebInspector.RequestHTMLView(this.request,dataURL);},_createPreviewView:function() |
-{if(this.request.content){var jsonMediaTypeRE=/^application\/[^;]*\+json/;if(this.request.mimeType==="application/json"||jsonMediaTypeRE.test(this.request.mimeType)){var jsonView=this._jsonView();if(jsonView) |
+{if(this.request.contentError()) |
+return this._createMessageView(WebInspector.UIString("Failed to load response data"));var jsonMediaTypeRE=/^application\/[^;]*\+json/;if(this.request.mimeType==="application/json"||jsonMediaTypeRE.test(this.request.mimeType)){var jsonView=this._jsonView();if(jsonView) |
return jsonView;} |
if(this.request.hasErrorStatusCode()){var htmlView=this._htmlView();if(htmlView) |
return htmlView;} |
if(this.request.type===WebInspector.resourceTypes.XHR){var jsonView=this._jsonView();if(jsonView) |
return jsonView;} |
if(this.request.type===WebInspector.resourceTypes.XHR&&this.request.mimeType==="text/html"){var htmlView=this._htmlView();if(htmlView) |
-return htmlView;}} |
+return htmlView;} |
if(this._responseView.sourceView) |
return this._responseView.sourceView;if(this.request.type===WebInspector.resourceTypes.Other) |
return this._createEmptyView();return WebInspector.RequestView.nonSourceViewForRequest(this.request);},__proto__:WebInspector.RequestContentView.prototype};WebInspector.RequestResponseView=function(request) |
@@ -134,31 +137,39 @@ |
WebInspector.RequestResponseView._maxFormattedResourceSize=100000;WebInspector.RequestResponseView.prototype={get sourceView() |
{if(this._sourceView||!WebInspector.RequestView.hasTextContent(this.request)) |
return this._sourceView;if(this.request.resourceSize>=WebInspector.RequestResponseView._maxFormattedResourceSize){this._sourceView=new WebInspector.ResourceSourceFrameFallback(this.request);return this._sourceView;} |
-var sourceFrame=new WebInspector.ResourceSourceFrame(this.request);sourceFrame.setHighlighterType(this.request.type.canonicalMimeType()||this.request.mimeType);this._sourceView=sourceFrame;return this._sourceView;},contentLoaded:function() |
-{if(!this.request.content||!this.sourceView){if(!this._emptyView){this._emptyView=new WebInspector.EmptyView(WebInspector.UIString("This request has no response data available."));this._emptyView.show(this.element);this.innerView=this._emptyView;}}else{if(this._emptyView){this._emptyView.detach();delete this._emptyView;} |
-this.sourceView.show(this.element);this.innerView=this.sourceView;}},__proto__:WebInspector.RequestContentView.prototype};WebInspector.RequestTimingView=function(request) |
-{WebInspector.View.call(this);this.element.classList.add("resource-timing-view");this._request=request;} |
+var sourceFrame=new WebInspector.ResourceSourceFrame(this.request);sourceFrame.setHighlighterType(this.request.type.canonicalMimeType()||this.request.mimeType);this._sourceView=sourceFrame;return this._sourceView;},_createMessageView:function(message) |
+{return new WebInspector.EmptyView(message);},contentLoaded:function() |
+{if((!this.request.content||!this.sourceView)&&!this.request.contentError()){if(!this._emptyView){this._emptyView=this._createMessageView(WebInspector.UIString("This request has no response data available."));this._emptyView.show(this.element);this.innerView=this._emptyView;}}else{if(this._emptyView){this._emptyView.detach();delete this._emptyView;} |
+if(this.request.content&&this.sourceView){this.sourceView.show(this.element);this.innerView=this.sourceView;}else{if(!this._errorView) |
+this._errorView=this._createMessageView(WebInspector.UIString("Failed to load response data"));this._errorView.show(this.element);this.innerView=this._errorView;}}},__proto__:WebInspector.RequestContentView.prototype};WebInspector.RequestTimingView=function(request) |
+{WebInspector.VBox.call(this);this.element.classList.add("resource-timing-view");this._request=request;} |
WebInspector.RequestTimingView.prototype={wasShown:function() |
-{this._request.addEventListener(WebInspector.NetworkRequest.Events.TimingChanged,this._refresh,this);if(!this._request.timing){if(!this._emptyView){this._emptyView=new WebInspector.EmptyView(WebInspector.UIString("This request has no detailed timing info."));this._emptyView.show(this.element);this.innerView=this._emptyView;} |
+{this._request.addEventListener(WebInspector.NetworkRequest.Events.TimingChanged,this._refresh,this);this._request.addEventListener(WebInspector.NetworkRequest.Events.FinishedLoading,this._refresh,this);if(!this._request.timing){if(!this._emptyView){this._emptyView=new WebInspector.EmptyView(WebInspector.UIString("This request has no detailed timing info."));this._emptyView.show(this.element);this.innerView=this._emptyView;} |
return;} |
if(this._emptyView){this._emptyView.detach();delete this._emptyView;} |
this._refresh();},willHide:function() |
-{this._request.removeEventListener(WebInspector.NetworkRequest.Events.TimingChanged,this._refresh,this);},_refresh:function() |
+{this._request.removeEventListener(WebInspector.NetworkRequest.Events.TimingChanged,this._refresh,this);this._request.removeEventListener(WebInspector.NetworkRequest.Events.FinishedLoading,this._refresh,this);},_refresh:function() |
{if(this._tableElement) |
-this._tableElement.remove();this._tableElement=WebInspector.RequestTimingView.createTimingTable(this._request);this.element.appendChild(this._tableElement);},__proto__:WebInspector.View.prototype} |
+this._tableElement.remove();this._tableElement=WebInspector.RequestTimingView.createTimingTable(this._request);this.element.appendChild(this._tableElement);},__proto__:WebInspector.VBox.prototype} |
WebInspector.RequestTimingView.createTimingTable=function(request) |
{var tableElement=document.createElement("table");tableElement.className="network-timing-table";var rows=[];function addRow(title,className,start,end) |
{var row={};row.title=title;row.className=className;row.start=start;row.end=end;rows.push(row);} |
-var timing=request.timing;var blocking=timing.dnsStart>0?timing.dnsStart:timing.connectStart>0?timing.connectStart:timing.sendStart;if(blocking>0) |
+function firstPositive(numbers) |
+{for(var i=0;i<numbers.length;++i){if(numbers[i]>0) |
+return numbers[i];} |
+return undefined;} |
+var timing=request.timing;var blocking=firstPositive([timing.dnsStart,timing.connectStart,timing.sendStart]);var endTime=firstPositive([request.endTime,request.responseReceivedTime,timing.requestTime]);var total=(endTime-timing.requestTime)*1000;if(blocking>0) |
addRow(WebInspector.UIString("Blocking"),"blocking",0,blocking);if(timing.proxyStart!==-1) |
addRow(WebInspector.UIString("Proxy"),"proxy",timing.proxyStart,timing.proxyEnd);if(timing.dnsStart!==-1) |
addRow(WebInspector.UIString("DNS Lookup"),"dns",timing.dnsStart,timing.dnsEnd);if(timing.connectStart!==-1) |
addRow(WebInspector.UIString("Connecting"),"connecting",timing.connectStart,timing.connectEnd);if(timing.sslStart!==-1) |
-addRow(WebInspector.UIString("SSL"),"ssl",timing.sslStart,timing.sslEnd);addRow(WebInspector.UIString("Sending"),"sending",timing.sendStart,timing.sendEnd);addRow(WebInspector.UIString("Waiting"),"waiting",timing.sendEnd,timing.receiveHeadersEnd);addRow(WebInspector.UIString("Receiving"),"receiving",(request.responseReceivedTime-timing.requestTime)*1000,(request.endTime-timing.requestTime)*1000);const chartWidth=200;var total=(request.endTime-timing.requestTime)*1000;var scale=chartWidth/total;for(var i=0;i<rows.length;++i){var tr=document.createElement("tr");tableElement.appendChild(tr);var td=document.createElement("td");td.textContent=rows[i].title;tr.appendChild(td);td=document.createElement("td");td.width=chartWidth+"px";var row=document.createElement("div");row.className="network-timing-row";td.appendChild(row);var bar=document.createElement("span");bar.className="network-timing-bar "+rows[i].className;bar.style.left=Math.floor(scale*rows[i].start)+"px";bar.style.right=Math.floor(scale*(total-rows[i].end))+"px";bar.style.backgroundColor=rows[i].color;bar.textContent="\u200B";row.appendChild(bar);var title=document.createElement("span");title.className="network-timing-bar-title";if(total-rows[i].end<rows[i].start) |
+addRow(WebInspector.UIString("SSL"),"ssl",timing.sslStart,timing.sslEnd);addRow(WebInspector.UIString("Sending"),"sending",timing.sendStart,timing.sendEnd);addRow(WebInspector.UIString("Waiting"),"waiting",timing.sendEnd,timing.receiveHeadersEnd);if(request.endTime!==-1) |
+addRow(WebInspector.UIString("Receiving"),"receiving",(request.responseReceivedTime-timing.requestTime)*1000,total);const chartWidth=200;var scale=chartWidth/total;for(var i=0;i<rows.length;++i){var tr=document.createElement("tr");tableElement.appendChild(tr);var td=document.createElement("td");td.textContent=rows[i].title;tr.appendChild(td);td=document.createElement("td");td.width=chartWidth+"px";var row=document.createElement("div");row.className="network-timing-row";td.appendChild(row);var bar=document.createElement("span");bar.className="network-timing-bar "+rows[i].className;bar.style.left=Math.floor(scale*rows[i].start)+"px";bar.style.right=Math.floor(scale*(total-rows[i].end))+"px";bar.style.backgroundColor=rows[i].color;bar.textContent="\u200B";row.appendChild(bar);var title=document.createElement("span");title.className="network-timing-bar-title";if(total-rows[i].end<rows[i].start) |
title.style.right=(scale*(total-rows[i].end)+3)+"px";else |
title.style.left=(scale*rows[i].start+3)+"px";title.textContent=Number.secondsToString((rows[i].end-rows[i].start)/1000,true);row.appendChild(title);tr.appendChild(td);} |
+if(!request.finished){var cell=tableElement.createChild("tr").createChild("td","caution");cell.colSpan=2;cell.createTextChild(WebInspector.UIString("CAUTION: request is not finished yet!"));} |
return tableElement;};WebInspector.ResourceWebSocketFrameView=function(resource) |
-{WebInspector.View.call(this);this.element.classList.add("resource-websocket");this.resource=resource;this.element.removeChildren();this._dataGrid=new WebInspector.DataGrid([{id:"data",title:WebInspector.UIString("Data"),sortable:false,weight:88,longText:true},{id:"length",title:WebInspector.UIString("Length"),sortable:false,alig:WebInspector.DataGrid.Align.Right,weight:5},{id:"time",title:WebInspector.UIString("Time"),weight:7}],undefined,undefined,undefined,this._onContextMenu.bind(this));this.refresh();this._dataGrid.setName("ResourceWebSocketFrameView");this._dataGrid.show(this.element);} |
+{WebInspector.VBox.call(this);this.element.classList.add("resource-websocket");this.resource=resource;this.element.removeChildren();this._dataGrid=new WebInspector.DataGrid([{id:"data",title:WebInspector.UIString("Data"),sortable:false,weight:88,longText:true},{id:"length",title:WebInspector.UIString("Length"),sortable:false,alig:WebInspector.DataGrid.Align.Right,weight:5},{id:"time",title:WebInspector.UIString("Time"),weight:7}],undefined,undefined,undefined,this._onContextMenu.bind(this));this.refresh();this._dataGrid.setName("ResourceWebSocketFrameView");this._dataGrid.show(this.element);} |
WebInspector.ResourceWebSocketFrameView.OpCodes={ContinuationFrame:0,TextFrame:1,BinaryFrame:2,ConnectionCloseFrame:8,PingFrame:9,PongFrame:10};WebInspector.ResourceWebSocketFrameView.prototype={appendFrame:function(frame) |
{var payload=frame;var date=new Date(payload.time*1000);var row={data:"",length:typeof payload.payloadData==="undefined"?payload.errorMessage.length.toString():payload.payloadData.length.toString(),time:date.toLocaleTimeString()};var rowClass="";if(payload.errorMessage){rowClass="error";row.data=payload.errorMessage;}else if(payload.opcode==WebInspector.ResourceWebSocketFrameView.OpCodes.TextFrame){if(payload.sent) |
rowClass="outcoming";row.data=payload.payloadData;}else{rowClass="opcode";var opcodeMeaning="";switch(payload.opcode){case WebInspector.ResourceWebSocketFrameView.OpCodes.ContinuationFrame:opcodeMeaning=WebInspector.UIString("Continuation Frame");break;case WebInspector.ResourceWebSocketFrameView.OpCodes.BinaryFrame:opcodeMeaning=WebInspector.UIString("Binary Frame");break;case WebInspector.ResourceWebSocketFrameView.OpCodes.ConnectionCloseFrame:opcodeMeaning=WebInspector.UIString("Connection Close Frame");break;case WebInspector.ResourceWebSocketFrameView.OpCodes.PingFrame:opcodeMeaning=WebInspector.UIString("Ping Frame");break;case WebInspector.ResourceWebSocketFrameView.OpCodes.PongFrame:opcodeMeaning=WebInspector.UIString("Pong Frame");break;} |
@@ -168,40 +179,40 @@ |
{this._dataGrid.rootNode().removeChildren();var frames=this.resource.frames();for(var i=frames.length-1;i>=0;i--){this.appendFrame(frames[i]);}},show:function(parentElement,insertBefore) |
{this.refresh();WebInspector.View.prototype.show.call(this,parentElement,insertBefore);},_onContextMenu:function(contextMenu,node) |
{contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Copy message":"Copy Message"),this._copyMessage.bind(this,node.data));},_copyMessage:function(row) |
-{InspectorFrontendHost.copyText(row.data);},__proto__:WebInspector.View.prototype};WebInspector.NetworkLogView=function(filterBar,coulmnsVisibilitySetting) |
-{WebInspector.View.call(this);this.element.classList.add("vbox","fill");this.registerRequiredCSS("networkLogView.css");this.registerRequiredCSS("filter.css");this._filterBar=filterBar;this._coulmnsVisibilitySetting=coulmnsVisibilitySetting;this._allowRequestSelection=false;this._requests=[];this._requestsById={};this._requestsByURL={};this._staleRequests={};this._requestGridNodes={};this._lastRequestGridNodeId=0;this._mainRequestLoadTime=-1;this._mainRequestDOMContentLoadedTime=-1;this._matchedRequests=[];this._highlightedSubstringChanges=[];this._filteredOutRequests=new Map();this._matchedRequestsMap={};this._currentMatchedRequestIndex=-1;this._createStatusbarButtons();this._createStatusBarItems();this._linkifier=new WebInspector.Linkifier();WebInspector.networkManager.addEventListener(WebInspector.NetworkManager.EventTypes.RequestStarted,this._onRequestStarted,this);WebInspector.networkManager.addEventListener(WebInspector.NetworkManager.EventTypes.RequestUpdated,this._onRequestUpdated,this);WebInspector.networkManager.addEventListener(WebInspector.NetworkManager.EventTypes.RequestFinished,this._onRequestUpdated,this);WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.WillReloadPage,this._willReloadPage,this);WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated,this._mainFrameNavigated,this);WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.Load,this._loadEventFired,this);WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.DOMContentLoaded,this._domContentLoadedEventFired,this);this._addFilters();this._initializeView();this._recordButton.toggled=true;WebInspector.networkLog.requests.forEach(this._appendRequest.bind(this));} |
-WebInspector.NetworkLogView.HTTPSchemas={"http":true,"https":true,"ws":true,"wss":true};WebInspector.NetworkLogView._responseHeaderColumns=["Cache-Control","Connection","Content-Encoding","Content-Length","ETag","Keep-Alive","Last-Modified","Server","Vary"];WebInspector.NetworkLogView._defaultColumnsVisibility={method:true,status:true,scheme:false,domain:false,type:true,initiator:true,cookies:false,setCookies:false,size:true,time:true,"Cache-Control":false,"Connection":false,"Content-Encoding":false,"Content-Length":false,"ETag":false,"Keep-Alive":false,"Last-Modified":false,"Server":false,"Vary":false};WebInspector.NetworkLogView._defaultRefreshDelay=500;WebInspector.NetworkLogView.prototype={_addFilters:function() |
-{this._textFilterUI=new WebInspector.TextFilterUI();this._textFilterUI.addEventListener(WebInspector.FilterUI.Events.FilterChanged,this._filterChanged,this);this._filterBar.addFilter(this._textFilterUI);this._resourceTypeFilterUI=new WebInspector.NamedBitSetFilterUI();for(var typeId in WebInspector.resourceTypes){var resourceType=WebInspector.resourceTypes[typeId];this._resourceTypeFilterUI.addBit(resourceType.name(),resourceType.categoryTitle());} |
-this._resourceTypeFilterUI.addEventListener(WebInspector.FilterUI.Events.FilterChanged,this._filterChanged.bind(this),this);this._filterBar.addFilter(this._resourceTypeFilterUI);var dataURLSetting=WebInspector.settings.networkHideDataURL;this._dataURLFilterUI=new WebInspector.CheckboxFilterUI("hide-data-url",WebInspector.UIString("Hide data URLs"),true,dataURLSetting);this._dataURLFilterUI.addEventListener(WebInspector.FilterUI.Events.FilterChanged,this._filterChanged.bind(this),this);this._filterBar.addFilter(this._dataURLFilterUI);},_filterChanged:function(event) |
-{this._removeAllNodeHighlights();this.searchCanceled();this._filterRequests();},_initializeView:function() |
+{InspectorFrontendHost.copyText(row.data);},__proto__:WebInspector.VBox.prototype};WebInspector.NetworkLogView=function(filterBar,coulmnsVisibilitySetting) |
+{WebInspector.VBox.call(this);this.registerRequiredCSS("networkLogView.css");this.registerRequiredCSS("filter.css");this.registerRequiredCSS("textPrompt.css");this._filterBar=filterBar;this._coulmnsVisibilitySetting=coulmnsVisibilitySetting;this._allowRequestSelection=false;this._requests=[];this._requestsById={};this._requestsByURL={};this._staleRequests={};this._requestGridNodes={};this._lastRequestGridNodeId=0;this._mainRequestLoadTime=-1;this._mainRequestDOMContentLoadedTime=-1;this._matchedRequests=[];this._highlightedSubstringChanges=[];this._filteredOutRequests=new Map();this._filters=[];this._matchedRequestsMap={};this._currentMatchedRequestIndex=-1;this._createStatusbarButtons();this._createStatusBarItems();this._linkifier=new WebInspector.Linkifier();WebInspector.networkManager.addEventListener(WebInspector.NetworkManager.EventTypes.RequestStarted,this._onRequestStarted,this);WebInspector.networkManager.addEventListener(WebInspector.NetworkManager.EventTypes.RequestUpdated,this._onRequestUpdated,this);WebInspector.networkManager.addEventListener(WebInspector.NetworkManager.EventTypes.RequestFinished,this._onRequestUpdated,this);WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.WillReloadPage,this._willReloadPage,this);WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated,this._mainFrameNavigated,this);WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.Load,this._loadEventFired,this);WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.DOMContentLoaded,this._domContentLoadedEventFired,this);this._addFilters();this._resetSuggestionBuilder();this._initializeView();this._recordButton.toggled=true;WebInspector.networkLog.requests.forEach(this._appendRequest.bind(this));} |
+WebInspector.NetworkLogView.HTTPSchemas={"http":true,"https":true,"ws":true,"wss":true};WebInspector.NetworkLogView._responseHeaderColumns=["Cache-Control","Connection","Content-Encoding","Content-Length","ETag","Keep-Alive","Last-Modified","Server","Vary"];WebInspector.NetworkLogView._defaultColumnsVisibility={method:true,status:true,scheme:false,domain:false,remoteAddress:false,type:true,initiator:true,cookies:false,setCookies:false,size:true,time:true,"Cache-Control":false,"Connection":false,"Content-Encoding":false,"Content-Length":false,"ETag":false,"Keep-Alive":false,"Last-Modified":false,"Server":false,"Vary":false};WebInspector.NetworkLogView._defaultRefreshDelay=500;WebInspector.NetworkLogView.prototype={_addFilters:function() |
+{this._textFilterUI=new WebInspector.TextFilterUI();this._textFilterUI.addEventListener(WebInspector.FilterUI.Events.FilterChanged,this._filterChanged,this);this._filterBar.addFilter(this._textFilterUI);var types=[];for(var typeId in WebInspector.resourceTypes){var resourceType=WebInspector.resourceTypes[typeId];types.push({name:resourceType.name(),label:resourceType.categoryTitle()});} |
+this._resourceTypeFilterUI=new WebInspector.NamedBitSetFilterUI(types,WebInspector.settings.networkResourceTypeFilters);this._resourceTypeFilterUI.addEventListener(WebInspector.FilterUI.Events.FilterChanged,this._filterChanged.bind(this),this);this._filterBar.addFilter(this._resourceTypeFilterUI);var dataURLSetting=WebInspector.settings.networkHideDataURL;this._dataURLFilterUI=new WebInspector.CheckboxFilterUI("hide-data-url",WebInspector.UIString("Hide data URLs"),true,dataURLSetting);this._dataURLFilterUI.addEventListener(WebInspector.FilterUI.Events.FilterChanged,this._filterChanged.bind(this),this);this._filterBar.addFilter(this._dataURLFilterUI);},_resetSuggestionBuilder:function() |
+{this._suggestionBuilder=new WebInspector.FilterSuggestionBuilder(WebInspector.NetworkPanel._searchKeys);this._textFilterUI.setSuggestionBuilder(this._suggestionBuilder);},_filterChanged:function(event) |
+{this._removeAllNodeHighlights();this.searchCanceled();this._parseFilterQuery(this._textFilterUI.value());this._filterRequests();},_initializeView:function() |
{this.element.id="network-container";this._createSortingFunctions();this._createTable();this._createTimelineGrid();this._summaryBarElement=this.element.createChild("div","network-summary-bar");if(!this.useLargeRows) |
this._setLargerRequests(this.useLargeRows);this._allowPopover=true;this._popoverHelper=new WebInspector.PopoverHelper(this.element,this._getPopoverAnchor.bind(this),this._showPopover.bind(this),this._onHidePopover.bind(this));this._popoverHelper.setTimeout(100);this.calculator=new WebInspector.NetworkTransferTimeCalculator();this.switchToDetailedView();},get statusBarItems() |
{return[this._recordButton.element,this._clearButton.element,this._filterBar.filterButton().element,this._largerRequestsButton.element,this._preserveLogCheckbox.element,this._progressBarContainer];},get useLargeRows() |
{return WebInspector.settings.resourcesLargeRows.get();},set allowPopover(flag) |
{this._allowPopover=flag;},elementsToRestoreScrollPositionsFor:function() |
{if(!this._dataGrid) |
-return[];return[this._dataGrid.scrollContainer];},onResize:function() |
-{this._updateOffscreenRows();},_createTimelineGrid:function() |
+return[];return[this._dataGrid.scrollContainer];},_createTimelineGrid:function() |
{this._timelineGrid=new WebInspector.TimelineGrid();this._timelineGrid.element.classList.add("network-timeline-grid");this._dataGrid.element.appendChild(this._timelineGrid.element);},_createTable:function() |
-{var columns=[];columns.push({id:"name",titleDOMFragment:this._makeHeaderFragment(WebInspector.UIString("Name"),WebInspector.UIString("Path")),title:WebInspector.UIString("Name"),sortable:true,weight:20,disclosure:true});columns.push({id:"method",title:WebInspector.UIString("Method"),sortable:true,weight:6});columns.push({id:"status",titleDOMFragment:this._makeHeaderFragment(WebInspector.UIString("Status"),WebInspector.UIString("Text")),title:WebInspector.UIString("Status"),sortable:true,weight:6});columns.push({id:"scheme",title:WebInspector.UIString("Scheme"),sortable:true,weight:6});columns.push({id:"domain",title:WebInspector.UIString("Domain"),sortable:true,weight:6});columns.push({id:"type",title:WebInspector.UIString("Type"),sortable:true,weight:6});columns.push({id:"initiator",title:WebInspector.UIString("Initiator"),sortable:true,weight:10});columns.push({id:"cookies",title:WebInspector.UIString("Cookies"),sortable:true,weight:6,align:WebInspector.DataGrid.Align.Right});columns.push({id:"setCookies",title:WebInspector.UIString("Set-Cookies"),sortable:true,weight:6,align:WebInspector.DataGrid.Align.Right});columns.push({id:"size",titleDOMFragment:this._makeHeaderFragment(WebInspector.UIString("Size"),WebInspector.UIString("Content")),title:WebInspector.UIString("Size"),sortable:true,weight:6,align:WebInspector.DataGrid.Align.Right});columns.push({id:"time",titleDOMFragment:this._makeHeaderFragment(WebInspector.UIString("Time"),WebInspector.UIString("Latency")),title:WebInspector.UIString("Time"),sortable:true,weight:6,align:WebInspector.DataGrid.Align.Right});var responseHeaderColumns=WebInspector.NetworkLogView._responseHeaderColumns;for(var i=0;i<responseHeaderColumns.length;++i){var headerName=responseHeaderColumns[i];var descriptor={id:headerName,title:WebInspector.UIString(headerName),weight:6} |
+{var columns=[];columns.push({id:"name",titleDOMFragment:this._makeHeaderFragment(WebInspector.UIString("Name"),WebInspector.UIString("Path")),title:WebInspector.UIString("Name"),sortable:true,weight:20,disclosure:true});columns.push({id:"method",title:WebInspector.UIString("Method"),sortable:true,weight:6});columns.push({id:"status",titleDOMFragment:this._makeHeaderFragment(WebInspector.UIString("Status"),WebInspector.UIString("Text")),title:WebInspector.UIString("Status"),sortable:true,weight:6});columns.push({id:"scheme",title:WebInspector.UIString("Scheme"),sortable:true,weight:6});columns.push({id:"domain",title:WebInspector.UIString("Domain"),sortable:true,weight:6});columns.push({id:"remoteAddress",title:WebInspector.UIString("Remote Address"),sortable:true,weight:10,align:WebInspector.DataGrid.Align.Right});columns.push({id:"type",title:WebInspector.UIString("Type"),sortable:true,weight:6});columns.push({id:"initiator",title:WebInspector.UIString("Initiator"),sortable:true,weight:10});columns.push({id:"cookies",title:WebInspector.UIString("Cookies"),sortable:true,weight:6,align:WebInspector.DataGrid.Align.Right});columns.push({id:"setCookies",title:WebInspector.UIString("Set-Cookies"),sortable:true,weight:6,align:WebInspector.DataGrid.Align.Right});columns.push({id:"size",titleDOMFragment:this._makeHeaderFragment(WebInspector.UIString("Size"),WebInspector.UIString("Content")),title:WebInspector.UIString("Size"),sortable:true,weight:6,align:WebInspector.DataGrid.Align.Right});columns.push({id:"time",titleDOMFragment:this._makeHeaderFragment(WebInspector.UIString("Time"),WebInspector.UIString("Latency")),title:WebInspector.UIString("Time"),sortable:true,weight:6,align:WebInspector.DataGrid.Align.Right});var responseHeaderColumns=WebInspector.NetworkLogView._responseHeaderColumns;for(var i=0;i<responseHeaderColumns.length;++i){var headerName=responseHeaderColumns[i];var descriptor={id:headerName,title:WebInspector.UIString(headerName),weight:6} |
if(headerName==="Content-Length") |
descriptor.align=WebInspector.DataGrid.Align.Right;columns.push(descriptor);} |
-columns.push({id:"timeline",titleDOMFragment:document.createDocumentFragment(),title:WebInspector.UIString("Timeline"),sortable:false,weight:40,sort:WebInspector.DataGrid.Order.Ascending});this._dataGrid=new WebInspector.DataGrid(columns);this._dataGrid.setName("networkLog");this._dataGrid.resizeMethod=WebInspector.DataGrid.ResizeMethod.Last;this._dataGrid.element.classList.add("network-log-grid");this._dataGrid.element.addEventListener("contextmenu",this._contextMenu.bind(this),true);this._dataGrid.show(this.element);this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SortingChanged,this._sortItems,this);this._dataGrid.addEventListener(WebInspector.DataGrid.Events.ColumnsResized,this._updateDividersIfNeeded,this);this._dataGrid.scrollContainer.addEventListener("scroll",this._updateOffscreenRows.bind(this));this._patchTimelineHeader();},_makeHeaderFragment:function(title,subtitle) |
+columns.push({id:"timeline",titleDOMFragment:document.createDocumentFragment(),title:WebInspector.UIString("Timeline"),sortable:false,weight:40,sort:WebInspector.DataGrid.Order.Ascending});this._dataGrid=new WebInspector.DataGrid(columns);this._dataGrid.setName("networkLog");this._dataGrid.resizeMethod=WebInspector.DataGrid.ResizeMethod.Last;this._dataGrid.element.classList.add("network-log-grid");this._dataGrid.element.addEventListener("contextmenu",this._contextMenu.bind(this),true);this._dataGrid.show(this.element);this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SortingChanged,this._sortItems,this);this._dataGrid.addEventListener(WebInspector.DataGrid.Events.ColumnsResized,this._updateDividersIfNeeded,this);this._patchTimelineHeader();},_makeHeaderFragment:function(title,subtitle) |
{var fragment=document.createDocumentFragment();fragment.createTextChild(title);var subtitleDiv=fragment.createChild("div","network-header-subtitle");subtitleDiv.createTextChild(subtitle);return fragment;},_patchTimelineHeader:function() |
{var timelineSorting=document.createElement("select");var option=document.createElement("option");option.value="startTime";option.label=WebInspector.UIString("Timeline");timelineSorting.appendChild(option);option=document.createElement("option");option.value="startTime";option.label=WebInspector.UIString("Start Time");timelineSorting.appendChild(option);option=document.createElement("option");option.value="responseTime";option.label=WebInspector.UIString("Response Time");timelineSorting.appendChild(option);option=document.createElement("option");option.value="endTime";option.label=WebInspector.UIString("End Time");timelineSorting.appendChild(option);option=document.createElement("option");option.value="duration";option.label=WebInspector.UIString("Duration");timelineSorting.appendChild(option);option=document.createElement("option");option.value="latency";option.label=WebInspector.UIString("Latency");timelineSorting.appendChild(option);var header=this._dataGrid.headerTableHeader("timeline");header.replaceChild(timelineSorting,header.firstChild);timelineSorting.addEventListener("click",function(event){event.consume()},false);timelineSorting.addEventListener("change",this._sortByTimeline.bind(this),false);this._timelineSortSelector=timelineSorting;},_createSortingFunctions:function() |
-{this._sortingFunctions={};this._sortingFunctions.name=WebInspector.NetworkDataGridNode.NameComparator;this._sortingFunctions.method=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"method",false);this._sortingFunctions.status=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"statusCode",false);this._sortingFunctions.scheme=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"scheme",false);this._sortingFunctions.domain=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"domain",false);this._sortingFunctions.type=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"mimeType",false);this._sortingFunctions.initiator=WebInspector.NetworkDataGridNode.InitiatorComparator;this._sortingFunctions.cookies=WebInspector.NetworkDataGridNode.RequestCookiesCountComparator;this._sortingFunctions.setCookies=WebInspector.NetworkDataGridNode.ResponseCookiesCountComparator;this._sortingFunctions.size=WebInspector.NetworkDataGridNode.SizeComparator;this._sortingFunctions.time=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"duration",false);this._sortingFunctions.timeline=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"startTime",false);this._sortingFunctions.startTime=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"startTime",false);this._sortingFunctions.endTime=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"endTime",false);this._sortingFunctions.responseTime=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"responseReceivedTime",false);this._sortingFunctions.duration=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"duration",true);this._sortingFunctions.latency=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"latency",true);var timeCalculator=new WebInspector.NetworkTransferTimeCalculator();var durationCalculator=new WebInspector.NetworkTransferDurationCalculator();this._calculators={};this._calculators.timeline=timeCalculator;this._calculators.startTime=timeCalculator;this._calculators.endTime=timeCalculator;this._calculators.responseTime=timeCalculator;this._calculators.duration=durationCalculator;this._calculators.latency=durationCalculator;},_sortItems:function() |
+{this._sortingFunctions={};this._sortingFunctions.name=WebInspector.NetworkDataGridNode.NameComparator;this._sortingFunctions.method=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"method",false);this._sortingFunctions.status=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"statusCode",false);this._sortingFunctions.scheme=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"scheme",false);this._sortingFunctions.domain=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"domain",false);this._sortingFunctions.remoteAddress=WebInspector.NetworkDataGridNode.RemoteAddressComparator;this._sortingFunctions.type=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"mimeType",false);this._sortingFunctions.initiator=WebInspector.NetworkDataGridNode.InitiatorComparator;this._sortingFunctions.cookies=WebInspector.NetworkDataGridNode.RequestCookiesCountComparator;this._sortingFunctions.setCookies=WebInspector.NetworkDataGridNode.ResponseCookiesCountComparator;this._sortingFunctions.size=WebInspector.NetworkDataGridNode.SizeComparator;this._sortingFunctions.time=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"duration",false);this._sortingFunctions.timeline=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"startTime",false);this._sortingFunctions.startTime=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"startTime",false);this._sortingFunctions.endTime=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"endTime",false);this._sortingFunctions.responseTime=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"responseReceivedTime",false);this._sortingFunctions.duration=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"duration",true);this._sortingFunctions.latency=WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null,"latency",true);var timeCalculator=new WebInspector.NetworkTransferTimeCalculator();var durationCalculator=new WebInspector.NetworkTransferDurationCalculator();this._calculators={};this._calculators.timeline=timeCalculator;this._calculators.startTime=timeCalculator;this._calculators.endTime=timeCalculator;this._calculators.responseTime=timeCalculator;this._calculators.duration=durationCalculator;this._calculators.latency=durationCalculator;},_sortItems:function() |
{this._removeAllNodeHighlights();var columnIdentifier=this._dataGrid.sortColumnIdentifier();if(columnIdentifier==="timeline"){this._sortByTimeline();return;} |
var sortingFunction=this._sortingFunctions[columnIdentifier];if(!sortingFunction) |
-return;this._dataGrid.sortNodes(sortingFunction,!this._dataGrid.isSortOrderAscending());this._timelineSortSelector.selectedIndex=0;this._updateOffscreenRows();this.searchCanceled();WebInspector.notifications.dispatchEventToListeners(WebInspector.UserMetrics.UserAction,{action:WebInspector.UserMetrics.UserActionNames.NetworkSort,column:columnIdentifier,sortOrder:this._dataGrid.sortOrder()});},_sortByTimeline:function() |
+return;this._dataGrid.sortNodes(sortingFunction,!this._dataGrid.isSortOrderAscending());this._timelineSortSelector.selectedIndex=0;this._updateRows();this.searchCanceled();WebInspector.notifications.dispatchEventToListeners(WebInspector.UserMetrics.UserAction,{action:WebInspector.UserMetrics.UserActionNames.NetworkSort,column:columnIdentifier,sortOrder:this._dataGrid.sortOrder()});},_sortByTimeline:function() |
{this._removeAllNodeHighlights();var selectedIndex=this._timelineSortSelector.selectedIndex;if(!selectedIndex) |
selectedIndex=1;var selectedOption=this._timelineSortSelector[selectedIndex];var value=selectedOption.value;var sortingFunction=this._sortingFunctions[value];this._dataGrid.sortNodes(sortingFunction);this.calculator=this._calculators[value];if(this.calculator.startAtZero) |
this._timelineGrid.hideEventDividers();else |
-this._timelineGrid.showEventDividers();this._dataGrid.markColumnAsSortedBy("timeline",WebInspector.DataGrid.Order.Ascending);this._updateOffscreenRows();},_createStatusBarItems:function() |
+this._timelineGrid.showEventDividers();this._dataGrid.markColumnAsSortedBy("timeline",WebInspector.DataGrid.Order.Ascending);this._updateRows();},_createStatusBarItems:function() |
{this._progressBarContainer=document.createElement("div");this._progressBarContainer.className="status-bar-item";},_updateSummaryBar:function() |
{var requestsNumber=this._requests.length;if(!requestsNumber){if(this._summaryBarElement._isDisplayingWarning) |
return;this._summaryBarElement._isDisplayingWarning=true;this._summaryBarElement.removeChildren();this._summaryBarElement.createChild("div","warning-icon-small");var text=WebInspector.UIString("No requests captured. Reload the page to see detailed information on the network activity.");this._summaryBarElement.appendChild(document.createTextNode(text));this._summaryBarElement.title=text;return;} |
delete this._summaryBarElement._isDisplayingWarning;var transferSize=0;var selectedRequestsNumber=0;var selectedTransferSize=0;var baseTime=-1;var maxTime=-1;for(var i=0;i<this._requests.length;++i){var request=this._requests[i];var requestTransferSize=request.transferSize;transferSize+=requestTransferSize;if(!this._filteredOutRequests.get(request)){selectedRequestsNumber++;selectedTransferSize+=requestTransferSize;} |
-if(request.url===WebInspector.inspectedPageURL) |
+if(request.url===WebInspector.resourceTreeModel.inspectedPageURL()) |
baseTime=request.startTime;if(request.endTime>maxTime) |
maxTime=request.endTime;} |
var text="";if(selectedRequestsNumber!==requestsNumber){text+=String.sprintf(WebInspector.UIString("%d / %d requests"),selectedRequestsNumber,requestsNumber);text+=" \u2758 "+String.sprintf(WebInspector.UIString("%s / %s transferred"),Number.bytesToString(selectedTransferSize),Number.bytesToString(transferSize));}else{text+=String.sprintf(WebInspector.UIString("%d requests"),requestsNumber);text+=" \u2758 "+String.sprintf(WebInspector.UIString("%s transferred"),Number.bytesToString(transferSize));} |
@@ -215,8 +226,8 @@ |
var proceed=true;if(!this.isShowing()){this._scheduleRefresh();proceed=false;}else{this.calculator.setDisplayWindow(this._timelineGrid.dividersElement.clientWidth);proceed=this._timelineGrid.updateDividers(this.calculator);} |
if(!proceed) |
return;if(this.calculator.startAtZero||!this.calculator.computePercentageFromEventTime){return;} |
-this._timelineGrid.removeEventDividers();if(this._mainRequestLoadTime!==-1){var percent=this.calculator.computePercentageFromEventTime(this._mainRequestLoadTime);var loadDivider=document.createElement("div");loadDivider.className="network-event-divider network-red-divider";var loadDividerPadding=document.createElement("div");loadDividerPadding.className="network-event-divider-padding";loadDividerPadding.title=WebInspector.UIString("Load event fired");loadDividerPadding.appendChild(loadDivider);loadDividerPadding.style.left=percent+"%";this._timelineGrid.addEventDivider(loadDividerPadding);} |
-if(this._mainRequestDOMContentLoadedTime!==-1){var percent=this.calculator.computePercentageFromEventTime(this._mainRequestDOMContentLoadedTime);var domContentLoadedDivider=document.createElement("div");domContentLoadedDivider.className="network-event-divider network-blue-divider";var domContentLoadedDividerPadding=document.createElement("div");domContentLoadedDividerPadding.className="network-event-divider-padding";domContentLoadedDividerPadding.title=WebInspector.UIString("DOMContentLoaded event fired");domContentLoadedDividerPadding.appendChild(domContentLoadedDivider);domContentLoadedDividerPadding.style.left=percent+"%";this._timelineGrid.addEventDivider(domContentLoadedDividerPadding);}},_refreshIfNeeded:function() |
+this._timelineGrid.removeEventDividers();if(this._mainRequestLoadTime!==-1){var percent=this.calculator.computePercentageFromEventTime(this._mainRequestLoadTime);var loadDivider=document.createElement("div");loadDivider.className="network-event-divider network-red-divider";var loadDividerPadding=document.createElement("div");loadDividerPadding.className="network-event-divider-padding";loadDividerPadding.title=WebInspector.UIString("Load event");loadDividerPadding.appendChild(loadDivider);loadDividerPadding.style.left=percent+"%";this._timelineGrid.addEventDivider(loadDividerPadding);} |
+if(this._mainRequestDOMContentLoadedTime!==-1){var percent=this.calculator.computePercentageFromEventTime(this._mainRequestDOMContentLoadedTime);var domContentLoadedDivider=document.createElement("div");domContentLoadedDivider.className="network-event-divider network-blue-divider";var domContentLoadedDividerPadding=document.createElement("div");domContentLoadedDividerPadding.className="network-event-divider-padding";domContentLoadedDividerPadding.title=WebInspector.UIString("DOMContentLoaded event");domContentLoadedDividerPadding.appendChild(domContentLoadedDivider);domContentLoadedDividerPadding.style.left=percent+"%";this._timelineGrid.addEventDivider(domContentLoadedDividerPadding);}},_refreshIfNeeded:function() |
{if(this._needsRefresh) |
this.refresh();},_invalidateAllItems:function() |
{for(var i=0;i<this._requests.length;++i){var request=this._requests[i];this._staleRequests[request.requestId]=request;}},get calculator() |
@@ -225,7 +236,7 @@ |
return;this._calculator=x;this._calculator.reset();this._invalidateAllItems();this.refresh();},_requestGridNode:function(request) |
{return this._requestGridNodes[request.__gridNodeId];},_createRequestGridNode:function(request) |
{var node=new WebInspector.NetworkDataGridNode(this,request);request.__gridNodeId=this._lastRequestGridNodeId++;this._requestGridNodes[request.__gridNodeId]=node;return node;},_createStatusbarButtons:function() |
-{this._recordButton=new WebInspector.StatusBarButton(WebInspector.UIString("Record Network Log"),"record-profile-status-bar-item");this._recordButton.addEventListener("click",this._onRecordButtonClicked,this);this._clearButton=new WebInspector.StatusBarButton(WebInspector.UIString("Clear"),"clear-status-bar-item");this._clearButton.addEventListener("click",this._reset,this);this._largerRequestsButton=new WebInspector.StatusBarButton(WebInspector.UIString("Use small resource rows."),"network-larger-resources-status-bar-item");this._largerRequestsButton.toggled=WebInspector.settings.resourcesLargeRows.get();this._largerRequestsButton.addEventListener("click",this._toggleLargerRequests,this);this._preserveLogCheckbox=new WebInspector.StatusBarCheckbox(WebInspector.UIString("Preserve log"));},_loadEventFired:function(event) |
+{this._recordButton=new WebInspector.StatusBarButton(WebInspector.UIString("Record Network Log"),"record-profile-status-bar-item");this._recordButton.addEventListener("click",this._onRecordButtonClicked,this);this._clearButton=new WebInspector.StatusBarButton(WebInspector.UIString("Clear"),"clear-status-bar-item");this._clearButton.addEventListener("click",this._reset,this);this._largerRequestsButton=new WebInspector.StatusBarButton(WebInspector.UIString("Use small resource rows."),"network-larger-resources-status-bar-item");this._largerRequestsButton.toggled=WebInspector.settings.resourcesLargeRows.get();this._largerRequestsButton.addEventListener("click",this._toggleLargerRequests,this);this._preserveLogCheckbox=new WebInspector.StatusBarCheckbox(WebInspector.UIString("Preserve log"));this._preserveLogCheckbox.element.title=WebInspector.UIString("Do not clear log on page reload / navigation.");},_loadEventFired:function(event) |
{if(!this._recordButton.toggled) |
return;this._mainRequestLoadTime=event.data||-1;this._scheduleRefresh();},_domContentLoadedEventFired:function(event) |
{if(!this._recordButton.toggled) |
@@ -241,15 +252,14 @@ |
if(boundariesChanged){this._invalidateAllItems();} |
for(var requestId in this._staleRequests) |
this._requestGridNode(this._staleRequests[requestId]).refreshGraph(this.calculator);this._staleRequests={};this._sortItems();this._updateSummaryBar();this._dataGrid.updateWidths();if(wasScrolledToLastRow) |
-this._dataGrid.scrollToLastRow();},_onRecordButtonClicked:function(e) |
+this._dataGrid.scrollToLastRow();},_onRecordButtonClicked:function() |
{if(!this._recordButton.toggled) |
this._reset();this._recordButton.toggled=!this._recordButton.toggled;},_reset:function() |
{this.dispatchEventToListeners(WebInspector.NetworkLogView.EventTypes.ViewCleared);this._clearSearchMatchedList();if(this._popoverHelper) |
this._popoverHelper.hidePopover();if(this._calculator) |
-this._calculator.reset();this._requests=[];this._requestsById={};this._requestsByURL={};this._staleRequests={};this._requestGridNodes={};if(this._dataGrid){this._dataGrid.rootNode().removeChildren();this._updateDividersIfNeeded();this._updateSummaryBar();} |
+this._calculator.reset();this._requests=[];this._requestsById={};this._requestsByURL={};this._staleRequests={};this._requestGridNodes={};this._resetSuggestionBuilder();if(this._dataGrid){this._dataGrid.rootNode().removeChildren();this._updateDividersIfNeeded();this._updateSummaryBar();} |
this._mainRequestLoadTime=-1;this._mainRequestDOMContentLoadedTime=-1;},get requests() |
-{return this._requests;},requestById:function(id) |
-{return this._requestsById[id];},_onRequestStarted:function(event) |
+{return this._requests;},_onRequestStarted:function(event) |
{if(this._recordButton.toggled) |
this._appendRequest(event.data);},_appendRequest:function(request) |
{this._requests.push(request);if(this._requestsById[request.requestId]){var oldRequest=request.redirects[request.redirects.length-1];this._requestsById[oldRequest.requestId]=oldRequest;this._updateSearchMatchedListAfterRequestIdChanged(request.requestId,oldRequest.requestId);} |
@@ -258,7 +268,9 @@ |
this._refreshRequest(request);},_onRequestUpdated:function(event) |
{var request=(event.data);this._refreshRequest(request);},_refreshRequest:function(request) |
{if(!this._requestsById[request.requestId]) |
-return;this._staleRequests[request.requestId]=request;this._scheduleRefresh();},_willReloadPage:function(event) |
+return;this._suggestionBuilder.addItem(WebInspector.NetworkPanel.FilterType.Domain,request.domain);this._suggestionBuilder.addItem(WebInspector.NetworkPanel.FilterType.MimeType,request.mimeType);var responseHeaders=request.responseHeaders;for(var i=0,l=responseHeaders.length;i<l;++i) |
+this._suggestionBuilder.addItem(WebInspector.NetworkPanel.FilterType.HasResponseHeader,responseHeaders[i].name);var cookies=request.responseCookies;for(var i=0,l=cookies?cookies.length:0;i<l;++i){var cookie=cookies[i];this._suggestionBuilder.addItem(WebInspector.NetworkPanel.FilterType.SetCookieDomain,cookie.domain());this._suggestionBuilder.addItem(WebInspector.NetworkPanel.FilterType.SetCookieName,cookie.name());this._suggestionBuilder.addItem(WebInspector.NetworkPanel.FilterType.SetCookieValue,cookie.value());} |
+this._staleRequests[request.requestId]=request;this._scheduleRefresh();},_willReloadPage:function(event) |
{this._recordButton.toggled=true;if(!this._preserveLogCheckbox.checked()) |
this._reset();},_mainFrameNavigated:function(event) |
{if(!this._recordButton.toggled||this._preserveLogCheckbox.checked()) |
@@ -272,7 +284,7 @@ |
{this.element.classList.add("brief-mode");this._removeAllNodeHighlights();this._detailedMode=false;this._updateColumns();this._popoverHelper.hidePopover();},_toggleLargerRequests:function() |
{WebInspector.settings.resourcesLargeRows.set(!WebInspector.settings.resourcesLargeRows.get());this._setLargerRequests(WebInspector.settings.resourcesLargeRows.get());},_setLargerRequests:function(enabled) |
{this._largerRequestsButton.toggled=enabled;if(!enabled){this._largerRequestsButton.title=WebInspector.UIString("Use large resource rows.");this._dataGrid.element.classList.add("small");this._timelineGrid.element.classList.add("small");}else{this._largerRequestsButton.title=WebInspector.UIString("Use small resource rows.");this._dataGrid.element.classList.remove("small");this._timelineGrid.element.classList.remove("small");} |
-this.dispatchEventToListeners(WebInspector.NetworkLogView.EventTypes.RowSizeChanged,{largeRows:enabled});this._updateOffscreenRows();},_getPopoverAnchor:function(element) |
+this.dispatchEventToListeners(WebInspector.NetworkLogView.EventTypes.RowSizeChanged,{largeRows:enabled});},_getPopoverAnchor:function(element) |
{if(!this._allowPopover) |
return;var anchor=element.enclosingNodeOrSelfWithClass("network-graph-bar")||element.enclosingNodeOrSelfWithClass("network-graph-label");if(anchor&&anchor.parentElement.request&&anchor.parentElement.request.timing) |
return anchor;anchor=element.enclosingNodeOrSelfWithClass("network-script-initiated");if(anchor&&anchor.request&&anchor.request.initiator) |
@@ -292,28 +304,35 @@ |
var columnIDs=Object.keys(this._coulmnsVisibilitySetting.get());this._configurableColumnIDs=columnIDs.sort(compare);return this._configurableColumnIDs;},_contextMenu:function(event) |
{var contextMenu=new WebInspector.ContextMenu(event);if(this._detailedMode&&event.target.isSelfOrDescendant(this._dataGrid.headerTableBody)){var columnsVisibility=this._coulmnsVisibilitySetting.get();var columnIDs=this._getConfigurableColumnIDs();for(var i=0;i<columnIDs.length;++i){var columnIdentifier=columnIDs[i];var column=this._dataGrid.columns[columnIdentifier];contextMenu.appendCheckboxItem(column.title,this._toggleColumnVisibility.bind(this,columnIdentifier),!!columnsVisibility[columnIdentifier]);} |
contextMenu.show();return;} |
-var gridNode=this._dataGrid.dataGridNodeFromNode(event.target);var request=gridNode&&gridNode._request;if(request){contextMenu.appendItem(WebInspector.openLinkExternallyLabel(),WebInspector.openResource.bind(WebInspector,request.url,false));contextMenu.appendSeparator();contextMenu.appendItem(WebInspector.copyLinkAddressLabel(),this._copyLocation.bind(this,request));if(request.requestHeadersText()) |
+var gridNode=this._dataGrid.dataGridNodeFromNode(event.target);var request=gridNode&&gridNode._request;function openResourceInNewTab(url) |
+{InspectorFrontendHost.openInNewTab(url);} |
+if(request){contextMenu.appendItem(WebInspector.openLinkExternallyLabel(),openResourceInNewTab.bind(null,request.url));contextMenu.appendSeparator();contextMenu.appendItem(WebInspector.copyLinkAddressLabel(),this._copyLocation.bind(this,request));if(request.requestHeadersText()) |
contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Copy request headers":"Copy Request Headers"),this._copyRequestHeaders.bind(this,request));if(request.responseHeadersText) |
-contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Copy response headers":"Copy Response Headers"),this._copyResponseHeaders.bind(this,request));contextMenu.appendItem(WebInspector.UIString("Copy as cURL"),this._copyCurlCommand.bind(this,request));} |
+contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Copy response headers":"Copy Response Headers"),this._copyResponseHeaders.bind(this,request));if(request.finished) |
+contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Copy response":"Copy Response"),this._copyResponse.bind(this,request));contextMenu.appendItem(WebInspector.UIString("Copy as cURL"),this._copyCurlCommand.bind(this,request));} |
contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Copy all as HAR":"Copy All as HAR"),this._copyAll.bind(this));contextMenu.appendSeparator();contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Save as HAR with content":"Save as HAR with Content"),this._exportAll.bind(this));contextMenu.appendSeparator();contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Clear browser cache":"Clear Browser Cache"),this._clearBrowserCache.bind(this));contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Clear browser cookies":"Clear Browser Cookies"),this._clearBrowserCookies.bind(this));if(request&&request.type===WebInspector.resourceTypes.XHR){contextMenu.appendSeparator();contextMenu.appendItem(WebInspector.UIString("Replay XHR"),this._replayXHR.bind(this,request.requestId));contextMenu.appendSeparator();} |
contextMenu.show();},_replayXHR:function(requestId) |
-{NetworkAgent.replayXHR(requestId);},_copyAll:function() |
-{var harArchive={log:(new WebInspector.HARLog(this._requests.filter(WebInspector.NetworkLogView.HTTPRequestsFilter))).build()};InspectorFrontendHost.copyText(JSON.stringify(harArchive,null,2));},_copyLocation:function(request) |
+{NetworkAgent.replayXHR(requestId);},_harRequests:function() |
+{var httpRequests=this._requests.filter(WebInspector.NetworkLogView.HTTPRequestsFilter);httpRequests=httpRequests.filter(WebInspector.NetworkLogView.FinishedRequestsFilter);return httpRequests.filter(WebInspector.NetworkLogView.NonSourceMapRequestsFilter);},_copyAll:function() |
+{var harArchive={log:(new WebInspector.HARLog(this._harRequests())).build()};InspectorFrontendHost.copyText(JSON.stringify(harArchive,null,2));},_copyLocation:function(request) |
{InspectorFrontendHost.copyText(request.url);},_copyRequestHeaders:function(request) |
-{InspectorFrontendHost.copyText(request.requestHeadersText());},_copyResponseHeaders:function(request) |
+{InspectorFrontendHost.copyText(request.requestHeadersText());},_copyResponse:function(request) |
+{function callback(content) |
+{if(request.contentEncoded) |
+content=request.asDataURL();InspectorFrontendHost.copyText(content||"");} |
+request.requestContent(callback);},_copyResponseHeaders:function(request) |
{InspectorFrontendHost.copyText(request.responseHeadersText);},_copyCurlCommand:function(request) |
{InspectorFrontendHost.copyText(this._generateCurlCommand(request));},_exportAll:function() |
-{var filename=WebInspector.inspectedPageDomain+".har";var stream=new WebInspector.FileOutputStream();stream.open(filename,openCallback.bind(this));function openCallback(accepted) |
+{var filename=WebInspector.resourceTreeModel.inspectedPageDomain()+".har";var stream=new WebInspector.FileOutputStream();stream.open(filename,openCallback.bind(this));function openCallback(accepted) |
{if(!accepted) |
-return;var progressIndicator=new WebInspector.ProgressIndicator();this._progressBarContainer.appendChild(progressIndicator.element);var harWriter=new WebInspector.HARWriter();harWriter.write(stream,this._requests.filter(WebInspector.NetworkLogView.HTTPRequestsFilter),progressIndicator);}},_clearBrowserCache:function() |
+return;var progressIndicator=new WebInspector.ProgressIndicator();this._progressBarContainer.appendChild(progressIndicator.element);var harWriter=new WebInspector.HARWriter();harWriter.write(stream,this._harRequests(),progressIndicator);}},_clearBrowserCache:function() |
{if(confirm(WebInspector.UIString("Are you sure you want to clear browser cache?"))) |
NetworkAgent.clearBrowserCache();},_clearBrowserCookies:function() |
{if(confirm(WebInspector.UIString("Are you sure you want to clear browser cookies?"))) |
-NetworkAgent.clearBrowserCookies();},_updateOffscreenRows:function() |
+NetworkAgent.clearBrowserCookies();},_updateRows:function() |
{var dataTableBody=this._dataGrid.dataTableBody;var rows=dataTableBody.children;var recordsCount=rows.length;if(recordsCount<2) |
-return;var visibleTop=this._dataGrid.scrollContainer.scrollTop;var visibleBottom=visibleTop+this._dataGrid.scrollContainer.offsetHeight;var rowHeight=0;var unfilteredRowIndex=0;for(var i=0;i<recordsCount-1;++i){var row=rows[i];var dataGridNode=this._dataGrid.dataGridNodeFromNode(row);if(dataGridNode.isFilteredOut()){row.classList.remove("offscreen");continue;} |
-if(!rowHeight) |
-rowHeight=row.offsetHeight;var rowIsVisible=unfilteredRowIndex*rowHeight<visibleBottom&&(unfilteredRowIndex+1)*rowHeight>visibleTop;if(rowIsVisible!==row.rowIsVisible){row.enableStyleClass("offscreen",!rowIsVisible);row.rowIsVisible=rowIsVisible;} |
+return;var unfilteredRowIndex=0;for(var i=0;i<recordsCount-1;++i){var row=rows[i];var dataGridNode=this._dataGrid.dataGridNodeFromNode(row);if(dataGridNode.isFilteredOut()){row.classList.remove("offscreen");continue;} |
+var rowIsOdd=!!(unfilteredRowIndex&1);if(rowIsOdd!==row.rowIsOdd){row.classList.toggle("odd",rowIsOdd);row.rowIsOdd=rowIsOdd;} |
unfilteredRowIndex++;}},_matchRequest:function(request) |
{if(!this._searchRegExp) |
return-1;if(!request.name().match(this._searchRegExp)&&!request.path().match(this._searchRegExp)) |
@@ -329,7 +348,7 @@ |
{var node=this._requestGridNode(request);if(!node) |
return;var nameMatched=request.name().match(regExp);var pathMatched=request.path().match(regExp);if(!nameMatched&&pathMatched&&!this._largerRequestsButton.toggled) |
this._toggleLargerRequests();var highlightedSubstringChanges=node._highlightMatchedSubstring(regExp);this._highlightedSubstringChanges.push(highlightedSubstringChanges);if(reveal){node.reveal();this._highlightNode(node);}},_highlightNthMatchedRequestForSearch:function(matchedRequestIndex,reveal) |
-{var request=this.requestById(this._matchedRequests[matchedRequestIndex]);if(!request) |
+{var request=this._requestsById[this._matchedRequests[matchedRequestIndex]];if(!request) |
return;this._removeAllHighlights();this._highlightMatchedRequest(request,reveal,this._searchRegExp);var node=this._requestGridNode(request);if(node) |
this._currentMatchedRequestIndex=matchedRequestIndex;this.dispatchEventToListeners(WebInspector.NetworkLogView.EventTypes.SearchIndexUpdated,this._currentMatchedRequestIndex);},performSearch:function(query,shouldJump) |
{var newMatchedRequestIndex=0;var currentMatchedRequestId;if(this._currentMatchedRequestIndex!==-1) |
@@ -338,15 +357,16 @@ |
newMatchedRequestIndex=this._matchedRequests.length-1;} |
this.dispatchEventToListeners(WebInspector.NetworkLogView.EventTypes.SearchCountUpdated,this._matchedRequests.length);if(shouldJump) |
this._highlightNthMatchedRequestForSearch(newMatchedRequestIndex,true);},_applyFilter:function(node) |
-{var filter=this._textFilterUI.regex();var request=node._request;var matches=true;if(this._dataURLFilterUI.checked()&&request.parsedURL.isDataURL()) |
-matches=false;if(matches&&!this._resourceTypeFilterUI.accept(request.type.name())) |
-matches=false;if(matches&&filter){matches=filter.test(request.name())||filter.test(request.path());if(matches) |
-this._highlightMatchedRequest(request,false,filter);} |
-node.element.enableStyleClass("filtered-out",!matches);if(matches) |
+{var request=node._request;var matches=this._resourceTypeFilterUI.accept(request.type.name());if(this._dataURLFilterUI.checked()&&request.parsedURL.isDataURL()) |
+matches=false;for(var i=0;matches&&(i<this._filters.length);++i) |
+matches=this._filters[i](request);node.element.classList.toggle("filtered-out",!matches);if(matches) |
this._filteredOutRequests.remove(request);else |
-this._filteredOutRequests.put(request,true);},_filterRequests:function() |
+this._filteredOutRequests.put(request,true);},_parseFilterQuery:function(query) |
+{var parsedQuery=this._suggestionBuilder.parseQuery(query);this._filters=parsedQuery.text.map(this._createTextFilter);for(var key in parsedQuery.filters){var filterType=(key);this._filters.push(this._createFilter(filterType,parsedQuery.filters[key]));}},_createTextFilter:function(text) |
+{var regexp=new RegExp(text.escapeForRegExp(),"i");return WebInspector.NetworkLogView._requestNameOrPathFilter.bind(null,regexp);},_createFilter:function(type,value){switch(type){case WebInspector.NetworkPanel.FilterType.Domain:return WebInspector.NetworkLogView._requestDomainFilter.bind(null,value);case WebInspector.NetworkPanel.FilterType.HasResponseHeader:return WebInspector.NetworkLogView._requestResponseHeaderFilter.bind(null,value);case WebInspector.NetworkPanel.FilterType.MimeType:return WebInspector.NetworkLogView._requestMimeTypeFilter.bind(null,value);case WebInspector.NetworkPanel.FilterType.SetCookieDomain:return WebInspector.NetworkLogView._requestSetCookieDomainFilter.bind(null,value);case WebInspector.NetworkPanel.FilterType.SetCookieName:return WebInspector.NetworkLogView._requestSetCookieNameFilter.bind(null,value);case WebInspector.NetworkPanel.FilterType.SetCookieValue:return WebInspector.NetworkLogView._requestSetCookieValueFilter.bind(null,value);} |
+return this._createTextFilter(type+":"+value);},_filterRequests:function() |
{this._removeAllHighlights();this._filteredOutRequests.clear();var nodes=this._dataGrid.rootNode().children;for(var i=0;i<nodes.length;++i) |
-this._applyFilter(nodes[i]);this._updateSummaryBar();this._updateOffscreenRows();},jumpToPreviousSearchResult:function() |
+this._applyFilter(nodes[i]);this._updateSummaryBar();this._updateRows();},jumpToPreviousSearchResult:function() |
{if(!this._matchedRequests.length) |
return;this._highlightNthMatchedRequestForSearch((this._currentMatchedRequestIndex+this._matchedRequests.length-1)%this._matchedRequests.length,true);},jumpToNextSearchResult:function() |
{if(!this._matchedRequests.length) |
@@ -354,7 +374,7 @@ |
{this._clearSearchMatchedList();this.dispatchEventToListeners(WebInspector.NetworkLogView.EventTypes.SearchCountUpdated,0);},revealAndHighlightRequest:function(request) |
{this._removeAllNodeHighlights();var node=this._requestGridNode(request);if(node){this._dataGrid.element.focus();node.reveal();this._highlightNode(node);}},_removeAllNodeHighlights:function() |
{if(this._highlightedNode){this._highlightedNode.element.classList.remove("highlighted-row");delete this._highlightedNode;}},_highlightNode:function(node) |
-{node.element.classList.add("highlighted-row");this._highlightedNode=node;},_generateCurlCommand:function(request) |
+{WebInspector.runCSSAnimationOnce(node.element,"highlighted-row");this._highlightedNode=node;},_generateCurlCommand:function(request) |
{var command=["curl"];var ignoredHeaders={"host":1,"method":1,"path":1,"scheme":1,"version":1};function escapeStringWin(str) |
{return"\""+str.replace(/"/g,"\"\"").replace(/%/g,"\"%\"").replace(/\\/g,"\\\\").replace(/[\r\n]+/g,"\"^$&\"")+"\"";} |
function escapeStringPosix(str) |
@@ -366,45 +386,64 @@ |
if(request.requestMethod!==inferredMethod){command.push("-X");command.push(request.requestMethod);} |
var requestHeaders=request.requestHeaders();for(var i=0;i<requestHeaders.length;i++){var header=requestHeaders[i];var name=header.name.replace(/^:/,"");if(name.toLowerCase()in ignoredHeaders) |
continue;command.push("-H");command.push(escapeString(name+": "+header.value));} |
-command=command.concat(data);command.push("--compressed");return command.join(" ");},__proto__:WebInspector.View.prototype} |
+command=command.concat(data);command.push("--compressed");return command.join(" ");},__proto__:WebInspector.VBox.prototype} |
+WebInspector.NetworkLogView.Filter;WebInspector.NetworkLogView._requestNameOrPathFilter=function(regex,request) |
+{return regex.test(request.name())||regex.test(request.path());} |
+WebInspector.NetworkLogView._requestDomainFilter=function(value,request) |
+{return request.domain===value;} |
+WebInspector.NetworkLogView._requestResponseHeaderFilter=function(value,request) |
+{return request.responseHeaderValue(value)!==undefined;} |
+WebInspector.NetworkLogView._requestMimeTypeFilter=function(value,request) |
+{return request.mimeType===value;} |
+WebInspector.NetworkLogView._requestSetCookieDomainFilter=function(value,request) |
+{var cookies=request.responseCookies;for(var i=0,l=cookies?cookies.length:0;i<l;++i){if(cookies[i].domain()===value) |
+return false;} |
+return false;} |
+WebInspector.NetworkLogView._requestSetCookieNameFilter=function(value,request) |
+{var cookies=request.responseCookies;for(var i=0,l=cookies?cookies.length:0;i<l;++i){if(cookies[i].name()===value) |
+return false;} |
+return false;} |
+WebInspector.NetworkLogView._requestSetCookieValueFilter=function(value,request) |
+{var cookies=request.responseCookies;for(var i=0,l=cookies?cookies.length:0;i<l;++i){if(cookies[i].value()===value) |
+return false;} |
+return false;} |
WebInspector.NetworkLogView.HTTPRequestsFilter=function(request) |
{return request.parsedURL.isValid&&(request.scheme in WebInspector.NetworkLogView.HTTPSchemas);} |
+WebInspector.NetworkLogView.NonSourceMapRequestsFilter=function(request) |
+{return!WebInspector.SourceMap.hasSourceMapRequestHeader(request);} |
+WebInspector.NetworkLogView.FinishedRequestsFilter=function(request) |
+{return request.finished;} |
WebInspector.NetworkLogView.EventTypes={ViewCleared:"ViewCleared",RowSizeChanged:"RowSizeChanged",RequestSelected:"RequestSelected",SearchCountUpdated:"SearchCountUpdated",SearchIndexUpdated:"SearchIndexUpdated"};WebInspector.NetworkPanel=function() |
-{WebInspector.Panel.call(this,"network");this.registerRequiredCSS("networkPanel.css");this._injectStyles();this.element.classList.add("vbox");this._panelStatusBarElement=this.element.createChild("div","panel-status-bar");this._filterBar=new WebInspector.FilterBar();this._filtersContainer=this.element.createChild("div","network-filters-header hidden");this._filtersContainer.appendChild(this._filterBar.filtersElement());this._filterBar.addEventListener(WebInspector.FilterBar.Events.FiltersToggled,this._onFiltersToggled,this);this._searchableView=new WebInspector.SearchableView(this);this._searchableView.show(this.element);this._contentsElement=this._searchableView.element;this.createSidebarView(this._contentsElement);this.splitView.element.classList.remove("fill");this.splitView.hideMainElement();var defaultColumnsVisibility=WebInspector.NetworkLogView._defaultColumnsVisibility;var networkLogColumnsVisibilitySetting=WebInspector.settings.createSetting("networkLogColumnsVisibility",defaultColumnsVisibility);var savedColumnsVisibility=networkLogColumnsVisibilitySetting.get();var columnsVisibility={};for(var columnId in defaultColumnsVisibility) |
-columnsVisibility[columnId]=savedColumnsVisibility.hasOwnProperty(columnId)?savedColumnsVisibility[columnId]:defaultColumnsVisibility[columnId];networkLogColumnsVisibilitySetting.set(columnsVisibility);this._networkLogView=new WebInspector.NetworkLogView(this._filterBar,networkLogColumnsVisibilitySetting);this.splitView.setSidebarView(this._networkLogView);this._viewsContainerElement=this.splitView.mainElement();this._viewsContainerElement.id="network-views";this._viewsContainerElement.classList.add("hidden");if(!this._networkLogView.useLargeRows) |
-this._viewsContainerElement.classList.add("small");this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.ViewCleared,this._onViewCleared,this);this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.RowSizeChanged,this._onRowSizeChanged,this);this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.RequestSelected,this._onRequestSelected,this);this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.SearchCountUpdated,this._onSearchCountUpdated,this);this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.SearchIndexUpdated,this._onSearchIndexUpdated,this);this._closeButtonElement=this._viewsContainerElement.createChild("div","close-button");this._closeButtonElement.id="network-close-button";this._closeButtonElement.addEventListener("click",this._toggleGridMode.bind(this),false);this._viewsContainerElement.appendChild(this._closeButtonElement);for(var i=0;i<this._networkLogView.statusBarItems.length;++i) |
-this._panelStatusBarElement.appendChild(this._networkLogView.statusBarItems[i]);function viewGetter() |
-{return this.visibleView;} |
-WebInspector.GoToLineDialog.install(this,viewGetter.bind(this));} |
-WebInspector.NetworkPanel.prototype={_onFiltersToggled:function(event) |
-{var toggled=(event.data);this._filtersContainer.enableStyleClass("hidden",!toggled);this.element.enableStyleClass("filters-toggled",toggled);},elementsToRestoreScrollPositionsFor:function() |
+{WebInspector.Panel.call(this,"network");this.registerRequiredCSS("networkPanel.css");this._injectStyles();this._panelStatusBarElement=this.element.createChild("div","panel-status-bar");this._filterBar=new WebInspector.FilterBar();this._filtersContainer=this.element.createChild("div","network-filters-header hidden");this._filtersContainer.appendChild(this._filterBar.filtersElement());this._filterBar.addEventListener(WebInspector.FilterBar.Events.FiltersToggled,this._onFiltersToggled,this);this._filterBar.setName("networkPanel");this._searchableView=new WebInspector.SearchableView(this);this._searchableView.show(this.element);this._contentsElement=this._searchableView.element;this._splitView=new WebInspector.SplitView(true,false,"networkPanelSplitViewState");this._splitView.show(this._contentsElement);this._splitView.hideMain();var defaultColumnsVisibility=WebInspector.NetworkLogView._defaultColumnsVisibility;var networkLogColumnsVisibilitySetting=WebInspector.settings.createSetting("networkLogColumnsVisibility",defaultColumnsVisibility);var savedColumnsVisibility=networkLogColumnsVisibilitySetting.get();var columnsVisibility={};for(var columnId in defaultColumnsVisibility) |
+columnsVisibility[columnId]=savedColumnsVisibility.hasOwnProperty(columnId)?savedColumnsVisibility[columnId]:defaultColumnsVisibility[columnId];networkLogColumnsVisibilitySetting.set(columnsVisibility);this._networkLogView=new WebInspector.NetworkLogView(this._filterBar,networkLogColumnsVisibilitySetting);this._networkLogView.show(this._splitView.sidebarElement());var viewsContainerView=new WebInspector.VBox();this._viewsContainerElement=viewsContainerView.element;this._viewsContainerElement.id="network-views";if(!this._networkLogView.useLargeRows) |
+this._viewsContainerElement.classList.add("small");viewsContainerView.show(this._splitView.mainElement());this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.ViewCleared,this._onViewCleared,this);this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.RowSizeChanged,this._onRowSizeChanged,this);this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.RequestSelected,this._onRequestSelected,this);this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.SearchCountUpdated,this._onSearchCountUpdated,this);this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.SearchIndexUpdated,this._onSearchIndexUpdated,this);this._closeButtonElement=this._viewsContainerElement.createChild("div","close-button");this._closeButtonElement.id="network-close-button";this._closeButtonElement.addEventListener("click",this._toggleGridMode.bind(this),false);this._viewsContainerElement.appendChild(this._closeButtonElement);for(var i=0;i<this._networkLogView.statusBarItems.length;++i) |
+this._panelStatusBarElement.appendChild(this._networkLogView.statusBarItems[i]);function sourceFrameGetter() |
+{return this._networkItemView.currentSourceFrame();} |
+WebInspector.GoToLineDialog.install(this,sourceFrameGetter.bind(this));} |
+WebInspector.NetworkPanel.FilterType={Domain:"Domain",HasResponseHeader:"HasResponseHeader",MimeType:"MimeType",SetCookieDomain:"SetCookieDomain",SetCookieName:"SetCookieName",SetCookieValue:"SetCookieValue"};WebInspector.NetworkPanel._searchKeys=Object.values(WebInspector.NetworkPanel.FilterType);WebInspector.NetworkPanel.prototype={_onFiltersToggled:function(event) |
+{var toggled=(event.data);this._filtersContainer.classList.toggle("hidden",!toggled);this.element.classList.toggle("filters-toggled",toggled);this.doResize();},elementsToRestoreScrollPositionsFor:function() |
{return this._networkLogView.elementsToRestoreScrollPositionsFor();},searchableView:function() |
{return this._searchableView;},_reset:function() |
{this._networkLogView._reset();},handleShortcut:function(event) |
{if(this._viewingRequestMode&&event.keyCode===WebInspector.KeyboardShortcut.Keys.Esc.code){this._toggleGridMode();event.handled=true;return;} |
WebInspector.Panel.prototype.handleShortcut.call(this,event);},wasShown:function() |
{WebInspector.Panel.prototype.wasShown.call(this);},get requests() |
-{return this._networkLogView.requests;},requestById:function(id) |
-{return this._networkLogView.requestById(id);},_requestByAnchor:function(anchor) |
-{return anchor.requestId?this.requestById(anchor.requestId):this._networkLogView._requestsByURL[anchor.href];},showAnchorLocation:function(anchor) |
-{var request=this._requestByAnchor(anchor);if(!request) |
-return false;this.revealAndHighlightRequest(request) |
-WebInspector.inspectorView.setCurrentPanel(this);return true;},revealAndHighlightRequest:function(request) |
+{return this._networkLogView.requests;},revealAndHighlightRequest:function(request) |
{this._toggleGridMode();if(request) |
this._networkLogView.revealAndHighlightRequest(request);},_onViewCleared:function(event) |
{this._closeVisibleRequest();this._toggleGridMode();this._viewsContainerElement.removeChildren();this._viewsContainerElement.appendChild(this._closeButtonElement);},_onRowSizeChanged:function(event) |
-{this._viewsContainerElement.enableStyleClass("small",!event.data.largeRows);},_onSearchCountUpdated:function(event) |
+{this._viewsContainerElement.classList.toggle("small",!event.data.largeRows);},_onSearchCountUpdated:function(event) |
{this._searchableView.updateSearchMatchesCount(event.data);},_onSearchIndexUpdated:function(event) |
{this._searchableView.updateCurrentMatchIndex(event.data);},_onRequestSelected:function(event) |
{this._showRequest(event.data);},_showRequest:function(request) |
{if(!request) |
-return;this._toggleViewingRequestMode();if(this.visibleView){this.visibleView.detach();delete this.visibleView;} |
-var view=new WebInspector.NetworkItemView(request);view.show(this._viewsContainerElement);this.visibleView=view;},_closeVisibleRequest:function() |
-{this.element.classList.remove("viewing-resource");if(this.visibleView){this.visibleView.detach();delete this.visibleView;}},_toggleGridMode:function() |
-{if(this._viewingRequestMode){this._viewingRequestMode=false;this.element.classList.remove("viewing-resource");this.splitView.hideMainElement();} |
+return;this._toggleViewingRequestMode();if(this._networkItemView){this._networkItemView.detach();delete this._networkItemView;} |
+var view=new WebInspector.NetworkItemView(request);view.show(this._viewsContainerElement);this._networkItemView=view;},_closeVisibleRequest:function() |
+{this.element.classList.remove("viewing-resource");if(this._networkItemView){this._networkItemView.detach();delete this._networkItemView;}},_toggleGridMode:function() |
+{if(this._viewingRequestMode){this._viewingRequestMode=false;this.element.classList.remove("viewing-resource");this._splitView.hideMain();} |
this._networkLogView.switchToDetailedView();this._networkLogView.allowPopover=true;this._networkLogView._allowRequestSelection=false;},_toggleViewingRequestMode:function() |
{if(this._viewingRequestMode) |
-return;this._viewingRequestMode=true;this.element.classList.add("viewing-resource");this.splitView.showMainElement();this._networkLogView.allowPopover=false;this._networkLogView._allowRequestSelection=true;this._networkLogView.switchToBriefView();},performSearch:function(query,shouldJump) |
+return;this._viewingRequestMode=true;this.element.classList.add("viewing-resource");this._splitView.showBoth();this._networkLogView.allowPopover=false;this._networkLogView._allowRequestSelection=true;this._networkLogView.switchToBriefView();},performSearch:function(query,shouldJump) |
{this._networkLogView.performSearch(query,shouldJump);},jumpToPreviousSearchResult:function() |
{this._networkLogView.jumpToPreviousSearchResult();},jumpToNextSearchResult:function() |
{this._networkLogView.jumpToNextSearchResult();},searchCanceled:function() |
@@ -418,14 +457,19 @@ |
if(target instanceof WebInspector.UISourceCode){var uiSourceCode=(target);var resource=WebInspector.resourceForURL(uiSourceCode.url);if(resource&&resource.request) |
appendRevealItem.call(this,resource.request);return;} |
if(!(target instanceof WebInspector.NetworkRequest)) |
-return;var request=(target);if(this.visibleView&&this.visibleView.isShowing()&&this.visibleView.request()===request) |
+return;var request=(target);if(this._networkItemView&&this._networkItemView.isShowing()&&this._networkItemView.request()===request) |
return;appendRevealItem.call(this,request);},_injectStyles:function() |
{var style=document.createElement("style");var rules=[];var columns=WebInspector.NetworkLogView._defaultColumnsVisibility;var hideSelectors=[];var bgSelectors=[];for(var columnId in columns){hideSelectors.push("#network-container .hide-"+columnId+"-column ."+columnId+"-column");bgSelectors.push(".network-log-grid.data-grid td."+columnId+"-column");} |
rules.push(hideSelectors.join(", ")+"{border-left: 0 none transparent;}");rules.push(bgSelectors.join(", ")+"{background-color: rgba(0, 0, 0, 0.07);}");style.textContent=rules.join("\n");document.head.appendChild(style);},__proto__:WebInspector.Panel.prototype} |
WebInspector.NetworkPanel.ContextMenuProvider=function() |
{} |
WebInspector.NetworkPanel.ContextMenuProvider.prototype={appendApplicableItems:function(event,contextMenu,target) |
-{WebInspector.panel("network").appendApplicableItems(event,contextMenu,target);}} |
+{WebInspector.inspectorView.panel("network").appendApplicableItems(event,contextMenu,target);}} |
+WebInspector.NetworkPanel.RequestRevealer=function() |
+{} |
+WebInspector.NetworkPanel.RequestRevealer.prototype={reveal:function(request) |
+{if(request instanceof WebInspector.NetworkRequest) |
+(WebInspector.inspectorView.showPanel("network")).revealAndHighlightRequest(request);}} |
WebInspector.NetworkBaseCalculator=function() |
{} |
WebInspector.NetworkBaseCalculator.prototype={computePosition:function(time) |
@@ -439,9 +483,10 @@ |
{return this._maximumBoundary;},minimumBoundary:function() |
{return this._minimumBoundary;},zeroTime:function() |
{return this._minimumBoundary;},_value:function(item) |
-{return 0;},formatTime:function(value,hires) |
+{return 0;},formatTime:function(value,precision) |
{return value.toString();},setDisplayWindow:function(clientWidth) |
-{this._workingArea=clientWidth;this.paddingLeft=0;}} |
+{this._workingArea=clientWidth;},paddingLeft:function() |
+{return 0;}} |
WebInspector.NetworkTimeCalculator=function(startAtZero) |
{WebInspector.NetworkBaseCalculator.call(this);this.startAtZero=startAtZero;} |
WebInspector.NetworkTimeCalculator.prototype={computeBarGraphPercentages:function(request) |
@@ -459,10 +504,10 @@ |
return false;if(typeof this._maximumBoundary==="undefined"||eventTime>this._maximumBoundary){this._maximumBoundary=eventTime;return true;} |
return false;},computeBarGraphLabels:function(request) |
{var rightLabel="";if(request.responseReceivedTime!==-1&&request.endTime!==-1) |
-rightLabel=this.formatTime(request.endTime-request.responseReceivedTime);var hasLatency=request.latency>0;if(hasLatency) |
-var leftLabel=this.formatTime(request.latency);else |
+rightLabel=Number.secondsToString(request.endTime-request.responseReceivedTime);var hasLatency=request.latency>0;if(hasLatency) |
+var leftLabel=Number.secondsToString(request.latency);else |
var leftLabel=rightLabel;if(request.timing) |
-return{left:leftLabel,right:rightLabel};if(hasLatency&&rightLabel){var total=this.formatTime(request.duration);var tooltip=WebInspector.UIString("%s latency, %s download (%s total)",leftLabel,rightLabel,total);}else if(hasLatency) |
+return{left:leftLabel,right:rightLabel};if(hasLatency&&rightLabel){var total=Number.secondsToString(request.duration);var tooltip=WebInspector.UIString("%s latency, %s download (%s total)",leftLabel,rightLabel,total);}else if(hasLatency) |
var tooltip=WebInspector.UIString("%s latency",leftLabel);else if(rightLabel) |
var tooltip=WebInspector.UIString("%s download",rightLabel);if(request.cached) |
tooltip=WebInspector.UIString("%s (from cache)",tooltip);return{left:leftLabel,right:rightLabel,tooltip:tooltip};},updateBoundaries:function(request) |
@@ -477,7 +522,7 @@ |
WebInspector.NetworkTransferTimeCalculator=function() |
{WebInspector.NetworkTimeCalculator.call(this,false);} |
WebInspector.NetworkTransferTimeCalculator.prototype={formatTime:function(value) |
-{return Number.secondsToString(value);},_lowerBound:function(request) |
+{return Number.secondsToString(value-this.zeroTime());},_lowerBound:function(request) |
{return request.startTime;},_upperBound:function(request) |
{return request.endTime;},__proto__:WebInspector.NetworkTimeCalculator.prototype} |
WebInspector.NetworkTransferDurationCalculator=function() |
@@ -488,7 +533,7 @@ |
WebInspector.NetworkDataGridNode=function(parentView,request) |
{WebInspector.DataGridNode.call(this,{});this._parentView=parentView;this._request=request;this._linkifier=new WebInspector.Linkifier();} |
WebInspector.NetworkDataGridNode.prototype={createCells:function() |
-{this._element.classList.add("offscreen");this._nameCell=this._createDivInTD("name");this._methodCell=this._createDivInTD("method");this._statusCell=this._createDivInTD("status");this._schemeCell=this._createDivInTD("scheme");this._domainCell=this._createDivInTD("domain");this._typeCell=this._createDivInTD("type");this._initiatorCell=this._createDivInTD("initiator");this._cookiesCell=this._createDivInTD("cookies");this._setCookiesCell=this._createDivInTD("setCookies");this._sizeCell=this._createDivInTD("size");this._timeCell=this._createDivInTD("time");this._responseHeaderCells={};var responseHeaderColumns=WebInspector.NetworkLogView._responseHeaderColumns;for(var i=0;i<responseHeaderColumns.length;++i) |
+{this._nameCell=this._createDivInTD("name");this._methodCell=this._createDivInTD("method");this._statusCell=this._createDivInTD("status");this._schemeCell=this._createDivInTD("scheme");this._domainCell=this._createDivInTD("domain");this._remoteAddressCell=this._createDivInTD("remoteAddress");this._typeCell=this._createDivInTD("type");this._initiatorCell=this._createDivInTD("initiator");this._cookiesCell=this._createDivInTD("cookies");this._setCookiesCell=this._createDivInTD("setCookies");this._sizeCell=this._createDivInTD("size");this._timeCell=this._createDivInTD("time");this._responseHeaderCells={};var responseHeaderColumns=WebInspector.NetworkLogView._responseHeaderColumns;for(var i=0;i<responseHeaderColumns.length;++i) |
this._responseHeaderCells[responseHeaderColumns[i]]=this._createDivInTD(responseHeaderColumns[i]);this._timelineCell=this._createDivInTD("timeline");this._createTimelineBar(this._timelineCell);this._nameCell.addEventListener("click",this._onClick.bind(this),false);this._nameCell.addEventListener("dblclick",this._openInNewTab.bind(this),false);},wasDetached:function() |
{this._linkifier.reset();},isFilteredOut:function() |
{return!!this._parentView._filteredOutRequests.get(this._request);},_onClick:function() |
@@ -501,25 +546,21 @@ |
{return this._parentView._allowRequestSelection&&!this.isFilteredOut();},_createDivInTD:function(columnIdentifier) |
{var td=this.createTD(columnIdentifier);var div=td.createChild("div");this._element.appendChild(td);return div;},_createTimelineBar:function(cell) |
{cell.className="network-graph-side";this._barAreaElement=document.createElement("div");this._barAreaElement.className="network-graph-bar-area";this._barAreaElement.request=this._request;cell.appendChild(this._barAreaElement);this._barLeftElement=document.createElement("div");this._barLeftElement.className="network-graph-bar waiting";this._barAreaElement.appendChild(this._barLeftElement);this._barRightElement=document.createElement("div");this._barRightElement.className="network-graph-bar";this._barAreaElement.appendChild(this._barRightElement);this._labelLeftElement=document.createElement("div");this._labelLeftElement.className="network-graph-label waiting";this._barAreaElement.appendChild(this._labelLeftElement);this._labelRightElement=document.createElement("div");this._labelRightElement.className="network-graph-label";this._barAreaElement.appendChild(this._labelRightElement);cell.addEventListener("mouseover",this._refreshLabelPositions.bind(this),false);},refreshRequest:function() |
-{this._refreshNameCell();this._refreshMethodCell();this._refreshStatusCell();this._refreshSchemeCell();this._refreshDomainCell();this._refreshTypeCell();this._refreshInitiatorCell();this._refreshCookiesCell();this._refreshSetCookiesCell();this._refreshSizeCell();this._refreshTimeCell();var responseHeaderColumns=WebInspector.NetworkLogView._responseHeaderColumns;for(var i=0;i<responseHeaderColumns.length;++i) |
+{this._refreshNameCell();this._refreshMethodCell();this._refreshStatusCell();this._refreshSchemeCell();this._refreshDomainCell();this._refreshRemoteAddressCell();this._refreshTypeCell();this._refreshInitiatorCell();this._refreshCookiesCell();this._refreshSetCookiesCell();this._refreshSizeCell();this._refreshTimeCell();var responseHeaderColumns=WebInspector.NetworkLogView._responseHeaderColumns;for(var i=0;i<responseHeaderColumns.length;++i) |
this._refreshResponseHeaderCell(responseHeaderColumns[i]);if(this._request.cached) |
-this._timelineCell.classList.add("resource-cached");this._element.classList.add("network-item");this._element.enableStyleClass("network-error-row",this._request.failed||(this._request.statusCode>=400));this._updateElementStyleClasses(this._element);},_updateElementStyleClasses:function(element) |
+this._timelineCell.classList.add("resource-cached");this._element.classList.add("network-item");this._element.classList.toggle("network-error-row",this._isFailed());this._updateElementStyleClasses(this._element);},_isFailed:function() |
+{return!!this._request.failed||(this._request.statusCode>=400);},_updateElementStyleClasses:function(element) |
{var typeClassName="network-type-"+this._request.type.name();if(!element.classList.contains(typeClassName)){element.removeMatchingStyleClasses("network-type-\\w+");element.classList.add(typeClassName);}},_refreshResponseHeaderCell:function(headerName) |
{var cell=this._responseHeaderCells[headerName];var value=this._request.responseHeaderValue(headerName);cell.setTextAndTitle(value?value:"");},_refreshNameCell:function() |
{this._nameCell.removeChildren();if(this._request.type===WebInspector.resourceTypes.Image){var previewImage=document.createElement("img");previewImage.className="image-network-icon-preview";this._request.populateImageSource(previewImage);var iconElement=document.createElement("div");iconElement.className="icon";iconElement.appendChild(previewImage);}else{var iconElement=document.createElement("img");iconElement.className="icon";} |
this._nameCell.appendChild(iconElement);this._nameCell.appendChild(document.createTextNode(this._request.name()));this._appendSubtitle(this._nameCell,this._request.path());this._nameCell.title=this._request.url;},_refreshMethodCell:function() |
{this._methodCell.setTextAndTitle(this._request.requestMethod);},_refreshStatusCell:function() |
-{this._statusCell.removeChildren();if(this._request.failed){var failText=this._request.canceled?WebInspector.UIString("(canceled)"):WebInspector.UIString("(failed)");if(this._request.localizedFailDescription){this._statusCell.appendChild(document.createTextNode(failText));this._appendSubtitle(this._statusCell,this._request.localizedFailDescription);this._statusCell.title=failText+" "+this._request.localizedFailDescription;}else |
-this._statusCell.setTextAndTitle(failText);this._statusCell.classList.add("network-dim-cell");return;} |
-this._statusCell.classList.remove("network-dim-cell");if(this._request.statusCode){this._statusCell.appendChild(document.createTextNode(""+this._request.statusCode));this._appendSubtitle(this._statusCell,this._request.statusText);this._statusCell.title=this._request.statusCode+" "+this._request.statusText;if(this._request.cached) |
-this._statusCell.classList.add("network-dim-cell");}else{if(this._request.parsedURL.isDataURL()) |
-this._statusCell.setTextAndTitle(WebInspector.UIString("(data)"));else if(this._request.isPingRequest()) |
-this._statusCell.setTextAndTitle(WebInspector.UIString("(ping)"));else if(this._request.finished) |
-this._statusCell.setTextAndTitle(WebInspector.UIString("Finished"));else |
-this._statusCell.setTextAndTitle(WebInspector.UIString("(pending)"));this._statusCell.classList.add("network-dim-cell");}},_refreshSchemeCell:function() |
+{this._statusCell.removeChildren();this._statusCell.classList.toggle("network-dim-cell",!this._isFailed()&&(this._request.cached||!this._request.statusCode));if(this._request.failed&&!this._request.canceled){var failText=WebInspector.UIString("(failed)");if(this._request.localizedFailDescription){this._statusCell.appendChild(document.createTextNode(failText));this._appendSubtitle(this._statusCell,this._request.localizedFailDescription);this._statusCell.title=failText+" "+this._request.localizedFailDescription;}else |
+this._statusCell.setTextAndTitle(failText);}else if(this._request.statusCode){this._statusCell.appendChild(document.createTextNode(""+this._request.statusCode));this._appendSubtitle(this._statusCell,this._request.statusText);this._statusCell.title=this._request.statusCode+" "+this._request.statusText;}else if(this._request.parsedURL.isDataURL()){this._statusCell.setTextAndTitle(WebInspector.UIString("(data)"));}else if(this._request.isPingRequest()){this._statusCell.setTextAndTitle(WebInspector.UIString("(ping)"));}else if(this._request.canceled){this._statusCell.setTextAndTitle(WebInspector.UIString("(canceled)"));}else if(this._request.finished){this._statusCell.setTextAndTitle(WebInspector.UIString("Finished"));}else{this._statusCell.setTextAndTitle(WebInspector.UIString("(pending)"));}},_refreshSchemeCell:function() |
{this._schemeCell.setTextAndTitle(this._request.scheme);},_refreshDomainCell:function() |
-{this._domainCell.setTextAndTitle(this._request.domain);},_refreshTypeCell:function() |
-{if(this._request.mimeType){this._typeCell.classList.remove("network-dim-cell");this._typeCell.setTextAndTitle(this._request.mimeType);}else{this._typeCell.enableStyleClass("network-dim-cell",!this._request.isPingRequest());this._typeCell.setTextAndTitle(this._request.requestContentType()||"");}},_refreshInitiatorCell:function() |
+{this._domainCell.setTextAndTitle(this._request.domain);},_refreshRemoteAddressCell:function() |
+{this._remoteAddressCell.setTextAndTitle(this._request.remoteAddress());},_refreshTypeCell:function() |
+{if(this._request.mimeType){this._typeCell.classList.remove("network-dim-cell");this._typeCell.setTextAndTitle(this._request.mimeType);}else{this._typeCell.classList.toggle("network-dim-cell",!this._request.isPingRequest());this._typeCell.setTextAndTitle(this._request.requestContentType()||"");}},_refreshInitiatorCell:function() |
{this._initiatorCell.removeChildren();this._initiatorCell.classList.remove("network-dim-cell");this._initiatorCell.classList.remove("network-script-initiated");delete this._initiatorCell.request;var request=this._request;var initiator=request.initiatorInfo();switch(initiator.type){case WebInspector.NetworkRequest.InitiatorType.Parser:this._initiatorCell.title=initiator.url+":"+initiator.lineNumber;this._initiatorCell.appendChild(WebInspector.linkifyResourceAsNode(initiator.url,initiator.lineNumber-1));this._appendSubtitle(this._initiatorCell,WebInspector.UIString("Parser"));break;case WebInspector.NetworkRequest.InitiatorType.Redirect:this._initiatorCell.title=initiator.url;console.assert(request.redirectSource);var redirectSource=(request.redirectSource);this._initiatorCell.appendChild(WebInspector.linkifyRequestAsNode(redirectSource));this._appendSubtitle(this._initiatorCell,WebInspector.UIString("Redirect"));break;case WebInspector.NetworkRequest.InitiatorType.Script:var urlElement=this._linkifier.linkifyLocation(initiator.url,initiator.lineNumber-1,initiator.columnNumber-1);urlElement.title="";this._initiatorCell.appendChild(urlElement);this._appendSubtitle(this._initiatorCell,WebInspector.UIString("Script"));this._initiatorCell.classList.add("network-script-initiated");this._initiatorCell.request=request;break;default:this._initiatorCell.title="";this._initiatorCell.classList.add("network-dim-cell");this._initiatorCell.setTextAndTitle(WebInspector.UIString("Other"));}},_refreshCookiesCell:function() |
{var requestCookies=this._request.requestCookies;this._cookiesCell.setTextAndTitle(requestCookies?""+requestCookies.length:"");},_refreshSetCookiesCell:function() |
{var responseCookies=this._request.responseCookies;this._setCookiesCell.setTextAndTitle(responseCookies?""+responseCookies.length:"");},_refreshSizeCell:function() |
@@ -542,6 +583,10 @@ |
{var aFileName=a._request.name();var bFileName=b._request.name();if(aFileName>bFileName) |
return 1;if(bFileName>aFileName) |
return-1;return 0;} |
+WebInspector.NetworkDataGridNode.RemoteAddressComparator=function(a,b) |
+{var aRemoteAddress=a._request.remoteAddress();var bRemoteAddress=b._request.remoteAddress();if(aRemoteAddress>bRemoteAddress) |
+return 1;if(bRemoteAddress>aRemoteAddress) |
+return-1;return 0;} |
WebInspector.NetworkDataGridNode.SizeComparator=function(a,b) |
{if(b._request.cached&&!a._request.cached) |
return 1;if(a._request.cached&&!b._request.cached) |