Index: LayoutTests/inspector/profiler/canvas2d/canvas-replay-log-grid.html |
diff --git a/LayoutTests/inspector/profiler/canvas2d/canvas-replay-log-grid.html b/LayoutTests/inspector/profiler/canvas2d/canvas-replay-log-grid.html |
deleted file mode 100644 |
index d8f00f4bed39308e56cbbf84a18a24d976f3174e..0000000000000000000000000000000000000000 |
--- a/LayoutTests/inspector/profiler/canvas2d/canvas-replay-log-grid.html |
+++ /dev/null |
@@ -1,207 +0,0 @@ |
-<html> |
-<head> |
- <script src="../../../http/tests/inspector/inspector-test.js"></script> |
- <script src="../canvas-profiler-test.js"></script> |
-<script> |
- |
-var canvas; |
-var context; |
-var round = 0; |
-var colors = ["red", "green", "blue", "yellow", "black"]; |
- |
-function createCanvasContext() |
-{ |
- canvas = document.getElementById("canvas"); |
- context = canvas.getContext("2d"); |
- console.assert(context, "Failed to create a canvas context"); |
-} |
- |
-function doSomeCanvasCalls(repeats) |
-{ |
- if (!context) |
- createCanvasContext(); |
- repeats = repeats || 1; |
- while (repeats-- > 0) { |
- var offset = 5 * round; |
- context.save(); |
- context.beginPath(); |
- context.rect(offset, offset, 100 - offset, 100 - offset); |
- context.fillStyle = colors[round % colors.length]; |
- context.fill(); |
- context.restore(); |
- ++round; |
- } |
-} |
- |
-function test() |
-{ |
- // FIXME: Remove once taken out of experiments. Also a hack below should be removed. |
- Runtime.experiments.enableForTest("canvasInspection"); |
- |
- var profilesPanel = WebInspector.panels.profiles; |
- var typeRegistry = WebInspector.ProfileTypeRegistry.instance; |
- var profileType = typeRegistry.canvasProfileType; |
- |
- // FIXME: This hack is added because ProfilesPanel might have been already created before experiment was enabled. |
- // This could be removed once canvas inspection is out of experiments. |
- if (!profileType) { |
- profileType = new WebInspector.CanvasProfileType(); |
- typeRegistry.canvasProfileType = profileType; |
- typeRegistry._addProfileType(profileType); |
- profilesPanel._registerProfileType(profileType); |
- } |
- |
- profilesPanel._onProfileTypeSelected({data: profileType}); |
- |
- InspectorTest.override(profileType, "_isSingleFrameMode", function() { return false; }, true /*sticky*/); |
- InspectorTest.addSniffer(profileType, "_didStartCapturingFrame", didStartCapturingFrame); |
- |
- profileType._onProfilerEnableButtonClick(true); |
- InspectorTest.addSniffer(profileType, "_updateDecorationElement", profilesPanel.toggleRecordButton.bind(profilesPanel)); |
- |
- var profileHeader; |
- var profileView; |
- var dataGrid; |
- |
- function didStartCapturingFrame(frameId, error, traceLogId) |
- { |
- profileHeader = profileType.getProfiles()[0] |
- profilesPanel.showProfile(profileHeader); |
- InspectorTest.addSniffer(profileHeader, "_updateCapturingStatus", didReceiveFirstFrame); |
- InspectorTest.evaluateInPage("doSomeCanvasCalls(2)"); |
- } |
- function didReceiveFirstFrame(traceLog) |
- { |
- if (!traceLog || traceLog.calls.length < 2) { |
- InspectorTest.addSniffer(profileHeader, "_updateCapturingStatus", didReceiveFirstFrame); |
- return; |
- } |
- InspectorTest.evaluateInPage("doSomeCanvasCalls(3)", didSecondFrameCalls); |
- } |
- function didSecondFrameCalls() |
- { |
- profileView = profilesPanel.visibleView; |
- dataGrid = profileView._logGrid; |
- InspectorTest.addSniffer(InspectorTest.CanvasAgent, "replayTraceLog", onReplayTraceLog); |
- profilesPanel.toggleRecordButton(); |
- } |
- function onReplayTraceLog(traceLogId, index) |
- { |
- testControlButtons(); |
- |
- InspectorTest.addResult(""); |
- InspectorTest.dumpDataGrid(dataGrid); |
- InspectorTest.completeTest(); |
- } |
- |
- function testControlButtons() |
- { |
- var rootNode = dataGrid.rootNode(); |
- var frameNodes = []; |
- var drawCallGroups = []; |
- var nodes = []; |
- var allNodesFlat = []; |
- |
- frameNodes = frameNodes.concat(rootNode.children); |
- frameNodes.forEach(function(frameNode) { |
- drawCallGroups = drawCallGroups.concat(frameNode.children); |
- }); |
- drawCallGroups.forEach(function(drawCallGroup) { |
- nodes = nodes.concat(drawCallGroup.children); |
- }); |
- for (var node = rootNode; node; node = node.traverseNextNode(false)) { |
- if (node !== rootNode) |
- allNodesFlat.push(node); |
- } |
- allNodesFlat.forEach(function(node) { |
- node.toString = function() |
- { |
- return "Node{" + this.element.textContent + "}"; |
- } |
- }); |
- |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("Total frames: " + frameNodes.length); |
- InspectorTest.addResult("Total draw call groups: " + drawCallGroups.length); |
- InspectorTest.addResult("Total calls: " + nodes.length); |
- InspectorTest.addResult("Total grid nodes: " + allNodesFlat.length); |
- InspectorTest.addResult(""); |
- |
- InspectorTest.assertEquals(frameNodes.peekLast(), dataGrid.selectedNode, "Expected last frame node before testing control buttons"); |
- |
- InspectorTest.addResult("Testing ReplayFirstStepClick"); |
- profileView._onReplayFirstStepClick(); |
- InspectorTest.assertEquals(frameNodes[0], dataGrid.selectedNode); |
- |
- InspectorTest.addResult("Testing ReplayNextStepClick"); |
- for (var i = 0; i < nodes.length + 5; ++i) { |
- profileView._onReplayStepClick(true); |
- InspectorTest.assertEquals(nodes[i] || nodes.peekLast(), dataGrid.selectedNode, "error on index " + i); |
- } |
- |
- InspectorTest.addResult("Testing ReplayPreviousStepClick"); |
- for (var i = nodes.length - 2; i >= -5; --i) { |
- profileView._onReplayStepClick(false); |
- InspectorTest.assertEquals(nodes[i] || nodes[0], dataGrid.selectedNode, "error on index " + i); |
- } |
- |
- allNodesFlat[0].revealAndSelect(); |
- InspectorTest.assertEquals(allNodesFlat[0], dataGrid.selectedNode, "Expected to select the first node before testing ReplayNextDrawingCallClick"); |
- |
- 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] || 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); |
- InspectorTest.assertEquals(frameNodes[i] || frameNodes[0], dataGrid.selectedNode, "error on index " + i); |
- } |
- |
- drawCallGroups[0].revealAndSelect(); |
- 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], 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); |
- } |
- |
- profileView._onReplayLastStepClick(); |
- 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], 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); |
- } |
- |
- nodes[15].revealAndSelect(); |
- InspectorTest.assertEquals(nodes[15], dataGrid.selectedNode, "Expected to select node #20"); |
- |
- InspectorTest.addResult("Testing ReplayNextDrawingCallClick starting on a call node"); |
- 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); |
- } |
- } |
-} |
- |
-</script> |
-</head> |
-<body onload="runTest()"> |
-<p> |
-Tests replay log grid. |
-</p> |
-<a href="https://bugs.webkit.org/show_bug.cgi?id=109592">Bug 109592</a> |
-<canvas id="canvas"></canvas> |
-</body> |
-</html> |