Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(627)

Unified Diff: third_party/WebKit/Source/devtools/front_end/network/NetworkPanel.js

Issue 2466123002: DevTools: reformat front-end code to match chromium style. (Closed)
Patch Set: all done Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/network/NetworkPanel.js
diff --git a/third_party/WebKit/Source/devtools/front_end/network/NetworkPanel.js b/third_party/WebKit/Source/devtools/front_end/network/NetworkPanel.js
index 56c6f5aaad9181e419e91decf884d9826bcdc317..49a77262b8d79476f43990c1bc8db28980c021f5 100644
--- a/third_party/WebKit/Source/devtools/front_end/network/NetworkPanel.js
+++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkPanel.js
@@ -27,63 +27,64 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
/**
- * @constructor
* @implements {WebInspector.ContextMenu.Provider}
* @implements {WebInspector.Searchable}
- * @extends {WebInspector.Panel}
+ * @unrestricted
*/
-WebInspector.NetworkPanel = function()
-{
- WebInspector.Panel.call(this, "network");
- this.registerRequiredCSS("network/networkPanel.css");
+WebInspector.NetworkPanel = class extends WebInspector.Panel {
+ constructor() {
+ super('network');
+ this.registerRequiredCSS('network/networkPanel.css');
- this._networkLogShowOverviewSetting = WebInspector.settings.createSetting("networkLogShowOverview", true);
- this._networkLogLargeRowsSetting = WebInspector.settings.createSetting("networkLogLargeRows", false);
- this._networkRecordFilmStripSetting = WebInspector.settings.createSetting("networkRecordFilmStripSetting", false);
- this._toggleRecordAction = /** @type {!WebInspector.Action }*/(WebInspector.actionRegistry.action("network.toggle-recording"));
+ this._networkLogShowOverviewSetting = WebInspector.settings.createSetting('networkLogShowOverview', true);
+ this._networkLogLargeRowsSetting = WebInspector.settings.createSetting('networkLogLargeRows', false);
+ this._networkRecordFilmStripSetting = WebInspector.settings.createSetting('networkRecordFilmStripSetting', false);
+ this._toggleRecordAction =
+ /** @type {!WebInspector.Action }*/ (WebInspector.actionRegistry.action('network.toggle-recording'));
/** @type {?WebInspector.FilmStripView} */
this._filmStripView = null;
/** @type {?WebInspector.NetworkPanel.FilmStripRecorder} */
this._filmStripRecorder = null;
- this._panelToolbar = new WebInspector.Toolbar("", this.element);
- this._filterBar = new WebInspector.FilterBar("networkPanel", true);
+ this._panelToolbar = new WebInspector.Toolbar('', this.element);
+ this._filterBar = new WebInspector.FilterBar('networkPanel', true);
this._filterBar.show(this.element);
// Create top overview component.
- this._overviewPane = new WebInspector.TimelineOverviewPane("network");
- this._overviewPane.addEventListener(WebInspector.TimelineOverviewPane.Events.WindowChanged, this._onWindowChanged.bind(this));
- this._overviewPane.element.id = "network-overview-panel";
+ this._overviewPane = new WebInspector.TimelineOverviewPane('network');
+ this._overviewPane.addEventListener(
+ WebInspector.TimelineOverviewPane.Events.WindowChanged, this._onWindowChanged.bind(this));
+ this._overviewPane.element.id = 'network-overview-panel';
this._networkOverview = new WebInspector.NetworkOverview();
this._overviewPane.setOverviewControls([this._networkOverview]);
this._calculator = new WebInspector.NetworkTransferTimeCalculator();
- this._splitWidget = new WebInspector.SplitWidget(true, false, "networkPanelSplitViewState");
+ this._splitWidget = new WebInspector.SplitWidget(true, false, 'networkPanelSplitViewState');
this._splitWidget.hideMain();
this._splitWidget.show(this.element);
- this._progressBarContainer = createElement("div");
+ this._progressBarContainer = createElement('div');
this._createToolbarButtons();
this._searchableView = new WebInspector.SearchableView(this);
- this._searchableView.setPlaceholder(WebInspector.UIString("Find by filename or path"));
+ this._searchableView.setPlaceholder(WebInspector.UIString('Find by filename or path'));
/** @type {!WebInspector.NetworkLogView} */
- this._networkLogView = new WebInspector.NetworkLogView(this._filterBar, this._progressBarContainer, this._networkLogLargeRowsSetting);
+ this._networkLogView =
+ new WebInspector.NetworkLogView(this._filterBar, this._progressBarContainer, this._networkLogLargeRowsSetting);
this._networkLogView.show(this._searchableView.element);
this._splitWidget.setSidebarWidget(this._searchableView);
this._detailsWidget = new WebInspector.VBox();
- this._detailsWidget.element.classList.add("network-details-view");
+ this._detailsWidget.element.classList.add('network-details-view');
this._splitWidget.setMainWidget(this._detailsWidget);
- this._closeButtonElement = createElement("div", "dt-close-button");
- this._closeButtonElement.addEventListener("click", this._showRequest.bind(this, null), false);
+ this._closeButtonElement = createElement('div', 'dt-close-button');
+ this._closeButtonElement.addEventListener('click', this._showRequest.bind(this, null), false);
this._networkLogShowOverviewSetting.addChangeListener(this._toggleShowOverview, this);
this._networkLogLargeRowsSetting.addChangeListener(this._toggleLargerRequests, this);
@@ -95,683 +96,642 @@ WebInspector.NetworkPanel = function()
this._toggleRecordFilmStrip();
this._updateUI();
- WebInspector.targetManager.addModelListener(WebInspector.ResourceTreeModel, WebInspector.ResourceTreeModel.Events.WillReloadPage, this._willReloadPage, this);
- WebInspector.targetManager.addModelListener(WebInspector.ResourceTreeModel, WebInspector.ResourceTreeModel.Events.Load, this._load, this);
- this._networkLogView.addEventListener(WebInspector.NetworkLogView.Events.RequestSelected, this._onRequestSelected, this);
- this._networkLogView.addEventListener(WebInspector.NetworkLogView.Events.SearchCountUpdated, this._onSearchCountUpdated, this);
- this._networkLogView.addEventListener(WebInspector.NetworkLogView.Events.SearchIndexUpdated, this._onSearchIndexUpdated, this);
- this._networkLogView.addEventListener(WebInspector.NetworkLogView.Events.UpdateRequest, this._onUpdateRequest, this);
+ WebInspector.targetManager.addModelListener(
+ WebInspector.ResourceTreeModel, WebInspector.ResourceTreeModel.Events.WillReloadPage, this._willReloadPage,
+ this);
+ WebInspector.targetManager.addModelListener(
+ WebInspector.ResourceTreeModel, WebInspector.ResourceTreeModel.Events.Load, this._load, this);
+ this._networkLogView.addEventListener(
+ WebInspector.NetworkLogView.Events.RequestSelected, this._onRequestSelected, this);
+ this._networkLogView.addEventListener(
+ WebInspector.NetworkLogView.Events.SearchCountUpdated, this._onSearchCountUpdated, this);
+ this._networkLogView.addEventListener(
+ WebInspector.NetworkLogView.Events.SearchIndexUpdated, this._onSearchIndexUpdated, this);
+ this._networkLogView.addEventListener(
+ WebInspector.NetworkLogView.Events.UpdateRequest, this._onUpdateRequest, this);
WebInspector.DataSaverInfobar.maybeShowInPanel(this);
-};
-
-WebInspector.NetworkPanel.displayScreenshotDelay = 1000;
-
-WebInspector.NetworkPanel.prototype = {
- /**
- * @param {!WebInspector.Event} event
- */
- _onWindowChanged: function(event)
- {
- var startTime = Math.max(this._calculator.minimumBoundary(), event.data.startTime / 1000);
- var endTime = Math.min(this._calculator.maximumBoundary(), event.data.endTime / 1000);
- this._networkLogView.setWindow(startTime, endTime);
- },
-
- _createToolbarButtons: function()
- {
- this._panelToolbar.appendToolbarItem(WebInspector.Toolbar.createActionButton(this._toggleRecordAction));
-
- this._clearButton = new WebInspector.ToolbarButton(WebInspector.UIString("Clear"), "clear-toolbar-item");
- this._clearButton.addEventListener("click", this._onClearButtonClicked, this);
- this._panelToolbar.appendToolbarItem(this._clearButton);
- this._panelToolbar.appendSeparator();
- var recordFilmStripButton = new WebInspector.ToolbarSettingToggle(this._networkRecordFilmStripSetting, "camera-toolbar-item", WebInspector.UIString("Capture screenshots"));
- this._panelToolbar.appendToolbarItem(recordFilmStripButton);
-
- this._panelToolbar.appendToolbarItem(this._filterBar.filterButton());
- this._panelToolbar.appendSeparator();
-
- this._panelToolbar.appendText(WebInspector.UIString("View:"));
-
- var largerRequestsButton = new WebInspector.ToolbarSettingToggle(this._networkLogLargeRowsSetting, "large-list-toolbar-item", WebInspector.UIString("Use large request rows"), WebInspector.UIString("Use small request rows"));
- this._panelToolbar.appendToolbarItem(largerRequestsButton);
-
- var showOverviewButton = new WebInspector.ToolbarSettingToggle(this._networkLogShowOverviewSetting, "waterfall-toolbar-item", WebInspector.UIString("Show overview"), WebInspector.UIString("Hide overview"));
- this._panelToolbar.appendToolbarItem(showOverviewButton);
- this._panelToolbar.appendSeparator();
-
- this._preserveLogCheckbox = new WebInspector.ToolbarCheckbox(WebInspector.UIString("Preserve log"), WebInspector.UIString("Do not clear log on page reload / navigation"));
- this._preserveLogCheckbox.inputElement.addEventListener("change", this._onPreserveLogCheckboxChanged.bind(this), false);
- this._panelToolbar.appendToolbarItem(this._preserveLogCheckbox);
-
- this._disableCacheCheckbox = new WebInspector.ToolbarCheckbox(WebInspector.UIString("Disable cache"), WebInspector.UIString("Disable cache (while DevTools is open)"), WebInspector.moduleSetting("cacheDisabled"));
- this._panelToolbar.appendToolbarItem(this._disableCacheCheckbox);
-
- this._panelToolbar.appendSeparator();
- this._panelToolbar.appendToolbarItem(this._createBlockedURLsButton());
- this._panelToolbar.appendToolbarItem(WebInspector.NetworkConditionsSelector.createOfflineToolbarCheckbox());
- this._panelToolbar.appendToolbarItem(this._createNetworkConditionsSelect());
- this._panelToolbar.appendToolbarItem(new WebInspector.ToolbarItem(this._progressBarContainer));
- },
-
- /**
- * @return {!WebInspector.ToolbarItem}
- */
- _createBlockedURLsButton: function()
- {
- var setting = WebInspector.moduleSetting("blockedURLs");
- setting.addChangeListener(updateAction);
- var action = /** @type {!WebInspector.Action }*/(WebInspector.actionRegistry.action("network.blocked-urls.show"));
- var button = WebInspector.Toolbar.createActionButton(action);
- button.setVisible(Runtime.experiments.isEnabled("requestBlocking"));
- updateAction();
- return button;
-
- function updateAction()
- {
- action.setToggled(!!setting.get().length);
- }
- },
-
- /**
- * @return {!WebInspector.ToolbarComboBox}
- */
- _createNetworkConditionsSelect: function()
- {
- var toolbarItem = new WebInspector.ToolbarComboBox(null);
- toolbarItem.setMaxWidth(140);
- WebInspector.NetworkConditionsSelector.decorateSelect(toolbarItem.selectElement());
- return toolbarItem;
- },
-
- _toggleRecording: function()
- {
- if (!this._preserveLogCheckbox.checked() && !this._toggleRecordAction.toggled())
- this._reset();
- this._toggleRecord(!this._toggleRecordAction.toggled());
- },
-
- /**
- * @param {boolean} toggled
- */
- _toggleRecord: function(toggled)
- {
- this._toggleRecordAction.setToggled(toggled);
- this._networkLogView.setRecording(toggled);
- if (!toggled && this._filmStripRecorder)
- this._filmStripRecorder.stopRecording(this._filmStripAvailable.bind(this));
- },
-
- /**
- * @param {?WebInspector.FilmStripModel} filmStripModel
- */
- _filmStripAvailable: function(filmStripModel)
- {
- if (!filmStripModel)
- return;
- var calculator = this._networkLogView.timeCalculator();
- this._filmStripView.setModel(filmStripModel, calculator.minimumBoundary() * 1000, calculator.boundarySpan() * 1000);
- this._networkOverview.setFilmStripModel(filmStripModel);
- var timestamps = filmStripModel.frames().map(mapTimestamp);
-
- /**
- * @param {!WebInspector.FilmStripModel.Frame} frame
- * @return {number}
- */
- function mapTimestamp(frame)
- {
- return frame.timestamp / 1000;
- }
-
- this._networkLogView.addFilmStripFrames(timestamps);
- },
-
- /**
- * @param {!Event} event
- */
- _onPreserveLogCheckboxChanged: function(event)
- {
- this._networkLogView.setPreserveLog(this._preserveLogCheckbox.checked());
- },
-
- /**
- * @param {!WebInspector.Event} event
- */
- _onClearButtonClicked: function(event)
- {
- this._reset();
- },
-
- _reset: function()
- {
- this._calculator.reset();
- this._overviewPane.reset();
- this._networkLogView.reset();
- WebInspector.BlockedURLsPane.reset();
- if (this._filmStripView)
- this._resetFilmStripView();
- },
-
- /**
- * @param {!WebInspector.Event} event
- */
- _willReloadPage: function(event)
- {
- if (!this._preserveLogCheckbox.checked())
- this._reset();
- this._toggleRecord(true);
- if (this._pendingStopTimer) {
- clearTimeout(this._pendingStopTimer);
- delete this._pendingStopTimer;
- }
- if (this.isShowing() && this._filmStripRecorder)
- this._filmStripRecorder.startRecording();
- },
-
- /**
- * @param {!WebInspector.Event} event
- */
- _load: function(event)
- {
- if (this._filmStripRecorder && this._filmStripRecorder.isRecording())
- this._pendingStopTimer = setTimeout(this._stopFilmStripRecording.bind(this), WebInspector.NetworkPanel.displayScreenshotDelay);
- },
-
- _stopFilmStripRecording: function()
- {
- this._filmStripRecorder.stopRecording(this._filmStripAvailable.bind(this));
- delete this._pendingStopTimer;
- },
-
- _toggleLargerRequests: function()
- {
- this._updateUI();
- },
-
- _toggleShowOverview: function()
- {
- var toggled = this._networkLogShowOverviewSetting.get();
- if (toggled)
- this._overviewPane.show(this.element, this._splitWidget.element);
- else
- this._overviewPane.detach();
- this.doResize();
- },
-
- _toggleRecordFilmStrip: function()
- {
- var toggled = this._networkRecordFilmStripSetting.get();
- if (toggled && !this._filmStripRecorder) {
- this._filmStripView = new WebInspector.FilmStripView();
- this._filmStripView.setMode(WebInspector.FilmStripView.Modes.FrameBased);
- this._filmStripView.element.classList.add("network-film-strip");
- this._filmStripRecorder = new WebInspector.NetworkPanel.FilmStripRecorder(this._networkLogView.timeCalculator(), this._filmStripView);
- this._filmStripView.show(this.element, this.element.firstElementChild);
- this._filmStripView.addEventListener(WebInspector.FilmStripView.Events.FrameSelected, this._onFilmFrameSelected, this);
- this._filmStripView.addEventListener(WebInspector.FilmStripView.Events.FrameEnter, this._onFilmFrameEnter, this);
- this._filmStripView.addEventListener(WebInspector.FilmStripView.Events.FrameExit, this._onFilmFrameExit, this);
- this._resetFilmStripView();
- }
-
- if (!toggled && this._filmStripRecorder) {
- this._filmStripView.detach();
- this._filmStripView = null;
- this._filmStripRecorder = null;
- }
- },
-
- _resetFilmStripView: function()
- {
- this._filmStripView.reset();
- this._filmStripView.setStatusText(WebInspector.UIString("Hit %s to reload and capture filmstrip.", WebInspector.shortcutRegistry.shortcutDescriptorsForAction("main.reload")[0].name));
- },
-
- /**
- * @override
- * @return {!Array.<!Element>}
- */
- elementsToRestoreScrollPositionsFor: function()
- {
- return this._networkLogView.elementsToRestoreScrollPositionsFor();
- },
-
- /**
- * @override
- * @return {!WebInspector.SearchableView}
- */
- searchableView: function()
- {
- return this._searchableView;
- },
+ }
- /**
- * @override
- * @param {!KeyboardEvent} event
- */
- handleShortcut: function(event)
- {
- if (this._networkItemView && event.keyCode === WebInspector.KeyboardShortcut.Keys.Esc.code) {
- this._showRequest(null);
- event.handled = true;
- return;
- }
-
- WebInspector.Panel.prototype.handleShortcut.call(this, event);
- },
-
- wasShown: function()
- {
- WebInspector.context.setFlavor(WebInspector.NetworkPanel, this);
- },
-
- willHide: function()
- {
- WebInspector.context.setFlavor(WebInspector.NetworkPanel, null);
- },
-
- /**
- * @param {!WebInspector.NetworkRequest} request
- */
- revealAndHighlightRequest: function(request)
- {
- this._showRequest(null);
- if (request)
- this._networkLogView.revealAndHighlightRequest(request);
- },
-
- /**
- * @param {!WebInspector.Event} event
- */
- _onRowSizeChanged: function(event)
- {
- this._updateUI();
- },
-
- /**
- * @param {!WebInspector.Event} event
- */
- _onSearchCountUpdated: function(event)
- {
- var count = /** @type {number} */ (event.data);
- this._searchableView.updateSearchMatchesCount(count);
- },
-
- /**
- * @param {!WebInspector.Event} event
- */
- _onSearchIndexUpdated: function(event)
- {
- var index = /** @type {number} */ (event.data);
- this._searchableView.updateCurrentMatchIndex(index);
- },
-
- /**
- * @param {!WebInspector.Event} event
- */
- _onRequestSelected: function(event)
- {
- var request = /** @type {?WebInspector.NetworkRequest} */ (event.data);
- this._showRequest(request);
- },
-
- /**
- * @param {?WebInspector.NetworkRequest} request
- */
- _showRequest: function(request)
- {
- if (this._networkItemView) {
- this._networkItemView.detach();
- this._networkItemView = null;
- }
-
- if (request) {
- this._networkItemView = new WebInspector.NetworkItemView(request, this._networkLogView.timeCalculator());
- this._networkItemView.leftToolbar().appendToolbarItem(new WebInspector.ToolbarItem(this._closeButtonElement));
- this._networkItemView.show(this._detailsWidget.element);
- this._splitWidget.showBoth();
- } else {
- this._splitWidget.hideMain();
- this._networkLogView.clearSelection();
- }
- this._updateUI();
- },
-
- _updateUI: function()
- {
- this._detailsWidget.element.classList.toggle("network-details-view-tall-header", this._networkLogLargeRowsSetting.get());
- this._networkLogView.switchViewMode(!this._splitWidget.isResizable());
- },
-
- /**
- * @override
- * @param {!WebInspector.SearchableView.SearchConfig} searchConfig
- * @param {boolean} shouldJump
- * @param {boolean=} jumpBackwards
- */
- performSearch: function(searchConfig, shouldJump, jumpBackwards)
- {
- this._networkLogView.performSearch(searchConfig, shouldJump, jumpBackwards);
- },
-
- /**
- * @override
- */
- jumpToPreviousSearchResult: function()
- {
- this._networkLogView.jumpToPreviousSearchResult();
- },
+ /**
+ * @param {!Array<{filterType: !WebInspector.NetworkLogView.FilterType, filterValue: string}>} filters
+ */
+ static revealAndFilter(filters) {
+ var panel = WebInspector.NetworkPanel._instance();
+ var filterString = '';
+ for (var filter of filters)
+ filterString += `${filter.filterType}:${filter.filterValue} `;
+ panel._networkLogView.setTextFilterValue(filterString);
+ WebInspector.viewManager.showView('network');
+ }
- /**
- * @override
- * @return {boolean}
- */
- supportsCaseSensitiveSearch: function()
- {
- return false;
- },
+ /**
+ * @return {!WebInspector.NetworkPanel}
+ */
+ static _instance() {
+ return /** @type {!WebInspector.NetworkPanel} */ (self.runtime.sharedInstance(WebInspector.NetworkPanel));
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onWindowChanged(event) {
+ var startTime = Math.max(this._calculator.minimumBoundary(), event.data.startTime / 1000);
+ var endTime = Math.min(this._calculator.maximumBoundary(), event.data.endTime / 1000);
+ this._networkLogView.setWindow(startTime, endTime);
+ }
+
+ _createToolbarButtons() {
+ this._panelToolbar.appendToolbarItem(WebInspector.Toolbar.createActionButton(this._toggleRecordAction));
+
+ this._clearButton = new WebInspector.ToolbarButton(WebInspector.UIString('Clear'), 'clear-toolbar-item');
+ this._clearButton.addEventListener('click', this._onClearButtonClicked, this);
+ this._panelToolbar.appendToolbarItem(this._clearButton);
+ this._panelToolbar.appendSeparator();
+ var recordFilmStripButton = new WebInspector.ToolbarSettingToggle(
+ this._networkRecordFilmStripSetting, 'camera-toolbar-item', WebInspector.UIString('Capture screenshots'));
+ this._panelToolbar.appendToolbarItem(recordFilmStripButton);
+
+ this._panelToolbar.appendToolbarItem(this._filterBar.filterButton());
+ this._panelToolbar.appendSeparator();
+
+ this._panelToolbar.appendText(WebInspector.UIString('View:'));
+
+ var largerRequestsButton = new WebInspector.ToolbarSettingToggle(
+ this._networkLogLargeRowsSetting, 'large-list-toolbar-item', WebInspector.UIString('Use large request rows'),
+ WebInspector.UIString('Use small request rows'));
+ this._panelToolbar.appendToolbarItem(largerRequestsButton);
+
+ var showOverviewButton = new WebInspector.ToolbarSettingToggle(
+ this._networkLogShowOverviewSetting, 'waterfall-toolbar-item', WebInspector.UIString('Show overview'),
+ WebInspector.UIString('Hide overview'));
+ this._panelToolbar.appendToolbarItem(showOverviewButton);
+ this._panelToolbar.appendSeparator();
+
+ this._preserveLogCheckbox = new WebInspector.ToolbarCheckbox(
+ WebInspector.UIString('Preserve log'), WebInspector.UIString('Do not clear log on page reload / navigation'));
+ this._preserveLogCheckbox.inputElement.addEventListener(
+ 'change', this._onPreserveLogCheckboxChanged.bind(this), false);
+ this._panelToolbar.appendToolbarItem(this._preserveLogCheckbox);
+
+ this._disableCacheCheckbox = new WebInspector.ToolbarCheckbox(
+ WebInspector.UIString('Disable cache'), WebInspector.UIString('Disable cache (while DevTools is open)'),
+ WebInspector.moduleSetting('cacheDisabled'));
+ this._panelToolbar.appendToolbarItem(this._disableCacheCheckbox);
+
+ this._panelToolbar.appendSeparator();
+ this._panelToolbar.appendToolbarItem(this._createBlockedURLsButton());
+ this._panelToolbar.appendToolbarItem(WebInspector.NetworkConditionsSelector.createOfflineToolbarCheckbox());
+ this._panelToolbar.appendToolbarItem(this._createNetworkConditionsSelect());
+ this._panelToolbar.appendToolbarItem(new WebInspector.ToolbarItem(this._progressBarContainer));
+ }
+
+ /**
+ * @return {!WebInspector.ToolbarItem}
+ */
+ _createBlockedURLsButton() {
+ var setting = WebInspector.moduleSetting('blockedURLs');
+ setting.addChangeListener(updateAction);
+ var action = /** @type {!WebInspector.Action }*/ (WebInspector.actionRegistry.action('network.blocked-urls.show'));
+ var button = WebInspector.Toolbar.createActionButton(action);
+ button.setVisible(Runtime.experiments.isEnabled('requestBlocking'));
+ updateAction();
+ return button;
+
+ function updateAction() {
+ action.setToggled(!!setting.get().length);
+ }
+ }
+
+ /**
+ * @return {!WebInspector.ToolbarComboBox}
+ */
+ _createNetworkConditionsSelect() {
+ var toolbarItem = new WebInspector.ToolbarComboBox(null);
+ toolbarItem.setMaxWidth(140);
+ WebInspector.NetworkConditionsSelector.decorateSelect(toolbarItem.selectElement());
+ return toolbarItem;
+ }
+
+ _toggleRecording() {
+ if (!this._preserveLogCheckbox.checked() && !this._toggleRecordAction.toggled())
+ this._reset();
+ this._toggleRecord(!this._toggleRecordAction.toggled());
+ }
+
+ /**
+ * @param {boolean} toggled
+ */
+ _toggleRecord(toggled) {
+ this._toggleRecordAction.setToggled(toggled);
+ this._networkLogView.setRecording(toggled);
+ if (!toggled && this._filmStripRecorder)
+ this._filmStripRecorder.stopRecording(this._filmStripAvailable.bind(this));
+ }
+
+ /**
+ * @param {?WebInspector.FilmStripModel} filmStripModel
+ */
+ _filmStripAvailable(filmStripModel) {
+ if (!filmStripModel)
+ return;
+ var calculator = this._networkLogView.timeCalculator();
+ this._filmStripView.setModel(filmStripModel, calculator.minimumBoundary() * 1000, calculator.boundarySpan() * 1000);
+ this._networkOverview.setFilmStripModel(filmStripModel);
+ var timestamps = filmStripModel.frames().map(mapTimestamp);
+
+ /**
+ * @param {!WebInspector.FilmStripModel.Frame} frame
+ * @return {number}
+ */
+ function mapTimestamp(frame) {
+ return frame.timestamp / 1000;
+ }
- /**
- * @override
- * @return {boolean}
- */
- supportsRegexSearch: function()
- {
- return false;
- },
+ this._networkLogView.addFilmStripFrames(timestamps);
+ }
+
+ /**
+ * @param {!Event} event
+ */
+ _onPreserveLogCheckboxChanged(event) {
+ this._networkLogView.setPreserveLog(this._preserveLogCheckbox.checked());
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onClearButtonClicked(event) {
+ this._reset();
+ }
+
+ _reset() {
+ this._calculator.reset();
+ this._overviewPane.reset();
+ this._networkLogView.reset();
+ WebInspector.BlockedURLsPane.reset();
+ if (this._filmStripView)
+ this._resetFilmStripView();
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _willReloadPage(event) {
+ if (!this._preserveLogCheckbox.checked())
+ this._reset();
+ this._toggleRecord(true);
+ if (this._pendingStopTimer) {
+ clearTimeout(this._pendingStopTimer);
+ delete this._pendingStopTimer;
+ }
+ if (this.isShowing() && this._filmStripRecorder)
+ this._filmStripRecorder.startRecording();
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _load(event) {
+ if (this._filmStripRecorder && this._filmStripRecorder.isRecording())
+ this._pendingStopTimer =
+ setTimeout(this._stopFilmStripRecording.bind(this), WebInspector.NetworkPanel.displayScreenshotDelay);
+ }
+
+ _stopFilmStripRecording() {
+ this._filmStripRecorder.stopRecording(this._filmStripAvailable.bind(this));
+ delete this._pendingStopTimer;
+ }
+
+ _toggleLargerRequests() {
+ this._updateUI();
+ }
+
+ _toggleShowOverview() {
+ var toggled = this._networkLogShowOverviewSetting.get();
+ if (toggled)
+ this._overviewPane.show(this.element, this._splitWidget.element);
+ else
+ this._overviewPane.detach();
+ this.doResize();
+ }
+
+ _toggleRecordFilmStrip() {
+ var toggled = this._networkRecordFilmStripSetting.get();
+ if (toggled && !this._filmStripRecorder) {
+ this._filmStripView = new WebInspector.FilmStripView();
+ this._filmStripView.setMode(WebInspector.FilmStripView.Modes.FrameBased);
+ this._filmStripView.element.classList.add('network-film-strip');
+ this._filmStripRecorder =
+ new WebInspector.NetworkPanel.FilmStripRecorder(this._networkLogView.timeCalculator(), this._filmStripView);
+ this._filmStripView.show(this.element, this.element.firstElementChild);
+ this._filmStripView.addEventListener(
+ WebInspector.FilmStripView.Events.FrameSelected, this._onFilmFrameSelected, this);
+ this._filmStripView.addEventListener(WebInspector.FilmStripView.Events.FrameEnter, this._onFilmFrameEnter, this);
+ this._filmStripView.addEventListener(WebInspector.FilmStripView.Events.FrameExit, this._onFilmFrameExit, this);
+ this._resetFilmStripView();
+ }
- /**
- * @override
- */
- jumpToNextSearchResult: function()
- {
- this._networkLogView.jumpToNextSearchResult();
- },
+ if (!toggled && this._filmStripRecorder) {
+ this._filmStripView.detach();
+ this._filmStripView = null;
+ this._filmStripRecorder = null;
+ }
+ }
+
+ _resetFilmStripView() {
+ this._filmStripView.reset();
+ this._filmStripView.setStatusText(WebInspector.UIString(
+ 'Hit %s to reload and capture filmstrip.',
+ WebInspector.shortcutRegistry.shortcutDescriptorsForAction('main.reload')[0].name));
+ }
+
+ /**
+ * @override
+ * @return {!Array.<!Element>}
+ */
+ elementsToRestoreScrollPositionsFor() {
+ return this._networkLogView.elementsToRestoreScrollPositionsFor();
+ }
+
+ /**
+ * @override
+ * @return {!WebInspector.SearchableView}
+ */
+ searchableView() {
+ return this._searchableView;
+ }
+
+ /**
+ * @override
+ * @param {!KeyboardEvent} event
+ */
+ handleShortcut(event) {
+ if (this._networkItemView && event.keyCode === WebInspector.KeyboardShortcut.Keys.Esc.code) {
+ this._showRequest(null);
+ event.handled = true;
+ return;
+ }
- /**
- * @override
- */
- searchCanceled: function()
- {
- this._networkLogView.searchCanceled();
- },
+ super.handleShortcut(event);
+ }
+
+ /**
+ * @override
+ */
+ wasShown() {
+ WebInspector.context.setFlavor(WebInspector.NetworkPanel, this);
+ }
+
+ /**
+ * @override
+ */
+ willHide() {
+ WebInspector.context.setFlavor(WebInspector.NetworkPanel, null);
+ }
+
+ /**
+ * @param {!WebInspector.NetworkRequest} request
+ */
+ revealAndHighlightRequest(request) {
+ this._showRequest(null);
+ if (request)
+ this._networkLogView.revealAndHighlightRequest(request);
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onRowSizeChanged(event) {
+ this._updateUI();
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onSearchCountUpdated(event) {
+ var count = /** @type {number} */ (event.data);
+ this._searchableView.updateSearchMatchesCount(count);
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onSearchIndexUpdated(event) {
+ var index = /** @type {number} */ (event.data);
+ this._searchableView.updateCurrentMatchIndex(index);
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onRequestSelected(event) {
+ var request = /** @type {?WebInspector.NetworkRequest} */ (event.data);
+ this._showRequest(request);
+ }
+
+ /**
+ * @param {?WebInspector.NetworkRequest} request
+ */
+ _showRequest(request) {
+ if (this._networkItemView) {
+ this._networkItemView.detach();
+ this._networkItemView = null;
+ }
+ if (request) {
+ this._networkItemView = new WebInspector.NetworkItemView(request, this._networkLogView.timeCalculator());
+ this._networkItemView.leftToolbar().appendToolbarItem(new WebInspector.ToolbarItem(this._closeButtonElement));
+ this._networkItemView.show(this._detailsWidget.element);
+ this._splitWidget.showBoth();
+ } else {
+ this._splitWidget.hideMain();
+ this._networkLogView.clearSelection();
+ }
+ this._updateUI();
+ }
+
+ _updateUI() {
+ this._detailsWidget.element.classList.toggle(
+ 'network-details-view-tall-header', this._networkLogLargeRowsSetting.get());
+ this._networkLogView.switchViewMode(!this._splitWidget.isResizable());
+ }
+
+ /**
+ * @override
+ * @param {!WebInspector.SearchableView.SearchConfig} searchConfig
+ * @param {boolean} shouldJump
+ * @param {boolean=} jumpBackwards
+ */
+ performSearch(searchConfig, shouldJump, jumpBackwards) {
+ this._networkLogView.performSearch(searchConfig, shouldJump, jumpBackwards);
+ }
+
+ /**
+ * @override
+ */
+ jumpToPreviousSearchResult() {
+ this._networkLogView.jumpToPreviousSearchResult();
+ }
+
+ /**
+ * @override
+ * @return {boolean}
+ */
+ supportsCaseSensitiveSearch() {
+ return false;
+ }
+
+ /**
+ * @override
+ * @return {boolean}
+ */
+ supportsRegexSearch() {
+ return false;
+ }
+
+ /**
+ * @override
+ */
+ jumpToNextSearchResult() {
+ this._networkLogView.jumpToNextSearchResult();
+ }
+
+ /**
+ * @override
+ */
+ searchCanceled() {
+ this._networkLogView.searchCanceled();
+ }
+
+ /**
+ * @override
+ * @param {!Event} event
+ * @param {!WebInspector.ContextMenu} contextMenu
+ * @param {!Object} target
+ * @this {WebInspector.NetworkPanel}
+ */
+ appendApplicableItems(event, contextMenu, target) {
/**
- * @override
- * @param {!Event} event
- * @param {!WebInspector.ContextMenu} contextMenu
- * @param {!Object} target
* @this {WebInspector.NetworkPanel}
*/
- appendApplicableItems: function(event, contextMenu, target)
- {
- /**
- * @this {WebInspector.NetworkPanel}
- */
- function reveal(request)
- {
- WebInspector.viewManager.showView("network").then(this.revealAndHighlightRequest.bind(this, request));
- }
-
- /**
- * @this {WebInspector.NetworkPanel}
- */
- function appendRevealItem(request)
- {
- contextMenu.appendItem(WebInspector.UIString.capitalize("Reveal in Network ^panel"), reveal.bind(this, request));
- }
-
- if (event.target.isSelfOrDescendant(this.element))
- return;
-
- if (target instanceof WebInspector.Resource) {
- var resource = /** @type {!WebInspector.Resource} */ (target);
- if (resource.request)
- appendRevealItem.call(this, resource.request);
- return;
- }
- if (target instanceof WebInspector.UISourceCode) {
- var uiSourceCode = /** @type {!WebInspector.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 = /** @type {!WebInspector.NetworkRequest} */ (target);
- if (this._networkItemView && this._networkItemView.isShowing() && this._networkItemView.request() === request)
- return;
-
- appendRevealItem.call(this, request);
- },
+ function reveal(request) {
+ WebInspector.viewManager.showView('network').then(this.revealAndHighlightRequest.bind(this, request));
+ }
/**
- * @param {!WebInspector.Event} event
+ * @this {WebInspector.NetworkPanel}
*/
- _onFilmFrameSelected: function(event)
- {
- var timestamp = /** @type {number} */ (event.data);
- this._overviewPane.requestWindowTimes(0, timestamp);
- },
+ function appendRevealItem(request) {
+ contextMenu.appendItem(WebInspector.UIString.capitalize('Reveal in Network ^panel'), reveal.bind(this, request));
+ }
- /**
- * @param {!WebInspector.Event} event
- */
- _onFilmFrameEnter: function(event)
- {
- var timestamp = /** @type {number} */ (event.data);
- this._networkOverview.selectFilmStripFrame(timestamp);
- this._networkLogView.selectFilmStripFrame(timestamp / 1000);
- },
+ if (event.target.isSelfOrDescendant(this.element))
+ return;
- /**
- * @param {!WebInspector.Event} event
- */
- _onFilmFrameExit: function(event)
- {
- this._networkOverview.clearFilmStripFrame();
- this._networkLogView.clearFilmStripFrame();
- },
+ if (target instanceof WebInspector.Resource) {
+ var resource = /** @type {!WebInspector.Resource} */ (target);
+ if (resource.request)
+ appendRevealItem.call(this, resource.request);
+ return;
+ }
+ if (target instanceof WebInspector.UISourceCode) {
+ var uiSourceCode = /** @type {!WebInspector.UISourceCode} */ (target);
+ var resource = WebInspector.resourceForURL(uiSourceCode.url());
+ if (resource && resource.request)
+ appendRevealItem.call(this, resource.request);
+ return;
+ }
- /**
- * @param {!WebInspector.Event} event
- */
- _onUpdateRequest: function(event)
- {
- var request = /** @type {!WebInspector.NetworkRequest} */ (event.data);
- this._calculator.updateBoundaries(request);
- // FIXME: Unify all time units across the frontend!
- this._overviewPane.setBounds(this._calculator.minimumBoundary() * 1000, this._calculator.maximumBoundary() * 1000);
- this._networkOverview.updateRequest(request);
- this._overviewPane.scheduleUpdate();
- },
-
- __proto__: WebInspector.Panel.prototype
+ if (!(target instanceof WebInspector.NetworkRequest))
+ return;
+ var request = /** @type {!WebInspector.NetworkRequest} */ (target);
+ if (this._networkItemView && this._networkItemView.isShowing() && this._networkItemView.request() === request)
+ return;
+
+ appendRevealItem.call(this, request);
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onFilmFrameSelected(event) {
+ var timestamp = /** @type {number} */ (event.data);
+ this._overviewPane.requestWindowTimes(0, timestamp);
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onFilmFrameEnter(event) {
+ var timestamp = /** @type {number} */ (event.data);
+ this._networkOverview.selectFilmStripFrame(timestamp);
+ this._networkLogView.selectFilmStripFrame(timestamp / 1000);
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onFilmFrameExit(event) {
+ this._networkOverview.clearFilmStripFrame();
+ this._networkLogView.clearFilmStripFrame();
+ }
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _onUpdateRequest(event) {
+ var request = /** @type {!WebInspector.NetworkRequest} */ (event.data);
+ this._calculator.updateBoundaries(request);
+ // FIXME: Unify all time units across the frontend!
+ this._overviewPane.setBounds(this._calculator.minimumBoundary() * 1000, this._calculator.maximumBoundary() * 1000);
+ this._networkOverview.updateRequest(request);
+ this._overviewPane.scheduleUpdate();
+ }
};
+WebInspector.NetworkPanel.displayScreenshotDelay = 1000;
+
/**
- * @constructor
* @implements {WebInspector.ContextMenu.Provider}
+ * @unrestricted
*/
-WebInspector.NetworkPanel.ContextMenuProvider = function()
-{
-};
-
-WebInspector.NetworkPanel.ContextMenuProvider.prototype = {
- /**
- * @override
- * @param {!Event} event
- * @param {!WebInspector.ContextMenu} contextMenu
- * @param {!Object} target
- */
- appendApplicableItems: function(event, contextMenu, target)
- {
- WebInspector.NetworkPanel._instance().appendApplicableItems(event, contextMenu, target);
- }
+WebInspector.NetworkPanel.ContextMenuProvider = class {
+ /**
+ * @override
+ * @param {!Event} event
+ * @param {!WebInspector.ContextMenu} contextMenu
+ * @param {!Object} target
+ */
+ appendApplicableItems(event, contextMenu, target) {
+ WebInspector.NetworkPanel._instance().appendApplicableItems(event, contextMenu, target);
+ }
};
/**
- * @constructor
* @implements {WebInspector.Revealer}
+ * @unrestricted
*/
-WebInspector.NetworkPanel.RequestRevealer = function()
-{
-};
-
-WebInspector.NetworkPanel.RequestRevealer.prototype = {
- /**
- * @override
- * @param {!Object} request
- * @return {!Promise}
- */
- reveal: function(request)
- {
- if (!(request instanceof WebInspector.NetworkRequest))
- return Promise.reject(new Error("Internal error: not a network request"));
- var panel = WebInspector.NetworkPanel._instance();
- return WebInspector.viewManager.showView("network").then(panel.revealAndHighlightRequest.bind(panel, request));
- }
-};
-
-/**
- * @param {!Array<{filterType: !WebInspector.NetworkLogView.FilterType, filterValue: string}>} filters
- */
-WebInspector.NetworkPanel.revealAndFilter = function(filters)
-{
+WebInspector.NetworkPanel.RequestRevealer = class {
+ /**
+ * @override
+ * @param {!Object} request
+ * @return {!Promise}
+ */
+ reveal(request) {
+ if (!(request instanceof WebInspector.NetworkRequest))
+ return Promise.reject(new Error('Internal error: not a network request'));
var panel = WebInspector.NetworkPanel._instance();
- var filterString = "";
- for (var filter of filters)
- filterString += `${filter.filterType}:${filter.filterValue} `;
- panel._networkLogView.setTextFilterValue(filterString);
- WebInspector.viewManager.showView("network");
+ return WebInspector.viewManager.showView('network').then(panel.revealAndHighlightRequest.bind(panel, request));
+ }
};
-/**
- * @return {!WebInspector.NetworkPanel}
- */
-WebInspector.NetworkPanel._instance = function()
-{
- return /** @type {!WebInspector.NetworkPanel} */ (self.runtime.sharedInstance(WebInspector.NetworkPanel));
-};
/**
- * @constructor
* @implements {WebInspector.TracingManagerClient}
- * @param {!WebInspector.NetworkTimeCalculator} timeCalculator
- * @param {!WebInspector.FilmStripView} filmStripView
+ * @unrestricted
*/
-WebInspector.NetworkPanel.FilmStripRecorder = function(timeCalculator, filmStripView)
-{
+WebInspector.NetworkPanel.FilmStripRecorder = class {
+ /**
+ * @param {!WebInspector.NetworkTimeCalculator} timeCalculator
+ * @param {!WebInspector.FilmStripView} filmStripView
+ */
+ constructor(timeCalculator, filmStripView) {
this._timeCalculator = timeCalculator;
this._filmStripView = filmStripView;
-};
-
-WebInspector.NetworkPanel.FilmStripRecorder.prototype = {
- /**
- * @override
- */
- tracingStarted: function()
- {
- },
-
- /**
- * @override
- * @param {!Array.<!WebInspector.TracingManager.EventPayload>} events
- */
- traceEventsCollected: function(events)
- {
- if (this._tracingModel)
- this._tracingModel.addEvents(events);
- },
-
- /**
- * @override
- */
- tracingComplete: function()
- {
- if (!this._tracingModel)
- return;
- this._tracingModel.tracingComplete();
- WebInspector.targetManager.resumeReload(this._target);
- this._target = null;
- this._callback(new WebInspector.FilmStripModel(this._tracingModel, this._timeCalculator.minimumBoundary() * 1000));
- delete this._callback;
- },
-
- /**
- * @override
- */
- tracingBufferUsage: function()
- {
- },
-
- /**
- * @override
- * @param {number} progress
- */
- eventsRetrievalProgress: function(progress)
- {
- },
-
- startRecording: function()
- {
- this._filmStripView.reset();
- this._filmStripView.setStatusText(WebInspector.UIString("Recording frames..."));
- if (this._target)
- return;
-
- this._target = WebInspector.targetManager.mainTarget();
- if (this._tracingModel)
- this._tracingModel.reset();
- else
- this._tracingModel = new WebInspector.TracingModel(new WebInspector.TempFileBackingStorage("tracing"));
- this._target.tracingManager.start(this, "-*,disabled-by-default-devtools.screenshot", "");
- },
-
- /**
- * @return {boolean}
- */
- isRecording: function()
- {
- return !!this._target;
- },
-
- /**
- * @param {function(?WebInspector.FilmStripModel)} callback
- */
- stopRecording: function(callback)
- {
- if (!this._target)
- return;
-
- this._target.tracingManager.stop();
- WebInspector.targetManager.suspendReload(this._target);
- this._callback = callback;
- this._filmStripView.setStatusText(WebInspector.UIString("Fetching frames..."));
- }
+ }
+
+ /**
+ * @override
+ */
+ tracingStarted() {
+ }
+
+ /**
+ * @override
+ * @param {!Array.<!WebInspector.TracingManager.EventPayload>} events
+ */
+ traceEventsCollected(events) {
+ if (this._tracingModel)
+ this._tracingModel.addEvents(events);
+ }
+
+ /**
+ * @override
+ */
+ tracingComplete() {
+ if (!this._tracingModel)
+ return;
+ this._tracingModel.tracingComplete();
+ WebInspector.targetManager.resumeReload(this._target);
+ this._target = null;
+ this._callback(new WebInspector.FilmStripModel(this._tracingModel, this._timeCalculator.minimumBoundary() * 1000));
+ delete this._callback;
+ }
+
+ /**
+ * @override
+ */
+ tracingBufferUsage() {
+ }
+
+ /**
+ * @override
+ * @param {number} progress
+ */
+ eventsRetrievalProgress(progress) {
+ }
+
+ startRecording() {
+ this._filmStripView.reset();
+ this._filmStripView.setStatusText(WebInspector.UIString('Recording frames...'));
+ if (this._target)
+ return;
+
+ this._target = WebInspector.targetManager.mainTarget();
+ if (this._tracingModel)
+ this._tracingModel.reset();
+ else
+ this._tracingModel = new WebInspector.TracingModel(new WebInspector.TempFileBackingStorage('tracing'));
+ this._target.tracingManager.start(this, '-*,disabled-by-default-devtools.screenshot', '');
+ }
+
+ /**
+ * @return {boolean}
+ */
+ isRecording() {
+ return !!this._target;
+ }
+
+ /**
+ * @param {function(?WebInspector.FilmStripModel)} callback
+ */
+ stopRecording(callback) {
+ if (!this._target)
+ return;
+
+ this._target.tracingManager.stop();
+ WebInspector.targetManager.suspendReload(this._target);
+ this._callback = callback;
+ this._filmStripView.setStatusText(WebInspector.UIString('Fetching frames...'));
+ }
};
/**
- * @constructor
* @implements {WebInspector.ActionDelegate}
+ * @unrestricted
*/
-WebInspector.NetworkPanel.RecordActionDelegate = function()
-{
-};
-WebInspector.NetworkPanel.RecordActionDelegate.prototype = {
- /**
- * @override
- * @param {!WebInspector.Context} context
- * @param {string} actionId
- * @return {boolean}
- */
- handleAction: function(context, actionId)
- {
- var panel = WebInspector.context.flavor(WebInspector.NetworkPanel);
- console.assert(panel && panel instanceof WebInspector.NetworkPanel);
- panel._toggleRecording();
- return true;
- }
+WebInspector.NetworkPanel.RecordActionDelegate = class {
+ /**
+ * @override
+ * @param {!WebInspector.Context} context
+ * @param {string} actionId
+ * @return {boolean}
+ */
+ handleAction(context, actionId) {
+ var panel = WebInspector.context.flavor(WebInspector.NetworkPanel);
+ console.assert(panel && panel instanceof WebInspector.NetworkPanel);
+ panel._toggleRecording();
+ return true;
+ }
};

Powered by Google App Engine
This is Rietveld 408576698