New perf dashboard erroneously clears zoom when poping history items
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Feb 2015 03:33:08 +0000 (03:33 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Feb 2015 03:33:08 +0000 (03:33 +0000)
https://bugs.webkit.org/show_bug.cgi?id=141278

Reviewed by Chris Dumez.

The bug was caused by _sharedZoomChanged updating overviewSelection without updating mainPlotDomain.

Updating overviewSelection resulted in _overviewSelectionChanged, which observes changes to overviewSelection,
to schedule a call to propagateZoom, which in turn overrode "sharedZoom" we just parsed from the query string.

* public/v2/app.js:
(App.PaneController._overviewSelectionChanged): Don't schedule propagateZoom if the selected domain is already
shown in the main plot.
(App.PaneController._sharedZoomChanged): Set both overviewSelection and mainPlotDomain to avoid overriding
"sharedZoom" via propagateZoom inside _overviewSelectionChanged.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@179660 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Websites/perf.webkit.org/ChangeLog
Websites/perf.webkit.org/public/v2/app.js

index 56d51bf..1238803 100644 (file)
@@ -1,5 +1,23 @@
 2015-02-04  Ryosuke Niwa  <rniwa@webkit.org>
 
+        New perf dashboard erroneously clears zoom when poping history items
+        https://bugs.webkit.org/show_bug.cgi?id=141278
+
+        Reviewed by Chris Dumez.
+
+        The bug was caused by _sharedZoomChanged updating overviewSelection without updating mainPlotDomain.
+
+        Updating overviewSelection resulted in _overviewSelectionChanged, which observes changes to overviewSelection,
+        to schedule a call to propagateZoom, which in turn overrode "sharedZoom" we just parsed from the query string.
+
+        * public/v2/app.js:
+        (App.PaneController._overviewSelectionChanged): Don't schedule propagateZoom if the selected domain is already
+        shown in the main plot.
+        (App.PaneController._sharedZoomChanged): Set both overviewSelection and mainPlotDomain to avoid overriding
+        "sharedZoom" via propagateZoom inside _overviewSelectionChanged.
+
+2015-02-04  Ryosuke Niwa  <rniwa@webkit.org>
+
         New perf dashboard shows null as the aggregator name if no aggregation is done
         https://bugs.webkit.org/show_bug.cgi?id=141256
 
index 0e7114f..0ed6dac 100755 (executable)
@@ -680,6 +680,8 @@ App.PaneController = Ember.ObjectController.extend({
     _overviewSelectionChanged: function ()
     {
         var overviewSelection = this.get('overviewSelection');
+        if (App.domainsAreEqual(overviewSelection, this.get('mainPlotDomain')))
+            return;
         this.set('mainPlotDomain', overviewSelection || this.get('overviewDomain'));
         Ember.run.debounce(this, 'propagateZoom', 100);
     }.observes('overviewSelection'),
@@ -701,6 +703,7 @@ App.PaneController = Ember.ObjectController.extend({
         var newSelection = this.get('parentController').get('sharedZoom');
         if (App.domainsAreEqual(newSelection, this.get('mainPlotDomain')))
             return;
+        this.set('mainPlotDomain', newSelection);
         this.set('overviewSelection', newSelection);
     }.observes('parentController.sharedZoom').on('init'),
     _updateDetails: function ()