Changeset 236972 in webkit


Ignore:
Timestamp:
Oct 9, 2018 12:04:18 PM (6 years ago)
Author:
Devin Rousso
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.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r236970 r236972  
     12018-10-09  Devin Rousso  <drousso@apple.com>
     2
     3        Web Inspector: REGRESSION: fix canvas test failures after r236952 and r236954
     4        https://bugs.webkit.org/show_bug.cgi?id=190403
     5
     6        Reviewed by Joseph Pecoraro.
     7
     8        * inspector/canvas/create-context-webmetal.html:
     9        Fix missing parenthesis.
     10
     11        * inspector/canvas/resources/shaderProgram-utilities.js:
     12        (createProgram):
     13        (TestPage.registerInitializer.awaitProgramAdded):
     14        (TestPage.registerInitializer):
     15        (TestPage.registerInitializer.window.initializeTestSuite):
     16        Replace the `WI.CanvasManager` events (which were removed) with listeners for events on the
     17        specific `WI.Canvas`.
     18
    1192018-10-09  Chris Dumez  <cdumez@apple.com>
    220
  • trunk/LayoutTests/inspector/canvas/create-context-webmetal.html

    r236954 r236972  
    2424    });
    2525
    26     addCSSCanvasTestCase(WI.Canvas.ContextType.WebMetal;
     26    addCSSCanvasTestCase(WI.Canvas.ContextType.WebMetal);
    2727
    2828    suite.runTestCasesAndFinish();
  • trunk/LayoutTests/inspector/canvas/resources/shaderProgram-utilities.js

    r224081 r236972  
    33
    44function createProgram(contextType) {
    5     context = document.createElement("canvas").getContext(contextType);
     5    if (!context)
     6        context = document.createElement("canvas").getContext(contextType);
     7
    68    program = context.createProgram();
    79}
     
    4648
    4749    function awaitProgramAdded() {
    48         return WI.canvasManager.awaitEvent(WI.CanvasManager.Event.ShaderProgramAdded)
     50        InspectorTest.assert(WI.canvasManager.canvases.length === 1, "There should only be one canvas.");
     51        return WI.canvasManager.canvases[0].shaderProgramCollection.awaitEvent(WI.Collection.Event.ItemAdded)
    4952        .then((event) => {
    50             let program = event.data.program;
     53            let program = event.data.item;
    5154            InspectorTest.expectThat(program instanceof WI.ShaderProgram, "Added ShaderProgram.");
    5255            InspectorTest.expectThat(program.canvas instanceof WI.Canvas, "ShaderProgram should have a parent Canvas.");
     
    5659
    5760    function awaitProgramRemoved() {
    58         return WI.canvasManager.awaitEvent(WI.CanvasManager.Event.ShaderProgramRemoved)
     61        InspectorTest.assert(WI.canvasManager.canvases.length === 1, "There should only be one canvas.");
     62        return WI.canvasManager.canvases[0].shaderProgramCollection.awaitEvent(WI.Collection.Event.ItemRemoved)
    5963        .then((event) => {
    60             let program = event.data.program;
     64            let program = event.data.item;
    6165            InspectorTest.expectThat(program instanceof WI.ShaderProgram, "Removed ShaderProgram.");
    6266            InspectorTest.expectThat(program.canvas instanceof WI.Canvas, "ShaderProgram should have a parent Canvas.");
     
    7276            description: "Check that ShaderProgramAdded is sent for a program created before CanvasAgent is enabled.",
    7377            test(resolve, reject) {
    74                 awaitProgramAdded().then(resolve, reject);
     78                // This can't use `awaitEvent` since the promise resolution happens on the next tick.
     79                WI.canvasManager.singleFireEventListener(WI.CanvasManager.Event.CanvasAdded, (event) => {
     80                    awaitProgramAdded().then(resolve, reject);
     81                });
    7582
    7683                InspectorTest.reloadPage();
  • trunk/Source/WebInspectorUI/ChangeLog

    r236954 r236972  
     12018-10-09  Devin Rousso  <drousso@apple.com>
     2
     3        Web Inspector: REGRESSION: fix canvas test failures after r236952 and r236954
     4        https://bugs.webkit.org/show_bug.cgi?id=190403
     5
     6        Reviewed by Joseph Pecoraro.
     7
     8        * UserInterface/Controllers/CanvasManager.js:
     9        (WI.CanvasManager.prototype._removeCanvas):
     10        Clear the `shaderProgramCollection` when a `WI.Canvas` is removed so that a remove event is
     11        fired for each `WI.ShaderProgram`.
     12
    1132018-10-08  Justin Fan  <justin_fan@apple.com>
    214
  • trunk/Source/WebInspectorUI/UserInterface/Controllers/CanvasManager.js

    r236952 r236972  
    200200            this._shaderProgramIdentifierMap.delete(program.identifier);
    201201
     202        canvas.shaderProgramCollection.clear();
     203
    202204        for (let recording of canvas.recordingCollection) {
    203205            recording.source = null;
Note: See TracChangeset for help on using the changeset viewer.