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

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

Issue 1178563002: DevTools: Refactor network panel overview (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: update test. Created 5 years, 6 months 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: Source/devtools/front_end/network/NetworkPanel.js
diff --git a/Source/devtools/front_end/network/NetworkPanel.js b/Source/devtools/front_end/network/NetworkPanel.js
index 9a010fd2052347e26042b1c24866b5acadc12501..ee503636c2e20dd0c3b084003b342d6211dd2ef5 100644
--- a/Source/devtools/front_end/network/NetworkPanel.js
+++ b/Source/devtools/front_end/network/NetworkPanel.js
@@ -59,7 +59,13 @@ WebInspector.NetworkPanel = function()
this._searchableView.setPlaceholder(WebInspector.UIString("Find by filename or path"));
this._searchableView.show(this.element);
- this._overview = new WebInspector.NetworkOverview();
+ // 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._networkOverview = new WebInspector.NetworkOverview();
+ this._overviewPane.setOverviewControls([this._networkOverview]);
+ this._calculator = new WebInspector.NetworkTransferTimeCalculator();
this._splitWidget = new WebInspector.SplitWidget(true, false, "networkPanelSplitViewState");
this._splitWidget.hideMain();
@@ -70,7 +76,7 @@ WebInspector.NetworkPanel = function()
this._createToolbarButtons();
/** @type {!WebInspector.NetworkLogView} */
- this._networkLogView = new WebInspector.NetworkLogView(this._overview, this._filterBar, this._progressBarContainer, this._networkLogLargeRowsSetting);
+ this._networkLogView = new WebInspector.NetworkLogView(this._filterBar, this._progressBarContainer, this._networkLogLargeRowsSetting);
this._splitWidget.setSidebarWidget(this._networkLogView);
this._detailsWidget = new WebInspector.VBox();
@@ -97,6 +103,7 @@ WebInspector.NetworkPanel = function()
this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.RequestSelected, this._onRequestSelected, this);
this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.SearchCountUpdated, this._onSearchCountUpdated, this);
this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.SearchIndexUpdated, this._onSearchIndexUpdated, this);
+ this._networkLogView.addEventListener(WebInspector.NetworkLogView.EventTypes.UpdateRequest, this._onUpdateRequest, this);
/**
* @this {WebInspector.NetworkPanel}
@@ -111,6 +118,16 @@ WebInspector.NetworkPanel = function()
}
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._recordButton = new WebInspector.ToolbarButton("", "record-toolbar-item");
@@ -155,8 +172,8 @@ WebInspector.NetworkPanel.prototype = {
*/
_onRecordButtonClicked: function(event)
{
- if (!this._recordButton.toggled())
- this._networkLogView.reset();
+ if (!this._preserveLogCheckbox.checked() && !this._recordButton.toggled())
+ this._reset();
this._toggleRecordButton(!this._recordButton.toggled());
},
@@ -181,7 +198,7 @@ WebInspector.NetworkPanel.prototype = {
return;
var calculator = this._networkLogView.timeCalculator();
this._filmStripView.setModel(filmStripModel, calculator.minimumBoundary() * 1000, calculator.boundarySpan() * 1000);
- this._overview.setFilmStripModel(filmStripModel);
+ this._networkOverview.setFilmStripModel(filmStripModel);
for (var frame of filmStripModel.frames())
this._networkLogView.addFilmStripFrame(frame.timestamp / 1000);
},
@@ -199,7 +216,13 @@ WebInspector.NetworkPanel.prototype = {
*/
_onClearButtonClicked: function(event)
{
- this._overview.reset();
+ this._reset();
+ },
+
+ _reset: function()
+ {
+ this._calculator.reset();
+ this._overviewPane.reset();
this._networkLogView.reset();
if (this._filmStripView)
this._filmStripView.reset();
@@ -210,9 +233,9 @@ WebInspector.NetworkPanel.prototype = {
*/
_willReloadPage: function(event)
{
- this._toggleRecordButton(true);
if (!this._preserveLogCheckbox.checked())
- this._networkLogView.reset();
+ this._reset();
+ this._toggleRecordButton(true);
if (this.isShowing() && this._filmStripRecorder)
this._filmStripRecorder.startRecording();
},
@@ -235,9 +258,9 @@ WebInspector.NetworkPanel.prototype = {
{
var toggled = this._networkLogShowOverviewSetting.get();
if (toggled)
- this._overview.show(this._searchableView.element, this._splitWidget.element);
+ this._overviewPane.show(this._searchableView.element, this._splitWidget.element);
else
- this._overview.detach();
+ this._overviewPane.detach();
this.doResize();
},
@@ -510,7 +533,7 @@ WebInspector.NetworkPanel.prototype = {
_onFilmFrameSelected: function(event)
{
var timestamp = /** @type {number} */ (event.data);
- this._overview.setWindow(0, timestamp / 1000);
+ this._overviewPane.requestWindowTimes(0, timestamp);
},
/**
@@ -519,7 +542,7 @@ WebInspector.NetworkPanel.prototype = {
_onFilmFrameEnter: function(event)
{
var timestamp = /** @type {number} */ (event.data);
- this._overview.selectFilmStripFrame(timestamp / 1000);
+ this._networkOverview.selectFilmStripFrame(timestamp);
this._networkLogView.selectFilmStripFrame(timestamp / 1000);
},
@@ -528,10 +551,23 @@ WebInspector.NetworkPanel.prototype = {
*/
_onFilmFrameExit: function(event)
{
- this._overview.clearFilmStripFrame();
+ this._networkOverview.clearFilmStripFrame();
this._networkLogView.clearFilmStripFrame();
},
+ /**
+ * @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.update();
+ },
+
__proto__: WebInspector.Panel.prototype
}
« no previous file with comments | « Source/devtools/front_end/network/NetworkOverview.js ('k') | Source/devtools/front_end/network/NetworkTimeCalculator.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698