Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js |
| index 59b3a7814baaf12076723bbe80d3bd4b235e8194..aec40e7968f793f504dfd040c5be4dd4198821e3 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js |
| @@ -12,29 +12,16 @@ WebInspector.NetworkLogViewColumns = class { |
| * @param {!WebInspector.Setting} networkLogLargeRowsSetting |
| */ |
| constructor(networkLogView, timeCalculator, durationCalculator, networkLogLargeRowsSetting) { |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) { |
| - var timelineColumn = |
| - WebInspector.NetworkLogViewColumns._defaultColumns.find(columnConfig => columnConfig.id === 'timeline'); |
| - timelineColumn.visible = false; |
| - timelineColumn.hideable = false; |
| - } |
| - |
| this._networkLogView = networkLogView; |
| /** @type {!WebInspector.Setting} */ |
| this._persistantSettings = WebInspector.settings.createSetting('networkLogColumns', {}); |
| - /** @type {!Array<!Element>} */ |
| - this._dropDownColumnSelectors = []; |
| - |
| this._networkLogLargeRowsSetting = networkLogLargeRowsSetting; |
| this._networkLogLargeRowsSetting.addChangeListener(this._updateRowsSize, this); |
| - /** @type {!Array<{time: number, element: !Element}>} */ |
| - this._eventDividers = []; |
| - |
| /** @type {!Map<string, !Array<number>>} */ |
| - this._shownEventDividers = new Map(); |
| + this._eventDividers = new Map(); |
| this._eventDividersShown = false; |
| this._gridMode = true; |
| @@ -42,9 +29,6 @@ WebInspector.NetworkLogViewColumns = class { |
| /** @type {!Array.<!WebInspector.NetworkLogViewColumns.Descriptor>} */ |
| this._columns = []; |
| - /** @type {?WebInspector.TimelineGrid} */ |
| - this._timelineGrid = null; |
| - this._timelineHeaderElement = null; |
| this._timelineRequestsAreStale = false; |
| this._timelineScrollerWidthIsStale = true; |
| @@ -57,8 +41,7 @@ WebInspector.NetworkLogViewColumns = class { |
| this._calculatorsMap.set(WebInspector.NetworkLogViewColumns._calculatorTypes.Duration, durationCalculator); |
| this._setupDataGrid(); |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) |
| - this._setupTimeline(); |
| + this._setupTimeline(); |
| } |
| /** |
| @@ -80,16 +63,8 @@ WebInspector.NetworkLogViewColumns = class { |
| this._updateRowsSize(); |
| } |
| - willHide() { |
| - this._popoverHelper.hidePopover(); |
|
dgozman
2016/11/07 18:22:56
Why did you remove all hidePopover calls?
allada
2016/11/07 18:32:12
Done.
|
| - } |
| - |
| reset() { |
| - if (this._popoverHelper) |
| - this._popoverHelper.hidePopover(); |
| - this._timelineGrid.removeEventDividers(); |
| - this._shownEventDividers.clear(); |
| - this.updateDividersIfNeeded(); |
| + this._eventDividers.clear(); |
| } |
| _setupDataGrid() { |
| @@ -122,26 +97,16 @@ WebInspector.NetworkLogViewColumns = class { |
| this._updateColumns(); |
| this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SortingChanged, this._sortHandler, this); |
| - this._dataGrid.addEventListener(WebInspector.DataGrid.Events.ColumnsResized, this.updateDividersIfNeeded, this); |
| this._dataGrid.setHeaderContextMenuCallback(this._innerHeaderContextMenu.bind(this)); |
| - this._timelineGrid = new WebInspector.TimelineGrid(); |
| - this._timelineGrid.element.classList.add('network-timeline-grid'); |
| - if (!Runtime.experiments.isEnabled('canvasNetworkTimeline')) |
| - this._dataGrid.element.appendChild(this._timelineGrid.element); |
| - |
| - this._setupDropdownColumns(); |
| - |
| this._activeTimelineSortId = WebInspector.NetworkLogViewColumns.TimelineSortIds.StartTime; |
| this._dataGrid.markColumnAsSortedBy( |
| WebInspector.NetworkLogViewColumns._initialSortColumn, WebInspector.DataGrid.Order.Ascending); |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) { |
| - this._splitWidget = new WebInspector.SplitWidget(true, true, 'networkPanelSplitViewTimeline', 200); |
| - var widget = this._dataGrid.asWidget(); |
| - widget.setMinimumSize(150, 0); |
| - this._splitWidget.setMainWidget(widget); |
| - } |
| + this._splitWidget = new WebInspector.SplitWidget(true, true, 'networkPanelSplitViewTimeline', 200); |
| + var widget = this._dataGrid.asWidget(); |
| + widget.setMinimumSize(150, 0); |
| + this._splitWidget.setMainWidget(widget); |
| } |
| _setupTimeline() { |
| @@ -227,7 +192,7 @@ WebInspector.NetworkLogViewColumns = class { |
| if (!this._timelineRequestsAreStale) { |
| this._updateScrollerWidthIfNeeded(); |
| this._timelineColumn.update( |
| - this._activeScroller.scrollTop, this._eventDividersShown ? this._shownEventDividers : undefined); |
| + this._activeScroller.scrollTop, this._eventDividersShown ? this._eventDividers : undefined); |
| return; |
| } |
| var currentNode = this._dataGrid.rootNode(); |
| @@ -238,7 +203,7 @@ WebInspector.NetworkLogViewColumns = class { |
| requestData.navigationRequest = currentNode.request(); |
| requestData.requests.push(currentNode.request()); |
| } |
| - this._timelineColumn.update(this._activeScroller.scrollTop, this._shownEventDividers, requestData); |
| + this._timelineColumn.update(this._activeScroller.scrollTop, this._eventDividers, requestData); |
| } |
| /** |
| @@ -246,8 +211,7 @@ WebInspector.NetworkLogViewColumns = class { |
| * @param {boolean} highlightInitiatorChain |
| */ |
| setHoveredRequest(request, highlightInitiatorChain) { |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) |
| - this._timelineColumn.setHoveredRequest(request, highlightInitiatorChain); |
| + this._timelineColumn.setHoveredRequest(request, highlightInitiatorChain); |
| } |
| _createTimelineHeader() { |
| @@ -258,7 +222,7 @@ WebInspector.NetworkLogViewColumns = class { |
| var innerElement = this._timelineHeaderElement.createChild('div'); |
| innerElement.textContent = WebInspector.UIString('Waterfall'); |
| this._timelineColumnSortIcon = this._timelineHeaderElement.createChild('div', 'sort-order-icon-container') |
| - .createChild('div', 'sort-order-icon'); |
| + .createChild('div', 'sort-order-icon'); |
| /** |
| * @this {WebInspector.NetworkLogViewColumns} |
| @@ -276,13 +240,11 @@ WebInspector.NetworkLogViewColumns = class { |
| * @param {!WebInspector.NetworkTimeCalculator} x |
| */ |
| setCalculator(x) { |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) |
| - this._timelineColumn.setCalculator(x); |
| + this._timelineColumn.setCalculator(x); |
| } |
| dataChanged() { |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) |
| - this._timelineRequestsAreStale = true; |
| + this._timelineRequestsAreStale = true; |
| } |
| _updateRowsSize() { |
| @@ -290,13 +252,10 @@ WebInspector.NetworkLogViewColumns = class { |
| this._dataGrid.element.classList.toggle('small', !largeRows); |
| this._dataGrid.scheduleUpdate(); |
| - if (!Runtime.experiments.isEnabled('canvasNetworkTimeline')) |
| - return; |
| this._timelineScrollerWidthIsStale = true; |
| this._timelineColumn.setRowHeight(this._networkLogView.rowHeight()); |
| this._timelineScroller.classList.toggle('small', !largeRows); |
| this._timelineHeaderElement.classList.toggle('small', !largeRows); |
| - this._timelineGrid.element.classList.toggle('small', !this._networkLogLargeRowsSetting.get()); |
| this._timelineColumn.setHeaderHeight(this._timelineScroller.offsetTop); |
| } |
| @@ -304,10 +263,7 @@ WebInspector.NetworkLogViewColumns = class { |
| * @param {!Element} element |
| */ |
| show(element) { |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) |
| - this._splitWidget.show(element); |
| - else |
| - this._dataGrid.asWidget().show(element); |
| + this._splitWidget.show(element); |
| } |
| /** |
| @@ -317,28 +273,6 @@ WebInspector.NetworkLogViewColumns = class { |
| return this._dataGrid; |
| } |
| - _setupDropdownColumns() { |
| - for (var columnConfig of this._columns) { |
| - if (!columnConfig.sortConfig || !columnConfig.sortConfig.entries) |
| - continue; |
| - var select = createElement('select'); |
| - var placeHolderOption = select.createChild('option'); |
| - placeHolderOption.classList.add('hidden'); |
| - for (var entry of columnConfig.sortConfig.entries) { |
| - var option = select.createChild('option'); |
| - option.value = entry.id; |
| - option.label = entry.title; |
| - select.appendChild(option); |
| - } |
| - var header = this._dataGrid.headerTableHeader(columnConfig.id); |
| - header.replaceChild(select, header.firstChild); |
| - header.createChild('div', 'sort-order-icon-container').createChild('div', 'sort-order-icon'); |
| - columnConfig.selectBox = select; |
| - select.addEventListener('change', this._sortByDropdownItem.bind(this, columnConfig), false); |
| - this._dropDownColumnSelectors.push(select); |
| - } |
| - } |
| - |
| sortByCurrentColumn() { |
| this._sortHandler(); |
| } |
| @@ -346,7 +280,7 @@ WebInspector.NetworkLogViewColumns = class { |
| _sortHandler() { |
| var columnId = this._dataGrid.sortColumnId(); |
| this._networkLogView.removeAllNodeHighlights(); |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline') && columnId === 'timeline') { |
| + if (columnId === 'timeline') { |
| this._timelineColumnSortIcon.classList.remove('sort-ascending', 'sort-descending'); |
| if (this._dataGrid.sortOrder() === WebInspector.DataGrid.Order.Ascending) |
| @@ -362,38 +296,10 @@ WebInspector.NetworkLogViewColumns = class { |
| } |
| var columnConfig = this._columns.find(columnConfig => columnConfig.id === columnId); |
| - if (!columnConfig) |
| - return; |
| - if (columnConfig.sortConfig && columnConfig.sortConfig.entries) { |
| - this._sortByDropdownItem(columnConfig); |
| - return; |
| - } |
| - if (!columnConfig.sortConfig.sortingFunction) |
| + if (!columnConfig || !columnConfig.sortingFunction) |
| return; |
| - this._dataGrid.sortNodes(columnConfig.sortConfig.sortingFunction, !this._dataGrid.isSortOrderAscending()); |
| - this._networkLogView.dataGridSorted(); |
| - } |
| - |
| - /** |
| - * @param {!WebInspector.NetworkLogViewColumns.Descriptor} columnConfig |
| - */ |
| - _sortByDropdownItem(columnConfig) { |
| - this._networkLogView.removeAllNodeHighlights(); |
| - var selectedIndex = columnConfig.selectBox.selectedIndex; |
| - if (!selectedIndex) |
| - selectedIndex = 1; // Sort by first item by default. |
| - var selectedItemConfig = columnConfig.sortConfig.entries[selectedIndex - 1]; // -1 because of placeholder. |
| - var selectedOption = columnConfig.selectBox[selectedIndex]; |
| - var value = selectedOption.value; |
| - |
| - this._dataGrid.sortNodes(selectedItemConfig.sortingFunction); |
| - this._dataGrid.markColumnAsSortedBy( |
| - columnConfig.id, /** @type {!WebInspector.DataGrid.Order} */ (selectedItemConfig.sort)); |
| - if (selectedItemConfig.calculator) |
| - this._networkLogView.setCalculator(this._calculatorsMap.get(selectedItemConfig.calculator)); |
| - columnConfig.selectBox.options[0].label = selectedItemConfig.title; |
| - columnConfig.selectBox.selectedIndex = 0; |
| + this._dataGrid.sortNodes(columnConfig.sortingFunction, !this._dataGrid.isSortOrderAscending()); |
| this._networkLogView.dataGridSorted(); |
| } |
| @@ -421,29 +327,18 @@ WebInspector.NetworkLogViewColumns = class { |
| if (gridMode) { |
| if (this._dataGrid.selectedNode) |
| this._dataGrid.selectedNode.selected = false; |
| - } else { |
| - this._networkLogView.removeAllNodeHighlights(); |
| - this._popoverHelper.hidePopover(); |
| - } |
| - |
| - this._networkLogView.element.classList.toggle('brief-mode', !gridMode); |
| - this._updateColumns(); |
| - |
| - if (!Runtime.experiments.isEnabled('canvasNetworkTimeline')) |
| - return; |
| - // TODO(allada) Move this code into the code above. |
| - if (gridMode) { |
| this._splitWidget.showBoth(); |
| this._activeScroller = this._timelineScroller; |
| this._timelineScroller.scrollTop = this._dataGridScroller.scrollTop; |
| - this._dataGridScroller.style.overflow = 'hidden'; |
| this._dataGrid.setScrollContainer(this._timelineScroller); |
| } else { |
| + this._networkLogView.removeAllNodeHighlights(); |
| this._splitWidget.hideSidebar(); |
| this._activeScroller = this._dataGridScroller; |
| - this._dataGridScroller.style.overflow = 'overlay'; |
| this._dataGrid.setScrollContainer(this._dataGridScroller); |
| } |
| + this._networkLogView.element.classList.toggle('brief-mode', !gridMode); |
| + this._updateColumns(); |
| } |
| /** |
| @@ -498,42 +393,43 @@ WebInspector.NetworkLogViewColumns = class { |
| _innerHeaderContextMenu(contextMenu) { |
| var columnConfigs = this._columns.filter(columnConfig => columnConfig.hideable); |
| var nonResponseHeaders = columnConfigs.filter(columnConfig => !columnConfig.isResponseHeader); |
| - for (var columnConfig of nonResponseHeaders) |
| + for (var columnConfig of nonResponseHeaders) { |
| contextMenu.appendCheckboxItem( |
| columnConfig.title, this._toggleColumnVisibility.bind(this, columnConfig), columnConfig.visible); |
| + } |
| contextMenu.appendSeparator(); |
| var responseSubMenu = contextMenu.appendSubMenuItem(WebInspector.UIString('Response Headers')); |
| var responseHeaders = columnConfigs.filter(columnConfig => columnConfig.isResponseHeader); |
| - for (var columnConfig of responseHeaders) |
| + for (var columnConfig of responseHeaders) { |
| responseSubMenu.appendCheckboxItem( |
| columnConfig.title, this._toggleColumnVisibility.bind(this, columnConfig), columnConfig.visible); |
| + } |
| responseSubMenu.appendSeparator(); |
| responseSubMenu.appendItem( |
| WebInspector.UIString('Manage Header Columns\u2026'), this._manageCustomHeaderDialog.bind(this)); |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) { |
| - contextMenu.appendSeparator(); |
| - var timelineSortIds = WebInspector.NetworkLogViewColumns.TimelineSortIds; |
| - var timelineSubMenu = contextMenu.appendSubMenuItem(WebInspector.UIString('Waterfall')); |
| - timelineSubMenu.appendCheckboxItem( |
| - WebInspector.UIString('Start Time'), setTimelineMode.bind(this, timelineSortIds.StartTime), |
| - this._activeTimelineSortId === timelineSortIds.StartTime); |
| - timelineSubMenu.appendCheckboxItem( |
| - WebInspector.UIString('Response Time'), setTimelineMode.bind(this, timelineSortIds.ResponseTime), |
| - this._activeTimelineSortId === timelineSortIds.ResponseTime); |
| - timelineSubMenu.appendCheckboxItem( |
| - WebInspector.UIString('End Time'), setTimelineMode.bind(this, timelineSortIds.EndTime), |
| - this._activeTimelineSortId === timelineSortIds.EndTime); |
| - timelineSubMenu.appendCheckboxItem( |
| - WebInspector.UIString('Total Duration'), setTimelineMode.bind(this, timelineSortIds.Duration), |
| - this._activeTimelineSortId === timelineSortIds.Duration); |
| - timelineSubMenu.appendCheckboxItem( |
| - WebInspector.UIString('Latency'), setTimelineMode.bind(this, timelineSortIds.Latency), |
| - this._activeTimelineSortId === timelineSortIds.Latency); |
| - } |
| + contextMenu.appendSeparator(); |
| + |
| + var timelineSortIds = WebInspector.NetworkLogViewColumns.TimelineSortIds; |
| + var timelineSubMenu = contextMenu.appendSubMenuItem(WebInspector.UIString('Waterfall')); |
| + timelineSubMenu.appendCheckboxItem( |
| + WebInspector.UIString('Start Time'), setTimelineMode.bind(this, timelineSortIds.StartTime), |
| + this._activeTimelineSortId === timelineSortIds.StartTime); |
| + timelineSubMenu.appendCheckboxItem( |
| + WebInspector.UIString('Response Time'), setTimelineMode.bind(this, timelineSortIds.ResponseTime), |
| + this._activeTimelineSortId === timelineSortIds.ResponseTime); |
| + timelineSubMenu.appendCheckboxItem( |
| + WebInspector.UIString('End Time'), setTimelineMode.bind(this, timelineSortIds.EndTime), |
| + this._activeTimelineSortId === timelineSortIds.EndTime); |
| + timelineSubMenu.appendCheckboxItem( |
| + WebInspector.UIString('Total Duration'), setTimelineMode.bind(this, timelineSortIds.Duration), |
| + this._activeTimelineSortId === timelineSortIds.Duration); |
| + timelineSubMenu.appendCheckboxItem( |
| + WebInspector.UIString('Latency'), setTimelineMode.bind(this, timelineSortIds.Latency), |
| + this._activeTimelineSortId === timelineSortIds.Latency); |
| contextMenu.show(); |
| @@ -608,9 +504,7 @@ WebInspector.NetworkLogViewColumns = class { |
| isResponseHeader: true, |
| isCustomHeader: true, |
| visible: true, |
| - sortConfig: { |
| - sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, headerId) |
| - } |
| + sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, headerId) |
| })); |
| this._columns.splice(index, 0, columnConfig); |
| if (this._dataGrid) |
| @@ -642,34 +536,6 @@ WebInspector.NetworkLogViewColumns = class { |
| return true; |
| } |
| - updateDividersIfNeeded() { |
| - // TODO(allada) Remove this code out when timeline canvas experiment is over. |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) |
| - return; |
| - if (!this._networkLogView.isShowing()) { |
| - this._networkLogView.scheduleRefresh(); |
| - return; |
| - } |
| - |
| - var timelineOffset = this._dataGrid.columnOffset('timeline'); |
| - // Position timline grid location. |
| - if (timelineOffset) |
| - this._timelineGrid.element.style.left = timelineOffset + 'px'; |
| - |
| - var calculator = this._calculatorsMap.get(WebInspector.NetworkLogViewColumns._calculatorTypes.Time); |
| - calculator.setDisplayWindow(this._timelineGrid.dividersElement.clientWidth); |
| - this._timelineGrid.updateDividers(calculator, 75); |
| - |
| - if (calculator.startAtZero) { |
| - // If our current sorting method starts at zero, that means it shows all |
| - // requests starting at the same point, and so onLoad event and DOMContent |
| - // event lines really wouldn't make much sense here, so don't render them. |
| - return; |
| - } |
| - |
| - this._updateEventDividers(); |
| - } |
| - |
| /** |
| * @param {!Element} element |
| * @param {!Event} event |
| @@ -678,11 +544,7 @@ WebInspector.NetworkLogViewColumns = class { |
| _getPopoverAnchor(element, event) { |
| if (!this._gridMode) |
| 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'); |
| + var anchor = element.enclosingNodeOrSelfWithClass('network-script-initiated'); |
| if (anchor && anchor.request) { |
| var initiator = /** @type {!WebInspector.NetworkRequest} */ (anchor.request).initiator(); |
| if (initiator && initiator.stack) |
| @@ -695,18 +557,11 @@ WebInspector.NetworkLogViewColumns = class { |
| * @param {!WebInspector.Popover} popover |
| */ |
| _showPopover(anchor, popover) { |
| - var content; |
| - if (anchor.classList.contains('network-script-initiated')) { |
| - var request = /** @type {!WebInspector.NetworkRequest} */ (anchor.request); |
| - var initiator = /** @type {!Protocol.Network.Initiator} */ (request.initiator()); |
| - content = WebInspector.DOMPresentationUtils.buildStackTracePreviewContents( |
| - request.target(), this._popupLinkifier, initiator.stack); |
| - popover.setCanShrink(true); |
| - } else { |
| - content = WebInspector.RequestTimingView.createTimingTable( |
| - anchor.parentElement.request, this._networkLogView.timeCalculator().minimumBoundary()); |
| - popover.setCanShrink(false); |
| - } |
| + var request = /** @type {!WebInspector.NetworkRequest} */ (anchor.request); |
| + var initiator = /** @type {!Protocol.Network.Initiator} */ (request.initiator()); |
| + var content = WebInspector.DOMPresentationUtils.buildStackTracePreviewContents( |
| + request.target(), this._popupLinkifier, initiator.stack); |
| + popover.setCanShrink(true); |
| popover.showForAnchor(content, anchor); |
| } |
| @@ -719,87 +574,44 @@ WebInspector.NetworkLogViewColumns = class { |
| * @param {string} className |
| */ |
| addEventDividers(times, className) { |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) { |
| - // TODO(allada) When we remove old timeline remove this and pass in the color. |
| - var color = 'transparent'; |
| - switch (className) { |
| - case 'network-blue-divider': |
| - color = 'hsla(240, 100%, 80%, 0.7)'; |
| - break; |
| - case 'network-red-divider': |
| - color = 'rgba(255, 0, 0, 0.5)'; |
| - break; |
| - default: |
| - return; |
| - } |
| - var currentTimes = this._shownEventDividers.get(color) || []; |
| - this._shownEventDividers.set(color, currentTimes.concat(times)); |
| - |
| - this._networkLogView.scheduleRefresh(); |
| - return; |
| - } |
| - |
| - for (var i = 0; i < times.length; ++i) { |
| - var element = createElementWithClass('div', 'network-event-divider ' + className); |
| - this._timelineGrid.addEventDivider(element); |
| - this._eventDividers.push({time: times[i], element: element}); |
| + // TODO(allada) Remove this and pass in the color. |
| + var color = 'transparent'; |
| + switch (className) { |
| + case 'network-blue-divider': |
| + color = 'hsla(240, 100%, 80%, 0.7)'; |
| + break; |
| + case 'network-red-divider': |
| + color = 'rgba(255, 0, 0, 0.5)'; |
| + break; |
| + default: |
| + return; |
| } |
| - // Update event dividers immediately |
| - this._updateEventDividers(); |
| - // Schedule refresh in case dividers change the calculator span. |
| + var currentTimes = this._eventDividers.get(color) || []; |
| + this._eventDividers.set(color, currentTimes.concat(times)); |
| this._networkLogView.scheduleRefresh(); |
| } |
| - _updateEventDividers() { |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) |
| - return; |
| - var calculator = this._calculatorsMap.get(WebInspector.NetworkLogViewColumns._calculatorTypes.Time); |
| - for (var divider of this._eventDividers) { |
| - var timePercent = calculator.computePercentageFromEventTime(divider.time); |
| - divider.element.classList.toggle('invisible', timePercent < 0); |
| - divider.element.style.left = timePercent + '%'; |
| - } |
| - } |
| - |
| hideEventDividers() { |
| this._eventDividersShown = true; |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) { |
| - this._redrawTimelineColumn(); |
| - return; |
| - } |
| - this._timelineGrid.hideEventDividers(); |
| + this._redrawTimelineColumn(); |
| } |
| showEventDividers() { |
| this._eventDividersShown = false; |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) { |
| - this._redrawTimelineColumn(); |
| - return; |
| - } |
| - this._timelineGrid.showEventDividers(); |
| + this._redrawTimelineColumn(); |
| } |
| /** |
| * @param {number} time |
| */ |
| selectFilmStripFrame(time) { |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) { |
| - this._shownEventDividers.set(WebInspector.NetworkLogViewColumns._filmStripDividerColor, [time]); |
| - this._redrawTimelineColumn(); |
| - return; |
| - } |
| - for (var divider of this._eventDividers) |
| - divider.element.classList.toggle('network-frame-divider-selected', divider.time === time); |
| + this._eventDividers.set(WebInspector.NetworkLogViewColumns._filmStripDividerColor, [time]); |
| + this._redrawTimelineColumn(); |
| } |
| clearFilmStripFrame() { |
| - if (Runtime.experiments.isEnabled('canvasNetworkTimeline')) { |
| - this._shownEventDividers.delete(WebInspector.NetworkLogViewColumns._filmStripDividerColor); |
| - this._redrawTimelineColumn(); |
| - return; |
| - } |
| - for (var divider of this._eventDividers) |
| - divider.element.classList.toggle('network-frame-divider-selected', false); |
| + this._eventDividers.delete(WebInspector.NetworkLogViewColumns._filmStripDividerColor); |
| + this._redrawTimelineColumn(); |
| } |
| }; |
| @@ -818,20 +630,12 @@ WebInspector.NetworkLogViewColumns._initialSortColumn = 'timeline'; |
| * sortable: boolean, |
| * align: (?WebInspector.DataGrid.Align|undefined), |
| * isResponseHeader: boolean, |
| - * sortConfig: !WebInspector.NetworkLogViewColumns.SortConfig, |
| + * sortingFunction: (!function(!WebInspector.NetworkDataGridNode, !WebInspector.NetworkDataGridNode):number|undefined), |
| * isCustomHeader: boolean |
| * }} |
| */ |
| WebInspector.NetworkLogViewColumns.Descriptor; |
| -/** |
| - * @typedef {{ |
| - * sortingFunction: (!function(!WebInspector.NetworkDataGridNode, !WebInspector.NetworkDataGridNode):number|undefined), |
| - * entries: (!Array.<!WebInspector.DataGrid.ColumnDescriptor>|undefined) |
| - * }} |
| - */ |
| -WebInspector.NetworkLogViewColumns.SortConfig; |
| - |
| /** @enum {string} */ |
| WebInspector.NetworkLogViewColumns._calculatorTypes = { |
| Duration: 'Duration', |
| @@ -866,67 +670,66 @@ WebInspector.NetworkLogViewColumns._defaultColumns = [ |
| hideable: false, |
| nonSelectable: false, |
| alwaysVisible: true, |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.NameComparator} |
| + sortingFunction: WebInspector.NetworkDataGridNode.NameComparator |
| }, |
| { |
| id: 'method', |
| title: WebInspector.UIString('Method'), |
| - sortConfig: |
| - {sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'requestMethod')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'requestMethod') |
| }, |
| { |
| id: 'status', |
| title: WebInspector.UIString('Status'), |
| visible: true, |
| subtitle: WebInspector.UIString('Text'), |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'statusCode')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'statusCode') |
| }, |
| { |
| id: 'protocol', |
| title: WebInspector.UIString('Protocol'), |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'protocol')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'protocol') |
| }, |
| { |
| id: 'scheme', |
| title: WebInspector.UIString('Scheme'), |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'scheme')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'scheme') |
| }, |
| { |
| id: 'domain', |
| title: WebInspector.UIString('Domain'), |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'domain')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'domain') |
| }, |
| { |
| id: 'remoteaddress', |
| title: WebInspector.UIString('Remote Address'), |
| weight: 10, |
| align: WebInspector.DataGrid.Align.Right, |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.RemoteAddressComparator} |
| + sortingFunction: WebInspector.NetworkDataGridNode.RemoteAddressComparator |
| }, |
| { |
| id: 'type', |
| title: WebInspector.UIString('Type'), |
| visible: true, |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.TypeComparator} |
| + sortingFunction: WebInspector.NetworkDataGridNode.TypeComparator |
| }, |
| { |
| id: 'initiator', |
| title: WebInspector.UIString('Initiator'), |
| visible: true, |
| weight: 10, |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.InitiatorComparator} |
| + sortingFunction: WebInspector.NetworkDataGridNode.InitiatorComparator |
| }, |
| { |
| id: 'cookies', |
| title: WebInspector.UIString('Cookies'), |
| align: WebInspector.DataGrid.Align.Right, |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.RequestCookiesCountComparator} |
| + sortingFunction: WebInspector.NetworkDataGridNode.RequestCookiesCountComparator |
| }, |
| { |
| id: 'setcookies', |
| title: WebInspector.UIString('Set Cookies'), |
| align: WebInspector.DataGrid.Align.Right, |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.ResponseCookiesCountComparator} |
| + sortingFunction: WebInspector.NetworkDataGridNode.ResponseCookiesCountComparator |
| }, |
| { |
| id: 'size', |
| @@ -934,7 +737,7 @@ WebInspector.NetworkLogViewColumns._defaultColumns = [ |
| visible: true, |
| subtitle: WebInspector.UIString('Content'), |
| align: WebInspector.DataGrid.Align.Right, |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.SizeComparator} |
| + sortingFunction: WebInspector.NetworkDataGridNode.SizeComparator |
| }, |
| { |
| id: 'time', |
| @@ -942,131 +745,75 @@ WebInspector.NetworkLogViewColumns._defaultColumns = [ |
| visible: true, |
| subtitle: WebInspector.UIString('Latency'), |
| align: WebInspector.DataGrid.Align.Right, |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'duration')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'duration') |
| }, |
| { |
| id: 'priority', |
| title: WebInspector.UIString('Priority'), |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.InitialPriorityComparator} |
| + sortingFunction: WebInspector.NetworkDataGridNode.InitialPriorityComparator |
| }, |
| { |
| id: 'connectionid', |
| title: WebInspector.UIString('Connection ID'), |
| - sortConfig: |
| - {sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'connectionId')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'connectionId') |
| }, |
| { |
| id: 'cache-control', |
| isResponseHeader: true, |
| title: WebInspector.UIString('Cache-Control'), |
| - sortConfig: |
| - {sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'cache-control')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'cache-control') |
| }, |
| { |
| id: 'connection', |
| isResponseHeader: true, |
| title: WebInspector.UIString('Connection'), |
| - sortConfig: |
| - {sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'connection')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'connection') |
| }, |
| { |
| id: 'content-encoding', |
| isResponseHeader: true, |
| title: WebInspector.UIString('Content-Encoding'), |
| - sortConfig: { |
| - sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'content-encoding') |
| - } |
| + sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'content-encoding') |
| }, |
| { |
| id: 'content-length', |
| isResponseHeader: true, |
| title: WebInspector.UIString('Content-Length'), |
| align: WebInspector.DataGrid.Align.Right, |
| - sortConfig: { |
| - sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderNumberComparator.bind(null, 'content-length') |
| - } |
| + sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderNumberComparator.bind(null, 'content-length') |
| }, |
| { |
| id: 'etag', |
| isResponseHeader: true, |
| title: WebInspector.UIString('ETag'), |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'etag')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'etag') |
| }, |
| { |
| id: 'keep-alive', |
| isResponseHeader: true, |
| title: WebInspector.UIString('Keep-Alive'), |
| - sortConfig: |
| - {sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'keep-alive')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'keep-alive') |
| }, |
| { |
| id: 'last-modified', |
| isResponseHeader: true, |
| title: WebInspector.UIString('Last-Modified'), |
| - sortConfig: |
| - {sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderDateComparator.bind(null, 'last-modified')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderDateComparator.bind(null, 'last-modified') |
| }, |
| { |
| id: 'server', |
| isResponseHeader: true, |
| title: WebInspector.UIString('Server'), |
| - sortConfig: |
| - {sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'server')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'server') |
| }, |
| { |
| id: 'vary', |
| isResponseHeader: true, |
| title: WebInspector.UIString('Vary'), |
| - sortConfig: {sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'vary')} |
| + sortingFunction: WebInspector.NetworkDataGridNode.ResponseHeaderStringComparator.bind(null, 'vary') |
| }, |
| - { |
| - id: 'timeline', |
| - title: WebInspector.UIString('Waterfall'), |
| - visible: true, |
| - weight: 40, |
| - sortable: false, |
| - hideable: false, |
| - sortConfig: { |
| - entries: [ |
| - { |
| - id: 'starttime', |
| - title: WebInspector.UIString('Waterfall \u2013 Start Time'), |
| - sort: WebInspector.DataGrid.Order.Ascending, |
| - sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'startTime'), |
| - calculator: WebInspector.NetworkLogViewColumns._calculatorTypes.Time |
| - }, |
| - { |
| - id: 'responsetime', |
| - title: WebInspector.UIString('Waterfall \u2013 Response Time'), |
| - sort: WebInspector.DataGrid.Order.Ascending, |
| - sortingFunction: |
| - WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'responseReceivedTime'), |
| - calculator: WebInspector.NetworkLogViewColumns._calculatorTypes.Time |
| - }, |
| - { |
| - id: 'endtime', |
| - title: WebInspector.UIString('Waterfall \u2013 End Time'), |
| - sort: WebInspector.DataGrid.Order.Ascending, |
| - sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'endTime'), |
| - calculator: WebInspector.NetworkLogViewColumns._calculatorTypes.Time |
| - }, |
| - { |
| - id: 'duration', |
| - title: WebInspector.UIString('Waterfall \u2013 Total Duration'), |
| - sort: WebInspector.DataGrid.Order.Descending, |
| - sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'duration'), |
| - calculator: WebInspector.NetworkLogViewColumns._calculatorTypes.Duration |
| - }, |
| - { |
| - id: 'latency', |
| - title: WebInspector.UIString('Waterfall \u2013 Latency'), |
| - sort: WebInspector.DataGrid.Order.Descending, |
| - sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, 'latency'), |
| - calculator: WebInspector.NetworkLogViewColumns._calculatorTypes.Duration |
| - } |
| - ] |
| - } |
| - } |
| + // This header is a placeholder to let datagrid know that it can be sorted by this column, but never shown. |
| + {id: 'timeline', title: '', visible: false, hideable: false} |
| ]; |
| WebInspector.NetworkLogViewColumns._filmStripDividerColor = '#fccc49'; |