Title: [143597] trunk
Revision
143597
Author
aand...@chromium.org
Date
2013-02-21 06:26:17 -0800 (Thu, 21 Feb 2013)

Log Message

Web Inspector: [Canvas] UI: more intuitive control buttons
https://bugs.webkit.org/show_bug.cgi?id=110327

Reviewed by Pavel Feldman.

Source/WebCore:

Tweaks to the CanvasProfiler replay control buttons.
- NextDrawCall forward button (StepOver) should jump up to the last expanded node, otherwise a noop is not intuitive unless the last node is selected.
- NextDrawCall/PrevDrawCall buttons should not skip draw call nodes themselves.

* inspector/front-end/CanvasProfileView.js:
(WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):

LayoutTests:

* inspector/profiler/canvas2d/canvas-replay-log-grid.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (143596 => 143597)


--- trunk/LayoutTests/ChangeLog	2013-02-21 14:19:29 UTC (rev 143596)
+++ trunk/LayoutTests/ChangeLog	2013-02-21 14:26:17 UTC (rev 143597)
@@ -1,3 +1,12 @@
+2013-02-21  Andrey Adaikin  <aand...@chromium.org>
+
+        Web Inspector: [Canvas] UI: more intuitive control buttons
+        https://bugs.webkit.org/show_bug.cgi?id=110327
+
+        Reviewed by Pavel Feldman.
+
+        * inspector/profiler/canvas2d/canvas-replay-log-grid.html:
+
 2013-02-21  Mikhail Pozdnyakov  <mikhail.pozdnya...@intel.com>
 
         [EFL] Unreviewed gardening.

Modified: trunk/LayoutTests/inspector/profiler/canvas2d/canvas-replay-log-grid.html (143596 => 143597)


--- trunk/LayoutTests/inspector/profiler/canvas2d/canvas-replay-log-grid.html	2013-02-21 14:19:29 UTC (rev 143596)
+++ trunk/LayoutTests/inspector/profiler/canvas2d/canvas-replay-log-grid.html	2013-02-21 14:26:17 UTC (rev 143597)
@@ -138,9 +138,12 @@
         InspectorTest.addResult("Testing ReplayNextDrawingCallClick starting on a frame node");
         for (var i = 1; i < frameNodes.length + 5; ++i) {
             profileView._onReplayDrawingCallClick(true);
-            InspectorTest.assertEquals(frameNodes[i] || frameNodes.peekLast(), dataGrid.selectedNode, "error on index " + i);
+            InspectorTest.assertEquals(frameNodes[i] || allNodesFlat.peekLast(), dataGrid.selectedNode, "error on index " + i);
         }
 
+        frameNodes.peekLast().revealAndSelect();
+        InspectorTest.assertEquals(frameNodes.peekLast(), dataGrid.selectedNode, "Expected to select last frame node");
+
         InspectorTest.addResult("Testing ReplayPreviousDrawingCallClick starting on a frame node");
         for (var i = frameNodes.length - 2; i >= -5; --i) {
             profileView._onReplayDrawingCallClick(false);
@@ -151,7 +154,7 @@
         InspectorTest.assertEquals(drawCallGroups[0], dataGrid.selectedNode, "Expected to move to the first draw call group");
 
         InspectorTest.addResult("Testing ReplayNextDrawingCallClick starting on a draw call group");
-        var expected = [drawCallGroups[1], frameNodes[1]];
+        var expected = [drawCallGroups[1], frameNodes[1], allNodesFlat.peekLast()];
         for (var i = 0; i < expected.length + 5; ++i) {
             profileView._onReplayDrawingCallClick(true);
             InspectorTest.assertEquals(expected[i] || expected.peekLast(), dataGrid.selectedNode, "error on index " + i);
@@ -161,7 +164,7 @@
         InspectorTest.assertEquals(allNodesFlat.peekLast(), dataGrid.selectedNode, "Expected to move to the last call");
 
         InspectorTest.addResult("Testing ReplayPreviousDrawingCallClick starting on a call node");
-        var expected = [frameNodes[0], frameNodes[1], drawCallGroups[2], drawCallGroups[3], drawCallGroups[4]];
+        var expected = [frameNodes[0], frameNodes[1], drawCallGroups[2], drawCallGroups[3], drawCallGroups[4], nodes[28]];
         for (var i = expected.length - 1; i >= -5; --i) {
             profileView._onReplayDrawingCallClick(false);
             InspectorTest.assertEquals(expected[i] || expected[0], dataGrid.selectedNode, "error on index " + i);
@@ -171,7 +174,7 @@
         InspectorTest.assertEquals(nodes[15], dataGrid.selectedNode, "Expected to select node #20");
 
         InspectorTest.addResult("Testing ReplayNextDrawingCallClick starting on a call node");
-        var expected = [drawCallGroups[3], drawCallGroups[4]];
+        var expected = [nodes[16], drawCallGroups[3], drawCallGroups[4], allNodesFlat.peekLast()];
         for (var i = 0; i < expected.length + 5; ++i) {
             profileView._onReplayDrawingCallClick(true);
             InspectorTest.assertEquals(expected[i] || expected.peekLast(), dataGrid.selectedNode, "error on index " + i);

Modified: trunk/Source/WebCore/ChangeLog (143596 => 143597)


--- trunk/Source/WebCore/ChangeLog	2013-02-21 14:19:29 UTC (rev 143596)
+++ trunk/Source/WebCore/ChangeLog	2013-02-21 14:26:17 UTC (rev 143597)
@@ -1,3 +1,17 @@
+2013-02-21  Andrey Adaikin  <aand...@chromium.org>
+
+        Web Inspector: [Canvas] UI: more intuitive control buttons
+        https://bugs.webkit.org/show_bug.cgi?id=110327
+
+        Reviewed by Pavel Feldman.
+
+        Tweaks to the CanvasProfiler replay control buttons.
+        - NextDrawCall forward button (StepOver) should jump up to the last expanded node, otherwise a noop is not intuitive unless the last node is selected.
+        - NextDrawCall/PrevDrawCall buttons should not skip draw call nodes themselves.
+
+        * inspector/front-end/CanvasProfileView.js:
+        (WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):
+
 2013-02-21  Grzegorz Czajkowski  <g.czajkow...@samsung.com>
 
         Make SpellCheckRequest's constructor private.

Modified: trunk/Source/WebCore/inspector/front-end/CanvasProfileView.js (143596 => 143597)


--- trunk/Source/WebCore/inspector/front-end/CanvasProfileView.js	2013-02-21 14:19:29 UTC (rev 143596)
+++ trunk/Source/WebCore/inspector/front-end/CanvasProfileView.js	2013-02-21 14:26:17 UTC (rev 143597)
@@ -192,7 +192,7 @@
             var sibling = forward ? nextNode.nextSibling : nextNode.previousSibling;
             if (sibling) {
                 nextNode = sibling;
-                if (nextNode.hasChildren)
+                if (nextNode.hasChildren || nextNode.call.isDrawingCall)
                     break;
             } else {
                 nextNode = nextNode.parent;
@@ -200,7 +200,10 @@
                     break;
             }
         }
-        (nextNode || selectedNode).revealAndSelect();
+        if (!nextNode && forward)
+            this._onReplayLastStepClick();
+        else
+            (nextNode || selectedNode).revealAndSelect();
     },
 
     _onReplayFirstStepClick: function()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to