Title: [236972] trunk
- Revision
- 236972
- Author
- drou...@apple.com
- Date
- 2018-10-09 12:04:18 -0700 (Tue, 09 Oct 2018)
Log Message
Web Inspector: REGRESSION: fix canvas test failures after r236952 and r236954
https://bugs.webkit.org/show_bug.cgi?id=190403
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
* UserInterface/Controllers/CanvasManager.js:
(WI.CanvasManager.prototype._removeCanvas):
Clear the `shaderProgramCollection` when a `WI.Canvas` is removed so that a remove event is
fired for each `WI.ShaderProgram`.
LayoutTests:
* inspector/canvas/create-context-webmetal.html:
Fix missing parenthesis.
* inspector/canvas/resources/shaderProgram-utilities.js:
(createProgram):
(TestPage.registerInitializer.awaitProgramAdded):
(TestPage.registerInitializer):
(TestPage.registerInitializer.window.initializeTestSuite):
Replace the `WI.CanvasManager` events (which were removed) with listeners for events on the
specific `WI.Canvas`.
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (236971 => 236972)
--- trunk/LayoutTests/ChangeLog 2018-10-09 18:38:47 UTC (rev 236971)
+++ trunk/LayoutTests/ChangeLog 2018-10-09 19:04:18 UTC (rev 236972)
@@ -1,3 +1,21 @@
+2018-10-09 Devin Rousso <drou...@apple.com>
+
+ Web Inspector: REGRESSION: fix canvas test failures after r236952 and r236954
+ https://bugs.webkit.org/show_bug.cgi?id=190403
+
+ Reviewed by Joseph Pecoraro.
+
+ * inspector/canvas/create-context-webmetal.html:
+ Fix missing parenthesis.
+
+ * inspector/canvas/resources/shaderProgram-utilities.js:
+ (createProgram):
+ (TestPage.registerInitializer.awaitProgramAdded):
+ (TestPage.registerInitializer):
+ (TestPage.registerInitializer.window.initializeTestSuite):
+ Replace the `WI.CanvasManager` events (which were removed) with listeners for events on the
+ specific `WI.Canvas`.
+
2018-10-09 Chris Dumez <cdu...@apple.com>
REGRESSION (Safari 12): Download of Blob URL fails
Modified: trunk/LayoutTests/inspector/canvas/create-context-webmetal.html (236971 => 236972)
--- trunk/LayoutTests/inspector/canvas/create-context-webmetal.html 2018-10-09 18:38:47 UTC (rev 236971)
+++ trunk/LayoutTests/inspector/canvas/create-context-webmetal.html 2018-10-09 19:04:18 UTC (rev 236972)
@@ -23,7 +23,7 @@
contextType: WI.Canvas.ContextType.WebMetal,
});
- addCSSCanvasTestCase(WI.Canvas.ContextType.WebMetal;
+ addCSSCanvasTestCase(WI.Canvas.ContextType.WebMetal);
suite.runTestCasesAndFinish();
}
Modified: trunk/LayoutTests/inspector/canvas/resources/shaderProgram-utilities.js (236971 => 236972)
--- trunk/LayoutTests/inspector/canvas/resources/shaderProgram-utilities.js 2018-10-09 18:38:47 UTC (rev 236971)
+++ trunk/LayoutTests/inspector/canvas/resources/shaderProgram-utilities.js 2018-10-09 19:04:18 UTC (rev 236972)
@@ -2,7 +2,9 @@
let program;
function createProgram(contextType) {
- context = document.createElement("canvas").getContext(contextType);
+ if (!context)
+ context = document.createElement("canvas").getContext(contextType);
+
program = context.createProgram();
}
@@ -45,9 +47,10 @@
let suite = null;
function awaitProgramAdded() {
- return WI.canvasManager.awaitEvent(WI.CanvasManager.Event.ShaderProgramAdded)
+ InspectorTest.assert(WI.canvasManager.canvases.length === 1, "There should only be one canvas.");
+ return WI.canvasManager.canvases[0].shaderProgramCollection.awaitEvent(WI.Collection.Event.ItemAdded)
.then((event) => {
- let program = event.data.program;
+ let program = event.data.item;
InspectorTest.expectThat(program instanceof WI.ShaderProgram, "Added ShaderProgram.");
InspectorTest.expectThat(program.canvas instanceof WI.Canvas, "ShaderProgram should have a parent Canvas.");
return program;
@@ -55,9 +58,10 @@
}
function awaitProgramRemoved() {
- return WI.canvasManager.awaitEvent(WI.CanvasManager.Event.ShaderProgramRemoved)
+ InspectorTest.assert(WI.canvasManager.canvases.length === 1, "There should only be one canvas.");
+ return WI.canvasManager.canvases[0].shaderProgramCollection.awaitEvent(WI.Collection.Event.ItemRemoved)
.then((event) => {
- let program = event.data.program;
+ let program = event.data.item;
InspectorTest.expectThat(program instanceof WI.ShaderProgram, "Removed ShaderProgram.");
InspectorTest.expectThat(program.canvas instanceof WI.Canvas, "ShaderProgram should have a parent Canvas.");
return program;
@@ -71,7 +75,10 @@
name: `${suite.name}.reloadPage`,
description: "Check that ShaderProgramAdded is sent for a program created before CanvasAgent is enabled.",
test(resolve, reject) {
- awaitProgramAdded().then(resolve, reject);
+ // This can't use `awaitEvent` since the promise resolution happens on the next tick.
+ WI.canvasManager.singleFireEventListener(WI.CanvasManager.Event.CanvasAdded, (event) => {
+ awaitProgramAdded().then(resolve, reject);
+ });
InspectorTest.reloadPage();
}
Modified: trunk/Source/WebInspectorUI/ChangeLog (236971 => 236972)
--- trunk/Source/WebInspectorUI/ChangeLog 2018-10-09 18:38:47 UTC (rev 236971)
+++ trunk/Source/WebInspectorUI/ChangeLog 2018-10-09 19:04:18 UTC (rev 236972)
@@ -1,3 +1,15 @@
+2018-10-09 Devin Rousso <drou...@apple.com>
+
+ Web Inspector: REGRESSION: fix canvas test failures after r236952 and r236954
+ https://bugs.webkit.org/show_bug.cgi?id=190403
+
+ Reviewed by Joseph Pecoraro.
+
+ * UserInterface/Controllers/CanvasManager.js:
+ (WI.CanvasManager.prototype._removeCanvas):
+ Clear the `shaderProgramCollection` when a `WI.Canvas` is removed so that a remove event is
+ fired for each `WI.ShaderProgram`.
+
2018-10-08 Justin Fan <justin_...@apple.com>
WebGPU: Rename old WebGPU prototype to WebMetal
Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/CanvasManager.js (236971 => 236972)
--- trunk/Source/WebInspectorUI/UserInterface/Controllers/CanvasManager.js 2018-10-09 18:38:47 UTC (rev 236971)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/CanvasManager.js 2018-10-09 19:04:18 UTC (rev 236972)
@@ -199,6 +199,8 @@
for (let program of canvas.shaderProgramCollection)
this._shaderProgramIdentifierMap.delete(program.identifier);
+ canvas.shaderProgramCollection.clear();
+
for (let recording of canvas.recordingCollection) {
recording.source = null;
recording.createDisplayName(recording.displayName);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes