Title: [120882] trunk/Source/WebCore
Revision
120882
Author
[email protected]
Date
2012-06-20 16:36:06 -0700 (Wed, 20 Jun 2012)

Log Message

Web Inspector: persist timeline panel overview mode
https://bugs.webkit.org/show_bug.cgi?id=88711

Reviewed by Pavel Feldman.

- replace all internal methods of switching to a new mode of TimelineOverviewPane with setMode();
- make current mode a persistent setting;

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype.setMode):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (120881 => 120882)


--- trunk/Source/WebCore/ChangeLog	2012-06-20 23:31:17 UTC (rev 120881)
+++ trunk/Source/WebCore/ChangeLog	2012-06-20 23:36:06 UTC (rev 120882)
@@ -1,3 +1,19 @@
+2012-06-20  Andrey Kosyakov  <[email protected]>
+
+        Web Inspector: persist timeline panel overview mode
+        https://bugs.webkit.org/show_bug.cgi?id=88711
+
+        Reviewed by Pavel Feldman.
+
+        - replace all internal methods of switching to a new mode of TimelineOverviewPane with setMode();
+        - make current mode a persistent setting;
+
+        * inspector/front-end/TimelineOverviewPane.js:
+        (WebInspector.TimelineOverviewPane):
+        (WebInspector.TimelineOverviewPane.prototype.setMode):
+        * inspector/front-end/TimelinePanel.js:
+        (WebInspector.TimelinePanel):
+
 2012-06-20  Brady Eidson  <[email protected]>
 
         <rdar://problem/11653784> and https://bugs.webkit.org/show_bug.cgi?id=89590

Modified: trunk/Source/WebCore/inspector/front-end/TimelineOverviewPane.js (120881 => 120882)


--- trunk/Source/WebCore/inspector/front-end/TimelineOverviewPane.js	2012-06-20 23:31:17 UTC (rev 120881)
+++ trunk/Source/WebCore/inspector/front-end/TimelineOverviewPane.js	2012-06-20 23:36:06 UTC (rev 120882)
@@ -55,23 +55,26 @@
 
     var topPaneSidebarTree = new TreeOutline(overviewTreeElement);
 
-    var eventsOverviewItem = new WebInspector.SidebarTreeElement("timeline-overview-sidebar-events", WebInspector.UIString("Events"));
-    topPaneSidebarTree.appendChild(eventsOverviewItem);
-    eventsOverviewItem.revealAndSelect(false);
-    eventsOverviewItem._onselect_ = this._showEvents.bind(this);
+    this._currentMode = WebInspector.TimelineOverviewPane.Mode.Events;
 
+    this._overviewItems = {};
+    this._overviewItems[WebInspector.TimelineOverviewPane.Mode.Events] = new WebInspector.SidebarTreeElement("timeline-overview-sidebar-events",
+        WebInspector.UIString("Events"));
     if (Capabilities.timelineSupportsFrameInstrumentation) {
-        var framesOverviewItem = new WebInspector.SidebarTreeElement("timeline-overview-sidebar-frames", WebInspector.UIString("Frames"));
-        topPaneSidebarTree.appendChild(framesOverviewItem);
-        framesOverviewItem._onselect_ = this._showFrames.bind(this);
+        this._overviewItems[WebInspector.TimelineOverviewPane.Mode.Frames] = new WebInspector.SidebarTreeElement("timeline-overview-sidebar-frames",
+            WebInspector.UIString("Frames"));
     }
+    this._overviewItems[WebInspector.TimelineOverviewPane.Mode.Memory] = new WebInspector.SidebarTreeElement("timeline-overview-sidebar-memory",
+        WebInspector.UIString("Memory"));
 
-    var memoryOverviewItem = new WebInspector.SidebarTreeElement("timeline-overview-sidebar-memory", WebInspector.UIString("Memory"));
-    topPaneSidebarTree.appendChild(memoryOverviewItem);
-    memoryOverviewItem._onselect_ = this._showMemoryGraph.bind(this);
+    for (var mode in this._overviewItems) {
+        var item = this._overviewItems[mode];
+        item._onselect_ = this.setMode.bind(this, mode);
+        topPaneSidebarTree.appendChild(item);
+    }
+    
+    this._overviewItems[this._currentMode].revealAndSelect(false);
 
-    this._currentMode = WebInspector.TimelineOverviewPane.Mode.Events;
-
     this._overviewContainer = this.element.createChild("div", "fill");
     this._overviewContainer.id = "timeline-overview-container";
 
@@ -134,39 +137,24 @@
         this._update();
     },
 
-    _showEvents: function()
+    setMode: function(newMode)
     {
-        if (this._currentMode === WebInspector.TimelineOverviewPane.Mode.Events)
+        if (this._currentMode === newMode)
             return;
-        this._heapGraph.hide();
-        this._setFrameMode(false);
-        this._overviewGrid.itemsGraphsElement.removeStyleClass("hidden");
-        this._setMode(WebInspector.TimelineOverviewPane.Mode.Events);
-    },
 
-    _showFrames: function()
-    {
-        if (this._currentMode === WebInspector.TimelineOverviewPane.Mode.Frames)
-            return;
-        this._heapGraph.hide();
-        this._setFrameMode(true);
-        this._overviewGrid.itemsGraphsElement.removeStyleClass("hidden");
-        this._setMode(WebInspector.TimelineOverviewPane.Mode.Frames);
-    },
-
-    _showMemoryGraph: function()
-    {
-        if (this._currentMode === WebInspector.TimelineOverviewPane.Mode.Memory)
-            return;
-        this._setFrameMode(false);
-        this._overviewGrid.itemsGraphsElement.addStyleClass("hidden");
-        this._heapGraph.show();
-        this._setMode(WebInspector.TimelineOverviewPane.Mode.Memory);
-    },
-
-    _setMode: function(newMode)
-    {
         this._currentMode = newMode;
+        this._setFrameMode(this._currentMode === WebInspector.TimelineOverviewPane.Mode.Frames);
+        switch (this._currentMode) {
+            case WebInspector.TimelineOverviewPane.Mode.Events:
+            case WebInspector.TimelineOverviewPane.Mode.Frames:
+                this._heapGraph.hide();
+                this._overviewGrid.itemsGraphsElement.removeStyleClass("hidden");
+                break;
+            case WebInspector.TimelineOverviewPane.Mode.Memory:
+                this._overviewGrid.itemsGraphsElement.addStyleClass("hidden");
+                this._heapGraph.show();
+        }
+        this._overviewItems[this._currentMode].revealAndSelect(false);
         this.dispatchEventToListeners(WebInspector.TimelineOverviewPane.Events.ModeChanged, this._currentMode);
         this._update();
     },

Modified: trunk/Source/WebCore/inspector/front-end/TimelinePanel.js (120881 => 120882)


--- trunk/Source/WebCore/inspector/front-end/TimelinePanel.js	2012-06-20 23:31:17 UTC (rev 120881)
+++ trunk/Source/WebCore/inspector/front-end/TimelinePanel.js	2012-06-20 23:36:06 UTC (rev 120882)
@@ -42,7 +42,7 @@
 
     this._overviewPane = new WebInspector.TimelineOverviewPane(this._model);
     this._overviewPane.addEventListener(WebInspector.TimelineOverviewPane.Events.WindowChanged, this._scheduleRefresh.bind(this, false));
-    this._overviewPane.addEventListener(WebInspector.TimelineOverviewPane.Events.ModeChanged, this._timelinesOverviewModeChanged, this);
+    this._overviewPane.addEventListener(WebInspector.TimelineOverviewPane.Events.ModeChanged, this._overviewModeChanged, this);
     this._overviewPane.show(this.element);
 
     this.element.addEventListener("contextmenu", this._contextMenu.bind(this), true);
@@ -130,6 +130,8 @@
     this._presentationModel.addFilter(this._overviewPane);
     this._presentationModel.addFilter(new WebInspector.TimelineCategoryFilter()); 
     this._presentationModel.addFilter(new WebInspector.TimelineIsLongFilter(this)); 
+
+    this._overviewModeSetting = WebInspector.settings.createSetting("timelineOverviewMode", WebInspector.TimelineOverviewPane.Mode.Events);
 }
 
 // Define row height, should be in sync with styles for timeline graphs.
@@ -404,10 +406,12 @@
         this._overviewPane.zoomToFrame(frameBar._frame);
     },
 
-    _timelinesOverviewModeChanged: function(event)
+    _overviewModeChanged: function(event)
     {
-        var shouldShowMemory = event.data ="" WebInspector.TimelineOverviewPane.Mode.Memory;
-        var frameMode = event.data ="" WebInspector.TimelineOverviewPane.Mode.Frames;
+        var mode = event.data;
+        var shouldShowMemory = mode === WebInspector.TimelineOverviewPane.Mode.Memory;
+        var frameMode = mode === WebInspector.TimelineOverviewPane.Mode.Frames;
+        this._overviewModeSetting.set(mode);
         if (frameMode !== this._frameMode) {
             this._frameMode = frameMode;
             this._glueParentButton.disabled = frameMode;
@@ -553,6 +557,7 @@
             WebInspector.TimelinePanel._categoryStylesInitialized = true;
             this._injectCategoryStyles();
         }
+        this._overviewPane.setMode(this._overviewModeSetting.get());
         this._refresh();
         WebInspector.drawer.currentPanelCounters = this.recordsCounter;
     },
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to