Title: [194574] trunk/Source/WebInspectorUI
Revision
194574
Author
[email protected]
Date
2016-01-04 22:35:41 -0800 (Mon, 04 Jan 2016)

Log Message

Web Inspector: Timelines view doesn't remember how I like to sort things
https://bugs.webkit.org/show_bug.cgi?id=152626

Patch by Devin Rousso <[email protected]> on 2016-01-04
Reviewed by Joseph Pecoraro.

Currently, all instances of DataGrid have their sort column reset with each
open/close of Web Inspector. This doesn't really make sense seeing as we save
the user's settings in many other cases, so the sort method (which column)
should be saved between inspector sessions.

* UserInterface/Views/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
* UserInterface/Views/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView.prototype._rebuildTable):
* UserInterface/Views/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView):
* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.set sortColumnIdentifier):
Moved the logic for classLists and events to _updateSortedColumn.

(WebInspector.DataGrid.prototype.set sortColumnIdentifierSetting):
Instead of just setting the original sort method when instantiating the DataGrid,
a WebInspector.Setting object is now able to be passed in via this setter
to give the DataGrid access to the stored sort method value.

(WebInspector.DataGrid.prototype._updateSortedColumn):
Updates the classLists and fires events. If a sort column setting object
exists, update its value.

* UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
* UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView):
* UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView):
* UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView):
* UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView):
* UserInterface/Views/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView):

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (194573 => 194574)


--- trunk/Source/WebInspectorUI/ChangeLog	2016-01-05 06:32:28 UTC (rev 194573)
+++ trunk/Source/WebInspectorUI/ChangeLog	2016-01-05 06:35:41 UTC (rev 194574)
@@ -1,5 +1,50 @@
 2016-01-04  Devin Rousso  <[email protected]>
 
+        Web Inspector: Timelines view doesn't remember how I like to sort things
+        https://bugs.webkit.org/show_bug.cgi?id=152626
+
+        Reviewed by Joseph Pecoraro.
+
+        Currently, all instances of DataGrid have their sort column reset with each
+        open/close of Web Inspector. This doesn't really make sense seeing as we save
+        the user's settings in many other cases, so the sort method (which column)
+        should be saved between inspector sessions.
+
+        * UserInterface/Views/ApplicationCacheFrameContentView.js:
+        (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
+        * UserInterface/Views/CookieStorageContentView.js:
+        (WebInspector.CookieStorageContentView.prototype._rebuildTable):
+        * UserInterface/Views/DOMStorageContentView.js:
+        (WebInspector.DOMStorageContentView):
+        * UserInterface/Views/DataGrid.js:
+        (WebInspector.DataGrid):
+        (WebInspector.DataGrid.prototype.set sortColumnIdentifier):
+        Moved the logic for classLists and events to _updateSortedColumn.
+
+        (WebInspector.DataGrid.prototype.set sortColumnIdentifierSetting):
+        Instead of just setting the original sort method when instantiating the DataGrid,
+        a WebInspector.Setting object is now able to be passed in via this setter
+        to give the DataGrid access to the stored sort method value.
+
+        (WebInspector.DataGrid.prototype._updateSortedColumn):
+        Updates the classLists and fires events. If a sort column setting object
+        exists, update its value.
+
+        * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
+        (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
+        * UserInterface/Views/LayoutTimelineView.js:
+        (WebInspector.LayoutTimelineView):
+        * UserInterface/Views/NetworkGridContentView.js:
+        (WebInspector.NetworkGridContentView):
+        * UserInterface/Views/NetworkTimelineView.js:
+        (WebInspector.NetworkTimelineView):
+        * UserInterface/Views/RenderingFrameTimelineView.js:
+        (WebInspector.RenderingFrameTimelineView):
+        * UserInterface/Views/ScriptTimelineView.js:
+        (WebInspector.ScriptTimelineView):
+
+2016-01-04  Devin Rousso  <[email protected]>
+
         Web Inspector: Add debounce to URL inputs in the Visual sidebar
         https://bugs.webkit.org/show_bug.cgi?id=152655
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ApplicationCacheFrameContentView.js (194573 => 194574)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ApplicationCacheFrameContentView.js	2016-01-05 06:32:28 UTC (rev 194573)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ApplicationCacheFrameContentView.js	2016-01-05 06:35:41 UTC (rev 194574)
@@ -162,7 +162,7 @@
         this._dataGrid = new WebInspector.DataGrid(columns);
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SortChanged, this._sortDataGrid, this);
 
-        this._dataGrid.sortColumnIdentifier = "url";
+        this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting("application-cache-frame-content-view-sort", "url");
         this._dataGrid.sortOrder = WebInspector.DataGrid.SortOrder.Ascending;
 
         this.addSubview(this._dataGrid);

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js (194573 => 194574)


--- trunk/Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js	2016-01-05 06:32:28 UTC (rev 194573)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js	2016-01-05 06:35:41 UTC (rev 194574)
@@ -142,7 +142,7 @@
             this._dataGrid.appendChild(node);
         }
 
-        this._dataGrid.sortColumnIdentifier = "name";
+        this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting("cookie-storage-content-view-sort", "name");
     }
 
     _filterCookies(cookies)

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DOMStorageContentView.js (194573 => 194574)


--- trunk/Source/WebInspectorUI/UserInterface/Views/DOMStorageContentView.js	2016-01-05 06:32:28 UTC (rev 194573)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMStorageContentView.js	2016-01-05 06:35:41 UTC (rev 194574)
@@ -43,7 +43,7 @@
 
         this._dataGrid = new WebInspector.DataGrid(columns, this._editingCallback.bind(this), this._deleteCallback.bind(this));
         this._dataGrid.sortOrder = WebInspector.DataGrid.SortOrder.Ascending;
-        this._dataGrid.sortColumnIdentifier = "key";
+        this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting("dom-storage-content-view-sort", "key");
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SortChanged, this._sortDataGrid, this);
 
         this.addSubview(this._dataGrid);

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.js (194573 => 194574)


--- trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.js	2016-01-05 06:32:28 UTC (rev 194573)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.js	2016-01-05 06:35:41 UTC (rev 194574)
@@ -33,6 +33,7 @@
         this.orderedColumns = [];
 
         this._sortColumnIdentifier = null;
+        this._sortColumnIdentifierSetting = null;
         this._sortOrder = WebInspector.DataGrid.SortOrder.Indeterminate;
 
         this.children = [];
@@ -208,17 +209,33 @@
         if (this._sortColumnIdentifier === columnIdentifier)
             return;
 
-        var oldSortColumnIdentifier = this._sortColumnIdentifier;
+        let oldSortColumnIdentifier = this._sortColumnIdentifier;
         this._sortColumnIdentifier = columnIdentifier;
+        this._updateSortedColumn(oldSortColumnIdentifier);
+    }
 
+    set sortColumnIdentifierSetting(setting)
+    {
+        console.assert(setting instanceof WebInspector.Setting);
+
+        this._sortColumnIdentifierSetting = setting;
+        if (this._sortColumnIdentifierSetting.value)
+            this.sortColumnIdentifier = this._sortColumnIdentifierSetting.value;
+    }
+
+    _updateSortedColumn(oldSortColumnIdentifier)
+    {
+        if (this._sortColumnIdentifierSetting)
+            this._sortColumnIdentifierSetting.value = this._sortColumnIdentifier;
+
         if (oldSortColumnIdentifier) {
-            var oldSortHeaderCellElement = this._headerTableCellElements.get(oldSortColumnIdentifier);
+            let oldSortHeaderCellElement = this._headerTableCellElements.get(oldSortColumnIdentifier);
             oldSortHeaderCellElement.classList.remove(WebInspector.DataGrid.SortColumnAscendingStyleClassName);
             oldSortHeaderCellElement.classList.remove(WebInspector.DataGrid.SortColumnDescendingStyleClassName);
         }
 
         if (this._sortColumnIdentifier) {
-            var newSortHeaderCellElement = this._headerTableCellElements.get(this._sortColumnIdentifier);
+            let newSortHeaderCellElement = this._headerTableCellElements.get(this._sortColumnIdentifier);
             newSortHeaderCellElement.classList.toggle(WebInspector.DataGrid.SortColumnAscendingStyleClassName, this._sortOrder === WebInspector.DataGrid.SortOrder.Ascending);
             newSortHeaderCellElement.classList.toggle(WebInspector.DataGrid.SortColumnDescendingStyleClassName, this._sortOrder === WebInspector.DataGrid.SortOrder.Descending);
         }

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js (194573 => 194574)


--- trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js	2016-01-05 06:32:28 UTC (rev 194573)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js	2016-01-05 06:35:41 UTC (rev 194574)
@@ -141,7 +141,7 @@
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SortChanged, this._sortDataGrid, this);
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._selectedDataGridNodeChanged, this);
 
-        this.sortColumnIdentifier = "memory";
+        this.sortColumnIdentifierSetting = new WebInspector.Setting("layer-tree-details-sidebar-panel-sort", "memory");
         this.sortOrder = WebInspector.DataGrid.SortOrder.Descending;
 
         var element = this._dataGrid.element;

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js (194573 => 194574)


--- trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js	2016-01-05 06:32:28 UTC (rev 194573)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js	2016-01-05 06:35:41 UTC (rev 194574)
@@ -72,7 +72,7 @@
         this._dataGrid.addEventListener(WebInspector.TimelineDataGrid.Event.FiltersDidChange, this._dataGridFiltersDidChange, this);
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._dataGridNodeSelected, this);
 
-        this._dataGrid.sortColumnIdentifier = "startTime";
+        this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting("layout-timeline-view-sort", "startTime");
         this._dataGrid.sortOrder = WebInspector.DataGrid.SortOrder.Ascending;
 
         this._hoveredTreeElement = null;

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NetworkGridContentView.js (194573 => 194574)


--- trunk/Source/WebInspectorUI/UserInterface/Views/NetworkGridContentView.js	2016-01-05 06:32:28 UTC (rev 194573)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NetworkGridContentView.js	2016-01-05 06:35:41 UTC (rev 194574)
@@ -82,7 +82,7 @@
 
         this._dataGrid = new WebInspector.TimelineDataGrid(this._contentTreeOutline, columns);
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._dataGridNodeSelected, this);
-        this._dataGrid.sortColumnIdentifier = "requestSent";
+        this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting("network-grid-content-view-sort", "requestSent");
         this._dataGrid.sortOrder = WebInspector.DataGrid.SortOrder.Ascending;
 
         this.element.classList.add("network-grid");

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js (194573 => 194574)


--- trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js	2016-01-05 06:32:28 UTC (rev 194573)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js	2016-01-05 06:35:41 UTC (rev 194574)
@@ -89,7 +89,7 @@
         this._dataGrid = new WebInspector.TimelineDataGrid(this.navigationSidebarTreeOutline, columns);
         this._dataGrid.addEventListener(WebInspector.TimelineDataGrid.Event.FiltersDidChange, this._dataGridFiltersDidChange, this);
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._dataGridNodeSelected, this);
-        this._dataGrid.sortColumnIdentifier = "requestSent";
+        this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting("network-timeline-view-sort", "requestSent");
         this._dataGrid.sortOrder = WebInspector.DataGrid.SortOrder.Ascending;
 
         this.element.classList.add("network");

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js (194573 => 194574)


--- trunk/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js	2016-01-05 06:32:28 UTC (rev 194573)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js	2016-01-05 06:35:41 UTC (rev 194574)
@@ -75,7 +75,7 @@
 
         this._dataGrid = new WebInspector.TimelineDataGrid(this.navigationSidebarTreeOutline, columns, this);
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._dataGridNodeSelected, this);
-        this._dataGrid.sortColumnIdentifier = "startTime";
+        this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting("rendering-frame-timeline-view-sort", "startTime");
         this._dataGrid.sortOrder = WebInspector.DataGrid.SortOrder.Ascending;
 
         this.element.classList.add("rendering-frame");

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ScriptTimelineView.js (194573 => 194574)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ScriptTimelineView.js	2016-01-05 06:32:28 UTC (rev 194573)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ScriptTimelineView.js	2016-01-05 06:35:41 UTC (rev 194574)
@@ -64,7 +64,7 @@
         this._dataGrid = new WebInspector.ScriptTimelineDataGrid(this.navigationSidebarTreeOutline, columns, this);
         this._dataGrid.addEventListener(WebInspector.TimelineDataGrid.Event.FiltersDidChange, this._dataGridFiltersDidChange, this);
         this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._dataGridNodeSelected, this);
-        this._dataGrid.sortColumnIdentifier = "startTime";
+        this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting("script-timeline-view-sort", "startTime");
         this._dataGrid.sortOrder = WebInspector.DataGrid.SortOrder.Ascending;
 
         this.element.classList.add("script");
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to