Title: [250858] trunk/Source/WebInspectorUI
Revision
250858
Author
drou...@apple.com
Date
2019-10-08 13:49:48 -0700 (Tue, 08 Oct 2019)

Log Message

Web Inspector: Canvas: don't show an empty preview for WebGPU devices
https://bugs.webkit.org/show_bug.cgi?id=202679

Reviewed by Matt Baker.

`HTMLCanvasElement.prototype.toDataURL` hasn't been hooked up for `GPUCanvasContext` yet, so
calling `Canvas.requestContent` with a `WebGPUDevice` won't give us any good results.

As such, the Web Inspector frontend should show something slightly more actionable, such as
a more generic non-error "No Preview Available" message.

* UserInterface/Models/Canvas.js:
(WI.Canvas.supportsRequestContentForContextType): Added.
(WI.Canvas.prototype.requestContent):

* UserInterface/Views/CanvasContentView.js:
(WI.CanvasContentView.prototype._showError):

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (250857 => 250858)


--- trunk/Source/WebInspectorUI/ChangeLog	2019-10-08 20:39:13 UTC (rev 250857)
+++ trunk/Source/WebInspectorUI/ChangeLog	2019-10-08 20:49:48 UTC (rev 250858)
@@ -1,5 +1,25 @@
 2019-10-08  Devin Rousso  <drou...@apple.com>
 
+        Web Inspector: Canvas: don't show an empty preview for WebGPU devices
+        https://bugs.webkit.org/show_bug.cgi?id=202679
+
+        Reviewed by Matt Baker.
+
+        `HTMLCanvasElement.prototype.toDataURL` hasn't been hooked up for `GPUCanvasContext` yet, so
+        calling `Canvas.requestContent` with a `WebGPUDevice` won't give us any good results.
+
+        As such, the Web Inspector frontend should show something slightly more actionable, such as
+        a more generic non-error "No Preview Available" message.
+
+        * UserInterface/Models/Canvas.js:
+        (WI.Canvas.supportsRequestContentForContextType): Added.
+        (WI.Canvas.prototype.requestContent):
+
+        * UserInterface/Views/CanvasContentView.js:
+        (WI.CanvasContentView.prototype._showError):
+
+2019-10-08  Devin Rousso  <drou...@apple.com>
+
         Web Inspector: Canvas: unable to click on overview path component when jumping directly to a shader
         https://bugs.webkit.org/show_bug.cgi?id=202682
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Models/Canvas.js (250857 => 250858)


--- trunk/Source/WebInspectorUI/UserInterface/Models/Canvas.js	2019-10-08 20:39:13 UTC (rev 250857)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/Canvas.js	2019-10-08 20:49:48 UTC (rev 250858)
@@ -117,6 +117,16 @@
         Canvas._nextDeviceUniqueDisplayNameNumber = 1;
     }
 
+    static supportsRequestContentForContextType(contextType)
+    {
+        switch (contextType) {
+        case Canvas.ContextType.WebGPU:
+        case Canvas.ContextType.WebMetal:
+            return false;
+        }
+        return true;
+    }
+
     // Public
 
     get identifier() { return this._identifier; }
@@ -199,6 +209,8 @@
 
     requestContent()
     {
+        if (!Canvas.supportsRequestContentForContextType(this._contextType))
+            return Promise.resolve(null);
         return CanvasAgent.requestContent(this._identifier).then((result) => result.content).catch((error) => console.error(error));
     }
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js (250857 => 250858)


--- trunk/Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js	2019-10-08 20:39:13 UTC (rev 250857)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CanvasContentView.js	2019-10-08 20:49:48 UTC (rev 250858)
@@ -248,7 +248,7 @@
             this._previewImageElement.remove();
 
         if (!this._errorElement) {
-            const isError = true;
+            let isError = WI.Canvas.supportsRequestContentForContextType(this.representedObject.contextType);
             this._errorElement = WI.createMessageTextView(WI.UIString("No Preview Available"), isError);
         }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to