Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2008, 2009 Anthony Ricaud <rik@webkit.org> | 3 * Copyright (C) 2008, 2009 Anthony Ricaud <rik@webkit.org> |
| 4 * Copyright (C) 2011 Google Inc. All rights reserved. | 4 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 5 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
| 8 * are met: | 8 * are met: |
| 9 * | 9 * |
| 10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 338 columns.push({ | 338 columns.push({ |
| 339 id: "timeline", | 339 id: "timeline", |
| 340 titleDOMFragment: document.createDocumentFragment(), | 340 titleDOMFragment: document.createDocumentFragment(), |
| 341 title: WebInspector.UIString("Timeline"), | 341 title: WebInspector.UIString("Timeline"), |
| 342 sortable: false, | 342 sortable: false, |
| 343 weight: 40, | 343 weight: 40, |
| 344 sort: WebInspector.DataGrid.Order.Ascending | 344 sort: WebInspector.DataGrid.Order.Ascending |
| 345 }); | 345 }); |
| 346 | 346 |
| 347 this._dataGrid = new WebInspector.DataGrid(columns); | 347 this._dataGrid = new WebInspector.DataGrid(columns); |
| 348 this._updateColumns(); | |
| 348 this._dataGrid.setName("networkLog"); | 349 this._dataGrid.setName("networkLog"); |
| 349 this._dataGrid.resizeMethod = WebInspector.DataGrid.ResizeMethod.Last; | 350 this._dataGrid.resizeMethod = WebInspector.DataGrid.ResizeMethod.Last; |
| 350 this._dataGrid.element.classList.add("network-log-grid"); | 351 this._dataGrid.element.classList.add("network-log-grid"); |
| 351 this._dataGrid.element.addEventListener("contextmenu", this._contextMenu .bind(this), true); | 352 this._dataGrid.element.addEventListener("contextmenu", this._contextMenu .bind(this), true); |
| 352 this._dataGrid.show(this.element); | 353 this._dataGrid.show(this.element); |
| 353 | 354 |
| 354 // Event listeners need to be added _after_ we attach to the document, s o that owner document is properly update. | 355 // Event listeners need to be added _after_ we attach to the document, s o that owner document is properly update. |
| 355 this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SortingChan ged, this._sortItems, this); | 356 this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SortingChan ged, this._sortItems, this); |
| 356 this._dataGrid.addEventListener(WebInspector.DataGrid.Events.ColumnsResi zed, this._updateDividersIfNeeded, this); | 357 this._dataGrid.addEventListener(WebInspector.DataGrid.Events.ColumnsResi zed, this._updateDividersIfNeeded, this); |
| 357 | 358 |
| (...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 729 } | 730 } |
| 730 | 731 |
| 731 for (var requestId in this._staleRequests) { | 732 for (var requestId in this._staleRequests) { |
| 732 var request = this._staleRequests[requestId]; | 733 var request = this._staleRequests[requestId]; |
| 733 var node = this._requestGridNode(request); | 734 var node = this._requestGridNode(request); |
| 734 if (!node) { | 735 if (!node) { |
| 735 // Create the timeline tree element and graph. | 736 // Create the timeline tree element and graph. |
| 736 node = this._createRequestGridNode(request); | 737 node = this._createRequestGridNode(request); |
| 737 this._dataGrid.rootNode().appendChild(node); | 738 this._dataGrid.rootNode().appendChild(node); |
| 738 } | 739 } |
| 739 node.refreshRequest(); | 740 node.refresh(); |
| 740 this._applyFilter(node); | 741 this._applyFilter(node); |
| 741 | 742 |
| 742 if (this.calculator.updateBoundaries(request)) | 743 if (this.calculator.updateBoundaries(request)) |
| 743 boundariesChanged = true; | 744 boundariesChanged = true; |
| 744 | 745 |
| 745 if (!node.isFilteredOut()) | 746 if (!node.isFilteredOut()) |
| 746 this._updateHighlightIfMatched(request); | 747 this._updateHighlightIfMatched(request); |
| 747 } | 748 } |
| 748 | 749 |
| 749 if (boundariesChanged) { | 750 if (boundariesChanged) { |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 993 row.createChild("td").textContent = stackFrame.functionName || WebIn spector.UIString("(anonymous function)"); | 994 row.createChild("td").textContent = stackFrame.functionName || WebIn spector.UIString("(anonymous function)"); |
| 994 row.createChild("td").textContent = " @ "; | 995 row.createChild("td").textContent = " @ "; |
| 995 row.createChild("td").appendChild(this._linkifier.linkifyLocation(re quest.target(), stackFrame.url, stackFrame.lineNumber - 1, stackFrame.columnNumb er - 1)); | 996 row.createChild("td").appendChild(this._linkifier.linkifyLocation(re quest.target(), stackFrame.url, stackFrame.lineNumber - 1, stackFrame.columnNumb er - 1)); |
| 996 framesTable.appendChild(row); | 997 framesTable.appendChild(row); |
| 997 } | 998 } |
| 998 return framesTable; | 999 return framesTable; |
| 999 }, | 1000 }, |
| 1000 | 1001 |
| 1001 _updateColumns: function() | 1002 _updateColumns: function() |
| 1002 { | 1003 { |
| 1003 var columnsVisibility = this._coulmnsVisibilitySetting.get(); | |
| 1004 var detailedMode = !!this._detailedMode; | 1004 var detailedMode = !!this._detailedMode; |
| 1005 for (var columnIdentifier in columnsVisibility) { | 1005 var visibleColumns = {"name": true}; |
| 1006 var visible = detailedMode && columnsVisibility[columnIdentifier]; | 1006 if (detailedMode) { |
| 1007 this._dataGrid.setColumnVisible(columnIdentifier, visible); | 1007 visibleColumns["timeline"] = true; |
| 1008 var columnsVisibility = this._coulmnsVisibilitySetting.get(); | |
| 1009 for (var columnIdentifier in columnsVisibility) | |
| 1010 visibleColumns[columnIdentifier] = columnsVisibility[columnIdent ifier]; | |
| 1008 } | 1011 } |
| 1009 this._dataGrid.setColumnVisible("timeline", detailedMode); | 1012 |
| 1010 this._dataGrid.applyColumnWeights(); | 1013 this._dataGrid.setColumnsVisiblity(visibleColumns); |
| 1011 }, | 1014 }, |
| 1012 | 1015 |
| 1013 /** | 1016 /** |
| 1014 * @param {string} columnIdentifier | 1017 * @param {string} columnIdentifier |
| 1015 */ | 1018 */ |
| 1016 _toggleColumnVisibility: function(columnIdentifier) | 1019 _toggleColumnVisibility: function(columnIdentifier) |
| 1017 { | 1020 { |
| 1018 var columnsVisibility = this._coulmnsVisibilitySetting.get(); | 1021 var columnsVisibility = this._coulmnsVisibilitySetting.get(); |
| 1019 columnsVisibility[columnIdentifier] = !columnsVisibility[columnIdentifie r]; | 1022 columnsVisibility[columnIdentifier] = !columnsVisibility[columnIdentifie r]; |
| 1020 this._coulmnsVisibilitySetting.set(columnsVisibility); | 1023 this._coulmnsVisibilitySetting.set(columnsVisibility); |
| (...skipping 1386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2407 WebInspector.DataGridNode.call(this, {}); | 2410 WebInspector.DataGridNode.call(this, {}); |
| 2408 this._parentView = parentView; | 2411 this._parentView = parentView; |
| 2409 this._request = request; | 2412 this._request = request; |
| 2410 this._linkifier = new WebInspector.Linkifier(); | 2413 this._linkifier = new WebInspector.Linkifier(); |
| 2411 } | 2414 } |
| 2412 | 2415 |
| 2413 WebInspector.NetworkDataGridNode.prototype = { | 2416 WebInspector.NetworkDataGridNode.prototype = { |
| 2414 /** override */ | 2417 /** override */ |
| 2415 createCells: function() | 2418 createCells: function() |
| 2416 { | 2419 { |
| 2417 this._nameCell = this._createCell("name"); | 2420 delete this._nameCell; |
|
yurys
2014/05/30 11:31:46
this._nameCell = null;
eustas
2014/06/02 08:51:47
Done.
| |
| 2418 this._methodCell = this._createCell("method"); | 2421 delete this._timelineCell; |
| 2419 this._statusCell = this._createCell("status"); | |
| 2420 this._schemeCell = this._createCell("scheme"); | |
| 2421 this._domainCell = this._createCell("domain"); | |
| 2422 this._remoteAddressCell = this._createCell("remoteAddress"); | |
| 2423 this._typeCell = this._createCell("type"); | |
| 2424 this._initiatorCell = this._createCell("initiator"); | |
| 2425 this._cookiesCell = this._createCell("cookies"); | |
| 2426 this._setCookiesCell = this._createCell("setCookies"); | |
| 2427 this._sizeCell = this._createCell("size"); | |
| 2428 this._timeCell = this._createCell("time"); | |
| 2429 | 2422 |
| 2430 this._responseHeaderCells = {}; | 2423 var element = this._element; |
| 2431 var responseHeaderColumns = WebInspector.NetworkLogView._responseHeaderC olumns; | 2424 element.classList.toggle("network-error-row", this._isFailed()); |
| 2432 for (var i = 0; i < responseHeaderColumns.length; ++i) | 2425 element.classList.toggle("resource-cached", this._request.cached); |
| 2433 this._responseHeaderCells[responseHeaderColumns[i]] = this._createCe ll(responseHeaderColumns[i]); | 2426 var typeClassName = "network-type-" + this._request.type.name(); |
| 2427 if (!element.classList.contains(typeClassName)) { | |
| 2428 element.removeMatchingStyleClasses("network-type-\\w+"); | |
| 2429 element.classList.add(typeClassName); | |
| 2430 } | |
| 2434 | 2431 |
| 2435 var timelineCell = this._createCell("timeline"); | 2432 WebInspector.DataGridNode.prototype.createCells.call(this); |
| 2436 this._timelineCell = timelineCell.createChild("div"); | 2433 |
| 2437 this._createTimelineBar(this._timelineCell); | 2434 this.refreshGraph(this._parentView.calculator); |
| 2438 this._nameCell.addEventListener("click", this._onClick.bind(this), false ); | 2435 }, |
| 2439 this._nameCell.addEventListener("dblclick", this._openInNewTab.bind(this ), false); | 2436 |
| 2437 /** | |
| 2438 * @override | |
| 2439 * @param {string} columnIdentifier | |
| 2440 * @return {!Element} | |
| 2441 */ | |
| 2442 createCell: function(columnIdentifier) | |
| 2443 { | |
| 2444 var cell = this.createTD(columnIdentifier); | |
| 2445 switch (columnIdentifier) { | |
| 2446 case "name": this._renderNameCell(cell); break; | |
| 2447 case "timeline": this._createTimelineBar(cell); break; | |
| 2448 case "method": cell.setTextAndTitle(this._request.requestMethod); break; | |
| 2449 case "scheme": cell.setTextAndTitle(this._request.scheme); break; | |
| 2450 case "domain": cell.setTextAndTitle(this._request.domain); break; | |
| 2451 case "remoteAddress": cell.setTextAndTitle(this._request.remoteAddress() ); break; | |
| 2452 case "cookies": cell.setTextAndTitle(this._arrayLength(this._request.req uestCookies)); break; | |
| 2453 case "setCookies": cell.setTextAndTitle(this._arrayLength(this._request. responseCookies)); break; | |
| 2454 case "type": this._renderTypeCell(cell); break; | |
| 2455 case "initiator": this._renderInitiatorCell(cell); break; | |
| 2456 case "size": this._renderSizeCell(cell); break; | |
| 2457 case "time": this._renderTimeCell(cell); break; | |
| 2458 default: cell.setTextAndTitle(this._request.responseHeaderValue(columnId entifier) || ""); break; | |
| 2459 } | |
| 2460 | |
| 2461 return cell; | |
| 2462 }, | |
| 2463 | |
| 2464 /** | |
| 2465 * @param array {?Array} | |
| 2466 * @return {string} | |
| 2467 */ | |
| 2468 _arrayLength: function(array) | |
| 2469 { | |
| 2470 return array ? "" + array.length : ""; | |
| 2440 }, | 2471 }, |
| 2441 | 2472 |
| 2442 wasDetached: function() | 2473 wasDetached: function() |
| 2443 { | 2474 { |
| 2444 this._linkifier.reset(); | 2475 this._linkifier.reset(); |
| 2445 }, | 2476 }, |
| 2446 | 2477 |
| 2447 /** | 2478 /** |
| 2448 * @return {boolean} | 2479 * @return {boolean} |
| 2449 */ | 2480 */ |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2481 _openInNewTab: function() | 2512 _openInNewTab: function() |
| 2482 { | 2513 { |
| 2483 InspectorFrontendHost.openInNewTab(this._request.url); | 2514 InspectorFrontendHost.openInNewTab(this._request.url); |
| 2484 }, | 2515 }, |
| 2485 | 2516 |
| 2486 get selectable() | 2517 get selectable() |
| 2487 { | 2518 { |
| 2488 return this._parentView._allowRequestSelection && !this.isFilteredOut(); | 2519 return this._parentView._allowRequestSelection && !this.isFilteredOut(); |
| 2489 }, | 2520 }, |
| 2490 | 2521 |
| 2491 _createCell: function(columnIdentifier) | |
| 2492 { | |
| 2493 var td = this.createTD(columnIdentifier); | |
| 2494 this._element.appendChild(td); | |
| 2495 return td; | |
| 2496 }, | |
| 2497 | |
| 2498 /** | 2522 /** |
| 2499 * @param {!Element} cell | 2523 * @param {!Element} cell |
| 2500 */ | 2524 */ |
| 2501 _createTimelineBar: function(cell) | 2525 _createTimelineBar: function(cell) |
| 2502 { | 2526 { |
| 2527 cell = cell.createChild("div"); | |
| 2528 this._timelineCell = cell; | |
| 2529 | |
| 2503 cell.className = "network-graph-side"; | 2530 cell.className = "network-graph-side"; |
| 2504 | 2531 |
| 2505 this._barAreaElement = document.createElement("div"); | 2532 this._barAreaElement = document.createElement("div"); |
| 2506 // this._barAreaElement.className = "network-graph-bar-area hidden"; | 2533 // this._barAreaElement.className = "network-graph-bar-area hidden"; |
| 2507 this._barAreaElement.className = "network-graph-bar-area"; | 2534 this._barAreaElement.className = "network-graph-bar-area"; |
| 2508 this._barAreaElement.request = this._request; | 2535 this._barAreaElement.request = this._request; |
| 2509 cell.appendChild(this._barAreaElement); | 2536 cell.appendChild(this._barAreaElement); |
| 2510 | 2537 |
| 2511 this._barLeftElement = document.createElement("div"); | 2538 this._barLeftElement = document.createElement("div"); |
| 2512 this._barLeftElement.className = "network-graph-bar waiting"; | 2539 this._barLeftElement.className = "network-graph-bar waiting"; |
| 2513 this._barAreaElement.appendChild(this._barLeftElement); | 2540 this._barAreaElement.appendChild(this._barLeftElement); |
| 2514 | 2541 |
| 2515 this._barRightElement = document.createElement("div"); | 2542 this._barRightElement = document.createElement("div"); |
| 2516 this._barRightElement.className = "network-graph-bar"; | 2543 this._barRightElement.className = "network-graph-bar"; |
| 2517 this._barAreaElement.appendChild(this._barRightElement); | 2544 this._barAreaElement.appendChild(this._barRightElement); |
| 2518 | 2545 |
| 2519 | 2546 |
| 2520 this._labelLeftElement = document.createElement("div"); | 2547 this._labelLeftElement = document.createElement("div"); |
| 2521 this._labelLeftElement.className = "network-graph-label waiting"; | 2548 this._labelLeftElement.className = "network-graph-label waiting"; |
| 2522 this._barAreaElement.appendChild(this._labelLeftElement); | 2549 this._barAreaElement.appendChild(this._labelLeftElement); |
| 2523 | 2550 |
| 2524 this._labelRightElement = document.createElement("div"); | 2551 this._labelRightElement = document.createElement("div"); |
| 2525 this._labelRightElement.className = "network-graph-label"; | 2552 this._labelRightElement.className = "network-graph-label"; |
| 2526 this._barAreaElement.appendChild(this._labelRightElement); | 2553 this._barAreaElement.appendChild(this._labelRightElement); |
| 2527 | 2554 |
| 2528 cell.addEventListener("mouseover", this._refreshLabelPositions.bind(this ), false); | 2555 cell.addEventListener("mouseover", this._refreshLabelPositions.bind(this ), false); |
| 2529 }, | 2556 }, |
| 2530 | 2557 |
| 2531 refreshRequest: function() | |
| 2532 { | |
| 2533 this._refreshNameCell(); | |
| 2534 this._refreshMethodCell(); | |
| 2535 this._refreshStatusCell(); | |
| 2536 this._refreshSchemeCell(); | |
| 2537 this._refreshDomainCell(); | |
| 2538 this._refreshRemoteAddressCell(); | |
| 2539 this._refreshTypeCell(); | |
| 2540 this._refreshInitiatorCell(); | |
| 2541 this._refreshCookiesCell(); | |
| 2542 this._refreshSetCookiesCell(); | |
| 2543 this._refreshSizeCell(); | |
| 2544 this._refreshTimeCell(); | |
| 2545 | |
| 2546 var responseHeaderColumns = WebInspector.NetworkLogView._responseHeaderC olumns; | |
| 2547 for (var i = 0; i < responseHeaderColumns.length; ++i) | |
| 2548 this._refreshResponseHeaderCell(responseHeaderColumns[i]); | |
| 2549 | |
| 2550 this._updateElementStyleClasses(); | |
| 2551 }, | |
| 2552 | |
| 2553 /** | 2558 /** |
| 2554 * @return {boolean} | 2559 * @return {boolean} |
| 2555 */ | 2560 */ |
| 2556 _isFailed: function() | 2561 _isFailed: function() |
| 2557 { | 2562 { |
| 2558 return !!this._request.failed || (this._request.statusCode >= 400); | 2563 return !!this._request.failed || (this._request.statusCode >= 400); |
| 2559 }, | 2564 }, |
| 2560 | 2565 |
| 2561 _updateElementStyleClasses: function() | 2566 /** |
| 2567 * @param {!Element} cell | |
| 2568 */ | |
| 2569 _renderNameCell: function(cell) | |
| 2562 { | 2570 { |
| 2563 var element = this._element; | 2571 this._nameCell = cell; |
| 2564 element.classList.toggle("network-error-row", this._isFailed()); | 2572 cell.addEventListener("click", this._onClick.bind(this), false); |
| 2565 element.classList.toggle("resource-cached", this._request.cached); | 2573 cell.addEventListener("dblclick", this._openInNewTab.bind(this), false); |
| 2566 var typeClassName = "network-type-" + this._request.type.name(); | |
| 2567 if (!element.classList.contains(typeClassName)) { | |
| 2568 element.removeMatchingStyleClasses("network-type-\\w+"); | |
| 2569 element.classList.add(typeClassName); | |
| 2570 } | |
| 2571 }, | |
| 2572 | |
| 2573 _refreshResponseHeaderCell: function(headerName) | |
| 2574 { | |
| 2575 var cell = this._responseHeaderCells[headerName]; | |
| 2576 var value = this._request.responseHeaderValue(headerName); | |
| 2577 cell.setTextAndTitle(value ? value : ""); | |
| 2578 }, | |
| 2579 | |
| 2580 _refreshNameCell: function() | |
| 2581 { | |
| 2582 this._nameCell.removeChildren(); | |
| 2583 | 2574 |
| 2584 if (this._request.type === WebInspector.resourceTypes.Image) { | 2575 if (this._request.type === WebInspector.resourceTypes.Image) { |
| 2585 var previewImage = document.createElement("img"); | 2576 var previewImage = document.createElement("img"); |
| 2586 previewImage.className = "image-network-icon-preview"; | 2577 previewImage.className = "image-network-icon-preview"; |
| 2587 this._request.populateImageSource(previewImage); | 2578 this._request.populateImageSource(previewImage); |
| 2588 | 2579 |
| 2589 var iconElement = document.createElement("div"); | 2580 var iconElement = document.createElement("div"); |
| 2590 iconElement.className = "icon"; | 2581 iconElement.className = "icon"; |
| 2591 iconElement.appendChild(previewImage); | 2582 iconElement.appendChild(previewImage); |
| 2592 } else { | 2583 } else { |
| 2593 var iconElement = document.createElement("img"); | 2584 var iconElement = document.createElement("img"); |
| 2594 iconElement.className = "icon"; | 2585 iconElement.className = "icon"; |
| 2595 } | 2586 } |
| 2596 this._nameCell.appendChild(iconElement); | 2587 cell.appendChild(iconElement); |
| 2597 this._nameCell.appendChild(document.createTextNode(this._request.name()) ); | 2588 cell.appendChild(document.createTextNode(this._request.name())); |
| 2598 this._appendSubtitle(this._nameCell, this._request.path()); | 2589 this._appendSubtitle(cell, this._request.path()); |
| 2599 this._nameCell.title = this._request.url; | 2590 cell.title = this._request.url; |
| 2600 }, | 2591 }, |
| 2601 | 2592 |
| 2602 _refreshMethodCell: function() | 2593 /** |
| 2594 * @param {!Element} cell | |
| 2595 */ | |
| 2596 _renderStatusCell: function(cell) | |
| 2603 { | 2597 { |
| 2604 this._methodCell.setTextAndTitle(this._request.requestMethod); | 2598 cell.classList.toggle("network-dim-cell", !this._isFailed() && (this._re quest.cached || !this._request.statusCode)); |
| 2605 }, | |
| 2606 | |
| 2607 _refreshStatusCell: function() | |
| 2608 { | |
| 2609 this._statusCell.removeChildren(); | |
| 2610 this._statusCell.classList.toggle("network-dim-cell", !this._isFailed() && (this._request.cached || !this._request.statusCode)); | |
| 2611 | 2599 |
| 2612 if (this._request.failed && !this._request.canceled) { | 2600 if (this._request.failed && !this._request.canceled) { |
| 2613 var failText = WebInspector.UIString("(failed)"); | 2601 var failText = WebInspector.UIString("(failed)"); |
| 2614 if (this._request.localizedFailDescription) { | 2602 if (this._request.localizedFailDescription) { |
| 2615 this._statusCell.appendChild(document.createTextNode(failText)); | 2603 cell.appendChild(document.createTextNode(failText)); |
| 2616 this._appendSubtitle(this._statusCell, this._request.localizedFa ilDescription); | 2604 this._appendSubtitle(cell, this._request.localizedFailDescriptio n); |
| 2617 this._statusCell.title = failText + " " + this._request.localize dFailDescription; | 2605 cell.title = failText + " " + this._request.localizedFailDescrip tion; |
| 2618 } else | 2606 } else |
| 2619 this._statusCell.setTextAndTitle(failText); | 2607 cell.setTextAndTitle(failText); |
| 2620 } else if (this._request.statusCode) { | 2608 } else if (this._request.statusCode) { |
| 2621 this._statusCell.appendChild(document.createTextNode("" + this._requ est.statusCode)); | 2609 cell.appendChild(document.createTextNode("" + this._request.statusCo de)); |
| 2622 this._appendSubtitle(this._statusCell, this._request.statusText); | 2610 this._appendSubtitle(cell, this._request.statusText); |
| 2623 this._statusCell.title = this._request.statusCode + " " + this._requ est.statusText; | 2611 cell.title = this._request.statusCode + " " + this._request.statusTe xt; |
| 2624 } else if (this._request.parsedURL.isDataURL()) { | 2612 } else if (this._request.parsedURL.isDataURL()) { |
| 2625 this._statusCell.setTextAndTitle(WebInspector.UIString("(data)")); | 2613 cell.setTextAndTitle(WebInspector.UIString("(data)")); |
| 2626 } else if (this._request.isPingRequest()) { | 2614 } else if (this._request.isPingRequest()) { |
| 2627 this._statusCell.setTextAndTitle(WebInspector.UIString("(ping)")); | 2615 cell.setTextAndTitle(WebInspector.UIString("(ping)")); |
| 2628 } else if (this._request.canceled) { | 2616 } else if (this._request.canceled) { |
| 2629 this._statusCell.setTextAndTitle(WebInspector.UIString("(canceled)") ); | 2617 cell.setTextAndTitle(WebInspector.UIString("(canceled)")); |
| 2630 } else if (this._request.finished) { | 2618 } else if (this._request.finished) { |
| 2631 this._statusCell.setTextAndTitle(WebInspector.UIString("Finished")); | 2619 cell.setTextAndTitle(WebInspector.UIString("Finished")); |
| 2632 } else { | 2620 } else { |
| 2633 this._statusCell.setTextAndTitle(WebInspector.UIString("(pending)")) ; | 2621 cell.setTextAndTitle(WebInspector.UIString("(pending)")); |
| 2634 } | 2622 } |
| 2635 }, | 2623 }, |
| 2636 | 2624 |
| 2637 _refreshSchemeCell: function() | 2625 /** |
| 2638 { | 2626 * @param {!Element} cell |
| 2639 this._schemeCell.setTextAndTitle(this._request.scheme); | 2627 */ |
| 2640 }, | 2628 _renderTypeCell: function(cell) |
| 2641 | |
| 2642 _refreshDomainCell: function() | |
| 2643 { | |
| 2644 this._domainCell.setTextAndTitle(this._request.domain); | |
| 2645 }, | |
| 2646 | |
| 2647 _refreshRemoteAddressCell: function() | |
| 2648 { | |
| 2649 this._remoteAddressCell.setTextAndTitle(this._request.remoteAddress()); | |
| 2650 }, | |
| 2651 | |
| 2652 _refreshTypeCell: function() | |
| 2653 { | 2629 { |
| 2654 if (this._request.mimeType) { | 2630 if (this._request.mimeType) { |
| 2655 this._typeCell.classList.remove("network-dim-cell"); | 2631 cell.setTextAndTitle(this._request.mimeType); |
| 2656 this._typeCell.setTextAndTitle(this._request.mimeType); | |
| 2657 } else { | 2632 } else { |
| 2658 this._typeCell.classList.toggle("network-dim-cell", !this._request.i sPingRequest()); | 2633 cell.classList.toggle("network-dim-cell", !this._request.isPingReque st()); |
| 2659 this._typeCell.setTextAndTitle(this._request.requestContentType() || ""); | 2634 cell.setTextAndTitle(this._request.requestContentType() || ""); |
| 2660 } | 2635 } |
| 2661 }, | 2636 }, |
| 2662 | 2637 |
| 2663 _refreshInitiatorCell: function() | 2638 /** |
| 2639 * @param {!Element} cell | |
| 2640 */ | |
| 2641 _renderInitiatorCell: function(cell) | |
| 2664 { | 2642 { |
| 2665 this._initiatorCell.removeChildren(); | |
| 2666 this._initiatorCell.classList.remove("network-dim-cell"); | |
| 2667 this._initiatorCell.classList.remove("network-script-initiated"); | |
| 2668 delete this._initiatorCell.request; | |
| 2669 | |
| 2670 var request = this._request; | 2643 var request = this._request; |
| 2671 var initiator = request.initiatorInfo(); | 2644 var initiator = request.initiatorInfo(); |
| 2672 | 2645 |
| 2673 switch (initiator.type) { | 2646 switch (initiator.type) { |
| 2674 case WebInspector.NetworkRequest.InitiatorType.Parser: | 2647 case WebInspector.NetworkRequest.InitiatorType.Parser: |
| 2675 this._initiatorCell.title = initiator.url + ":" + initiator.lineNumb er; | 2648 cell.title = initiator.url + ":" + initiator.lineNumber; |
| 2676 this._initiatorCell.appendChild(WebInspector.linkifyResourceAsNode(i nitiator.url, initiator.lineNumber - 1)); | 2649 cell.appendChild(WebInspector.linkifyResourceAsNode(initiator.url, i nitiator.lineNumber - 1)); |
| 2677 this._appendSubtitle(this._initiatorCell, WebInspector.UIString("Par ser")); | 2650 this._appendSubtitle(cell, WebInspector.UIString("Parser")); |
| 2678 break; | 2651 break; |
| 2679 | 2652 |
| 2680 case WebInspector.NetworkRequest.InitiatorType.Redirect: | 2653 case WebInspector.NetworkRequest.InitiatorType.Redirect: |
| 2681 this._initiatorCell.title = initiator.url; | 2654 cell.title = initiator.url; |
| 2682 console.assert(request.redirectSource); | 2655 console.assert(request.redirectSource); |
| 2683 var redirectSource = /** @type {!WebInspector.NetworkRequest} */ (re quest.redirectSource); | 2656 var redirectSource = /** @type {!WebInspector.NetworkRequest} */ (re quest.redirectSource); |
| 2684 this._initiatorCell.appendChild(WebInspector.linkifyRequestAsNode(re directSource)); | 2657 cell.appendChild(WebInspector.linkifyRequestAsNode(redirectSource)); |
| 2685 this._appendSubtitle(this._initiatorCell, WebInspector.UIString("Red irect")); | 2658 this._appendSubtitle(cell, WebInspector.UIString("Redirect")); |
| 2686 break; | 2659 break; |
| 2687 | 2660 |
| 2688 case WebInspector.NetworkRequest.InitiatorType.Script: | 2661 case WebInspector.NetworkRequest.InitiatorType.Script: |
| 2689 var urlElement = this._linkifier.linkifyLocation(request.target(), i nitiator.url, initiator.lineNumber - 1, initiator.columnNumber - 1); | 2662 var urlElement = this._linkifier.linkifyLocation(request.target(), i nitiator.url, initiator.lineNumber - 1, initiator.columnNumber - 1); |
| 2690 urlElement.title = ""; | 2663 urlElement.title = ""; |
| 2691 this._initiatorCell.appendChild(urlElement); | 2664 cell.appendChild(urlElement); |
| 2692 this._appendSubtitle(this._initiatorCell, WebInspector.UIString("Scr ipt")); | 2665 this._appendSubtitle(cell, WebInspector.UIString("Script")); |
| 2693 this._initiatorCell.classList.add("network-script-initiated"); | 2666 cell.classList.add("network-script-initiated"); |
| 2694 this._initiatorCell.request = request; | 2667 cell.request = request; |
| 2695 break; | 2668 break; |
| 2696 | 2669 |
| 2697 default: | 2670 default: |
| 2698 this._initiatorCell.title = ""; | 2671 cell.title = ""; |
| 2699 this._initiatorCell.classList.add("network-dim-cell"); | 2672 cell.classList.add("network-dim-cell"); |
| 2700 this._initiatorCell.setTextAndTitle(WebInspector.UIString("Other")); | 2673 cell.setTextAndTitle(WebInspector.UIString("Other")); |
| 2701 } | 2674 } |
| 2702 }, | 2675 }, |
| 2703 | 2676 |
| 2704 _refreshCookiesCell: function() | 2677 /** |
| 2705 { | 2678 * @param {!Element} cell |
| 2706 var requestCookies = this._request.requestCookies; | 2679 */ |
| 2707 this._cookiesCell.setTextAndTitle(requestCookies ? "" + requestCookies.l ength : ""); | 2680 _renderSizeCell: function(cell) |
| 2708 }, | |
| 2709 | |
| 2710 _refreshSetCookiesCell: function() | |
| 2711 { | |
| 2712 var responseCookies = this._request.responseCookies; | |
| 2713 this._setCookiesCell.setTextAndTitle(responseCookies ? "" + responseCook ies.length : ""); | |
| 2714 }, | |
| 2715 | |
| 2716 _refreshSizeCell: function() | |
| 2717 { | 2681 { |
| 2718 if (this._request.cached) { | 2682 if (this._request.cached) { |
| 2719 this._sizeCell.setTextAndTitle(WebInspector.UIString("(from cache)") ); | 2683 cell.setTextAndTitle(WebInspector.UIString("(from cache)")); |
| 2720 this._sizeCell.classList.add("network-dim-cell"); | 2684 cell.classList.add("network-dim-cell"); |
| 2721 } else { | 2685 } else { |
| 2722 var resourceSize = Number.bytesToString(this._request.resourceSize); | 2686 var resourceSize = Number.bytesToString(this._request.resourceSize); |
| 2723 var transferSize = Number.bytesToString(this._request.transferSize); | 2687 var transferSize = Number.bytesToString(this._request.transferSize); |
| 2724 this._sizeCell.setTextAndTitle(transferSize); | 2688 cell.setTextAndTitle(transferSize); |
| 2725 this._sizeCell.classList.remove("network-dim-cell"); | 2689 this._appendSubtitle(cell, resourceSize); |
| 2726 this._appendSubtitle(this._sizeCell, resourceSize); | |
| 2727 } | 2690 } |
| 2728 }, | 2691 }, |
| 2729 | 2692 |
| 2730 _refreshTimeCell: function() | 2693 /** |
| 2694 * @param {!Element} cell | |
| 2695 */ | |
| 2696 _renderTimeCell: function(cell) | |
| 2731 { | 2697 { |
| 2732 if (this._request.duration > 0) { | 2698 if (this._request.duration > 0) { |
| 2733 this._timeCell.classList.remove("network-dim-cell"); | 2699 cell.setTextAndTitle(Number.secondsToString(this._request.duration)) ; |
| 2734 this._timeCell.setTextAndTitle(Number.secondsToString(this._request. duration)); | 2700 this._appendSubtitle(cell, Number.secondsToString(this._request.late ncy)); |
| 2735 this._appendSubtitle(this._timeCell, Number.secondsToString(this._re quest.latency)); | |
| 2736 } else { | 2701 } else { |
| 2737 this._timeCell.classList.add("network-dim-cell"); | 2702 cell.classList.add("network-dim-cell"); |
| 2738 this._timeCell.setTextAndTitle(WebInspector.UIString("Pending")); | 2703 cell.setTextAndTitle(WebInspector.UIString("Pending")); |
| 2739 } | 2704 } |
| 2740 }, | 2705 }, |
| 2741 | 2706 |
| 2742 _appendSubtitle: function(cellElement, subtitleText) | 2707 _appendSubtitle: function(cellElement, subtitleText) |
| 2743 { | 2708 { |
| 2744 var subtitleElement = document.createElement("div"); | 2709 var subtitleElement = document.createElement("div"); |
| 2745 subtitleElement.className = "network-cell-subtitle"; | 2710 subtitleElement.className = "network-cell-subtitle"; |
| 2746 subtitleElement.textContent = subtitleText; | 2711 subtitleElement.textContent = subtitleText; |
| 2747 cellElement.appendChild(subtitleElement); | 2712 cellElement.appendChild(subtitleElement); |
| 2748 }, | 2713 }, |
| 2749 | 2714 |
| 2750 refreshGraph: function(calculator) | 2715 refreshGraph: function(calculator) |
| 2751 { | 2716 { |
| 2717 if (!this._timelineCell) | |
| 2718 return; | |
| 2719 | |
| 2752 var percentages = calculator.computeBarGraphPercentages(this._request); | 2720 var percentages = calculator.computeBarGraphPercentages(this._request); |
| 2753 this._percentages = percentages; | 2721 this._percentages = percentages; |
| 2754 | 2722 |
| 2755 this._barAreaElement.classList.remove("hidden"); | 2723 this._barAreaElement.classList.remove("hidden"); |
| 2756 | 2724 |
| 2757 this._barLeftElement.style.setProperty("left", percentages.start + "%"); | 2725 this._barLeftElement.style.setProperty("left", percentages.start + "%"); |
| 2758 this._barRightElement.style.setProperty("right", (100 - percentages.end) + "%"); | 2726 this._barRightElement.style.setProperty("right", (100 - percentages.end) + "%"); |
| 2759 | 2727 |
| 2760 this._barLeftElement.style.setProperty("right", (100 - percentages.end) + "%"); | 2728 this._barLeftElement.style.setProperty("right", (100 - percentages.end) + "%"); |
| 2761 this._barRightElement.style.setProperty("left", percentages.middle + "%" ); | 2729 this._barRightElement.style.setProperty("left", percentages.middle + "%" ); |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2924 WebInspector.NetworkDataGridNode.RequestPropertyComparator = function(propertyNa me, revert, a, b) | 2892 WebInspector.NetworkDataGridNode.RequestPropertyComparator = function(propertyNa me, revert, a, b) |
| 2925 { | 2893 { |
| 2926 var aValue = a._request[propertyName]; | 2894 var aValue = a._request[propertyName]; |
| 2927 var bValue = b._request[propertyName]; | 2895 var bValue = b._request[propertyName]; |
| 2928 if (aValue > bValue) | 2896 if (aValue > bValue) |
| 2929 return revert ? -1 : 1; | 2897 return revert ? -1 : 1; |
| 2930 if (bValue > aValue) | 2898 if (bValue > aValue) |
| 2931 return revert ? 1 : -1; | 2899 return revert ? 1 : -1; |
| 2932 return 0; | 2900 return 0; |
| 2933 } | 2901 } |
| OLD | NEW |