Title: [285384] trunk/Source/WebCore
Revision
285384
Author
[email protected]
Date
2021-11-06 16:17:47 -0700 (Sat, 06 Nov 2021)

Log Message

font-synthesis inline/computed style should be in canonical order.
https://bugs.webkit.org/show_bug.cgi?id=186344

Patch by Joonghun Park <[email protected]> on 2021-11-06
Reviewed by Myles C. Maxfield.

Per the spec, https://drafts.csswg.org/css-fonts/#font-synthesis.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::fontSynthesisFromStyle):
* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeFontSynthesis):

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (285383 => 285384)


--- trunk/Source/WebCore/CMakeLists.txt	2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/CMakeLists.txt	2021-11-06 23:17:47 UTC (rev 285384)
@@ -1487,6 +1487,9 @@
     Modules/WebGPU/GPUBufferBindingType.idl
     Modules/WebGPU/GPUBufferDescriptor.idl
     Modules/WebGPU/GPUBufferUsage.idl
+    Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl
+    Modules/WebGPU/GPUCanvasConfiguration.idl
+    Modules/WebGPU/GPUCanvasContext.idl
     Modules/WebGPU/GPUColorDict.idl
     Modules/WebGPU/GPUColorTargetState.idl
     Modules/WebGPU/GPUColorWrite.idl
@@ -1508,6 +1511,12 @@
     Modules/WebGPU/GPUDepthStencilState.idl
     Modules/WebGPU/GPUDevice.idl
     Modules/WebGPU/GPUDeviceDescriptor.idl
+    Modules/WebGPU/GPUDeviceError.idl
+    Modules/WebGPU/GPUDeviceLost.idl
+    Modules/WebGPU/GPUDeviceLostInfo.idl
+    Modules/WebGPU/GPUDeviceLostReason.idl
+    Modules/WebGPU/GPUDeviceUncapturedError.idl
+    Modules/WebGPU/GPUErrorFilter.idl
     Modules/WebGPU/GPUExtent3DDict.idl
     Modules/WebGPU/GPUExternalTexture.idl
     Modules/WebGPU/GPUExternalTextureBindingLayout.idl
@@ -1529,6 +1538,7 @@
     Modules/WebGPU/GPUObjectDescriptorBase.idl
     Modules/WebGPU/GPUOrigin2DDict.idl
     Modules/WebGPU/GPUOrigin3DDict.idl
+    Modules/WebGPU/GPUOutOfMemoryError.idl
     Modules/WebGPU/GPUPipelineBase.idl
     Modules/WebGPU/GPUPipelineDescriptorBase.idl
     Modules/WebGPU/GPUPipelineLayout.idl
@@ -1584,6 +1594,9 @@
     Modules/WebGPU/GPUTextureView.idl
     Modules/WebGPU/GPUTextureViewDescriptor.idl
     Modules/WebGPU/GPUTextureViewDimension.idl
+    Modules/WebGPU/GPUUncapturedErrorEvent.idl
+    Modules/WebGPU/GPUUncapturedErrorEventInit.idl
+    Modules/WebGPU/GPUValidationError.idl
     Modules/WebGPU/GPUVertexAttribute.idl
     Modules/WebGPU/GPUVertexBufferLayout.idl
     Modules/WebGPU/GPUVertexFormat.idl

Modified: trunk/Source/WebCore/ChangeLog (285383 => 285384)


--- trunk/Source/WebCore/ChangeLog	2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/ChangeLog	2021-11-06 23:17:47 UTC (rev 285384)
@@ -14,6 +14,79 @@
 
 2021-11-05  Myles C. Maxfield  <[email protected]>
 
+        [WebGPU] Bindings Part 8: Bring back the remaining bindings code
+        https://bugs.webkit.org/show_bug.cgi?id=232700
+
+        Reviewed by Dean Jackson.
+
+        This is the last chunk of the bindings code, brought back from r280467.
+        This chunk includes all of the remaining pieces.
+        The objects have no methods in them - those will come later.
+
+        No new tests because there is no behavior change yet.
+
+        * CMakeLists.txt:
+        * DerivedSources-input.xcfilelist:
+        * DerivedSources-output.xcfilelist:
+        * DerivedSources.make:
+        * Modules/WebGPU/GPUCanvasCompositingAlphaMode.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUCanvasConfiguration.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUCanvasConfiguration.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUCanvasContext.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        (WebCore::GPUCanvasContext::canvas):
+        (WebCore::GPUCanvasContext::configure):
+        (WebCore::GPUCanvasContext::unconfigure):
+        (WebCore::GPUCanvasContext::getPreferredFormat):
+        (WebCore::GPUCanvasContext::getCurrentTexture):
+        * Modules/WebGPU/GPUCanvasContext.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        (WebCore::GPUCanvasContext::create):
+        * Modules/WebGPU/GPUCanvasContext.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUCommandBuffer.h:
+        (WebCore::GPUCommandBuffer::GPUCommandBuffer): Deleted.
+        * Modules/WebGPU/GPUDevice.cpp:
+        (WebCore::GPUDevice::pushErrorScope):
+        (WebCore::GPUDevice::popErrorScope):
+        * Modules/WebGPU/GPUDevice.h:
+        (WebCore::GPUDevice::lost):
+        * Modules/WebGPU/GPUDeviceError.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUDeviceLost.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUDeviceLostInfo.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        (WebCore::GPUDeviceLostInfo::GPUDeviceLostInfo):
+        (WebCore::GPUDeviceLostInfo::reason const):
+        (WebCore::GPUDeviceLostInfo::message const):
+        * Modules/WebGPU/GPUDeviceLostInfo.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        (WebCore::GPUDeviceLostInfo::create):
+        * Modules/WebGPU/GPUDeviceLostInfo.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUDeviceLostReason.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUDeviceLostReason.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUDeviceUncapturedError.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUError.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUErrorFilter.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUErrorFilter.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUOutOfMemoryError.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        (WebCore::GPUOutOfMemoryError::create):
+        * Modules/WebGPU/GPUOutOfMemoryError.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUUncapturedErrorEvent.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        (WebCore::GPUUncapturedErrorEvent::GPUUncapturedErrorEvent):
+        (WebCore::GPUUncapturedErrorEvent::error const):
+        * Modules/WebGPU/GPUUncapturedErrorEvent.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        (WebCore::GPUUncapturedErrorEvent::create):
+        * Modules/WebGPU/GPUUncapturedErrorEvent.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUUncapturedErrorEventInit.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUUncapturedErrorEventInit.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Modules/WebGPU/GPUValidationError.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        (WebCore::GPUValidationError::GPUValidationError):
+        (WebCore::GPUValidationError::message const):
+        * Modules/WebGPU/GPUValidationError.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        (WebCore::GPUValidationError::create):
+        * Modules/WebGPU/GPUValidationError.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/WebCoreBuiltinNames.h:
+
+2021-11-05  Myles C. Maxfield  <[email protected]>
+
         [WebGPU] Bindings Part 7: Bring back command encoder bindings code
         https://bugs.webkit.org/show_bug.cgi?id=232661
 

Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (285383 => 285384)


--- trunk/Source/WebCore/DerivedSources-input.xcfilelist	2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/DerivedSources-input.xcfilelist	2021-11-06 23:17:47 UTC (rev 285384)
@@ -40,6 +40,9 @@
 $(PROJECT_DIR)/Modules/WebGPU/GPUBufferBindingType.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUBufferDescriptor.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUBufferUsage.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUCanvasConfiguration.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUCanvasContext.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUColorDict.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUColorTargetState.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUColorWrite.idl
@@ -61,6 +64,12 @@
 $(PROJECT_DIR)/Modules/WebGPU/GPUDepthStencilState.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUDevice.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUDeviceDescriptor.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUDeviceError.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUDeviceLost.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUDeviceLostInfo.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUDeviceLostReason.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUDeviceUncapturedError.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUErrorFilter.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUExtent3DDict.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUExternalTexture.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUExternalTextureBindingLayout.idl
@@ -82,6 +91,7 @@
 $(PROJECT_DIR)/Modules/WebGPU/GPUObjectDescriptorBase.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUOrigin2DDict.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUOrigin3DDict.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUOutOfMemoryError.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUPipelineBase.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUPipelineDescriptorBase.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUPipelineLayout.idl
@@ -138,6 +148,9 @@
 $(PROJECT_DIR)/Modules/WebGPU/GPUTextureView.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUTextureViewDescriptor.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUTextureViewDimension.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUUncapturedErrorEvent.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUUncapturedErrorEventInit.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUValidationError.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUVertexAttribute.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUVertexBufferLayout.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUVertexFormat.idl

Modified: trunk/Source/WebCore/DerivedSources-output.xcfilelist (285383 => 285384)


--- trunk/Source/WebCore/DerivedSources-output.xcfilelist	2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/DerivedSources-output.xcfilelist	2021-11-06 23:17:47 UTC (rev 285384)
@@ -905,6 +905,12 @@
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBufferDescriptor.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBufferUsage.cpp
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBufferUsage.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCanvasCompositingAlphaMode.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCanvasCompositingAlphaMode.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCanvasConfiguration.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCanvasConfiguration.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCanvasContext.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCanvasContext.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUColorDict.cpp
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUColorDict.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUColorTargetState.cpp
@@ -947,6 +953,18 @@
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDevice.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceDescriptor.cpp
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceDescriptor.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceError.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceError.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceLost.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceLost.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceLostInfo.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceLostInfo.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceLostReason.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceLostReason.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceUncapturedError.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceUncapturedError.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUErrorFilter.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUErrorFilter.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUExtent3DDict.cpp
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUExtent3DDict.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUExternalTexture.cpp
@@ -989,6 +1007,8 @@
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUOrigin2DDict.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUOrigin3DDict.cpp
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUOrigin3DDict.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUOutOfMemoryError.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUOutOfMemoryError.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineBase.cpp
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineBase.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineDescriptorBase.cpp
@@ -1101,6 +1121,12 @@
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureViewDescriptor.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureViewDimension.cpp
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureViewDimension.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUUncapturedErrorEvent.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUUncapturedErrorEvent.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUUncapturedErrorEventInit.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUUncapturedErrorEventInit.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUValidationError.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUValidationError.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexAttribute.cpp
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexAttribute.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexBufferLayout.cpp

Modified: trunk/Source/WebCore/DerivedSources.make (285383 => 285384)


--- trunk/Source/WebCore/DerivedSources.make	2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/DerivedSources.make	2021-11-06 23:17:47 UTC (rev 285384)
@@ -72,6 +72,9 @@
     $(WebCore)/Modules/WebGPU/GPUBufferBindingType.idl \
     $(WebCore)/Modules/WebGPU/GPUBufferDescriptor.idl \
     $(WebCore)/Modules/WebGPU/GPUBufferUsage.idl \
+    $(WebCore)/Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl \
+    $(WebCore)/Modules/WebGPU/GPUCanvasConfiguration.idl \
+    $(WebCore)/Modules/WebGPU/GPUCanvasContext.idl \
     $(WebCore)/Modules/WebGPU/GPUColorDict.idl \
     $(WebCore)/Modules/WebGPU/GPUColorTargetState.idl \
     $(WebCore)/Modules/WebGPU/GPUColorWrite.idl \
@@ -93,6 +96,12 @@
     $(WebCore)/Modules/WebGPU/GPUDepthStencilState.idl \
     $(WebCore)/Modules/WebGPU/GPUDevice.idl \
     $(WebCore)/Modules/WebGPU/GPUDeviceDescriptor.idl \
+    $(WebCore)/Modules/WebGPU/GPUDeviceError.idl \
+    $(WebCore)/Modules/WebGPU/GPUDeviceLost.idl \
+    $(WebCore)/Modules/WebGPU/GPUDeviceLostInfo.idl \
+    $(WebCore)/Modules/WebGPU/GPUDeviceLostReason.idl \
+    $(WebCore)/Modules/WebGPU/GPUDeviceUncapturedError.idl \
+    $(WebCore)/Modules/WebGPU/GPUErrorFilter.idl \
     $(WebCore)/Modules/WebGPU/GPUExtent3DDict.idl \
     $(WebCore)/Modules/WebGPU/GPUExternalTexture.idl \
     $(WebCore)/Modules/WebGPU/GPUExternalTextureBindingLayout.idl \
@@ -114,6 +123,7 @@
     $(WebCore)/Modules/WebGPU/GPUObjectDescriptorBase.idl \
     $(WebCore)/Modules/WebGPU/GPUOrigin2DDict.idl \
     $(WebCore)/Modules/WebGPU/GPUOrigin3DDict.idl \
+    $(WebCore)/Modules/WebGPU/GPUOutOfMemoryError.idl \
     $(WebCore)/Modules/WebGPU/GPUPipelineBase.idl \
     $(WebCore)/Modules/WebGPU/GPUPipelineDescriptorBase.idl \
     $(WebCore)/Modules/WebGPU/GPUPipelineLayout.idl \
@@ -169,6 +179,9 @@
     $(WebCore)/Modules/WebGPU/GPUTextureView.idl \
     $(WebCore)/Modules/WebGPU/GPUTextureViewDescriptor.idl \
     $(WebCore)/Modules/WebGPU/GPUTextureViewDimension.idl \
+    $(WebCore)/Modules/WebGPU/GPUUncapturedErrorEvent.idl \
+    $(WebCore)/Modules/WebGPU/GPUUncapturedErrorEventInit.idl \
+    $(WebCore)/Modules/WebGPU/GPUValidationError.idl \
     $(WebCore)/Modules/WebGPU/GPUVertexAttribute.idl \
     $(WebCore)/Modules/WebGPU/GPUVertexBufferLayout.idl \
     $(WebCore)/Modules/WebGPU/GPUVertexFormat.idl \

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUCanvasCompositingAlphaMode : uint8_t {
+    Opaque,
+    Premultiplied
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpucanvascompositingalphamode
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUCanvasCompositingAlphaMode {
+    "opaque",
+    "premultiplied"
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUCanvasCompositingAlphaMode.h"
+#include "GPUDevice.h"
+#include "GPUExtent3DDict.h"
+#include "GPUPredefinedColorSpace.h"
+#include "GPUTextureFormat.h"
+#include <cstdint>
+#include <optional>
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+using GPUTextureUsageFlags = uint32_t; // FIXME: This doesn't need to be here.
+
+struct GPUCanvasConfiguration {
+    RefPtr<GPUDevice> device;
+    GPUTextureFormat format;
+    GPUTextureUsageFlags usage; // GPUTextureUsage.RENDER_ATTACHMENT
+    GPUPredefinedColorSpace colorSpace;
+    GPUCanvasCompositingAlphaMode compositingAlphaMode;
+    std::optional<GPUExtent3D> size;
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpucanvasconfiguration
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 These shouldn't need to be here.
+typedef [EnforceRange] unsigned long GPUTextureUsageFlags;
+typedef [EnforceRange] unsigned long GPUIntegerCoordinate;
+typedef (sequence<GPUIntegerCoordinate> or GPUExtent3DDict) GPUExtent3D;
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUCanvasConfiguration {
+    required GPUDevice device;
+    required GPUTextureFormat format;
+    GPUTextureUsageFlags usage = 0x10;  // GPUTextureUsage.RENDER_ATTACHMENT
+    GPUPredefinedColorSpace colorSpace = "srgb";
+    GPUCanvasCompositingAlphaMode compositingAlphaMode = "opaque";
+    GPUExtent3D size;
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.cpp (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.cpp	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.cpp	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "GPUCanvasContext.h"
+
+#include "GPUAdapter.h"
+#include "GPUCanvasConfiguration.h"
+
+namespace WebCore {
+
+RefPtr<HTMLCanvasElement> GPUCanvasContext::canvas()
+{
+    return { };
+}
+
+void GPUCanvasContext::configure(const GPUCanvasConfiguration&)
+{
+
+}
+
+void GPUCanvasContext::unconfigure()
+{
+}
+
+GPUTextureFormat GPUCanvasContext::getPreferredFormat(const GPUAdapter&)
+{
+    return GPUTextureFormat::Rgba8unorm;
+}
+
+RefPtr<GPUTexture> GPUCanvasContext::getCurrentTexture()
+{
+    return nullptr;
+}
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUTexture.h"
+#include "GPUTextureFormat.h"
+#include "HTMLCanvasElement.h"
+#include "OffscreenCanvas.h"
+#include <variant>
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+class GPUAdapter;
+struct GPUCanvasConfiguration;
+
+class GPUCanvasContext : public RefCounted<GPUCanvasContext> {
+public:
+    static Ref<GPUCanvasContext> create()
+    {
+        return adoptRef(*new GPUCanvasContext());
+    }
+
+    RefPtr<HTMLCanvasElement> canvas();
+
+    void configure(const GPUCanvasConfiguration&);
+    void unconfigure();
+
+    GPUTextureFormat getPreferredFormat(const GPUAdapter&);
+    RefPtr<GPUTexture> getCurrentTexture();
+
+private:
+    GPUCanvasContext() = default;
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpucanvascontext
+
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPUCanvasContext {
+    readonly attribute HTMLCanvasElement canvas; // FIXME: OffscreenCanvas doesn't seem to work with our bindings here.
+
+    undefined configure(GPUCanvasConfiguration configuration);
+    undefined unconfigure();
+
+    GPUTextureFormat getPreferredFormat(GPUAdapter adapter);
+    GPUTexture getCurrentTexture();
+};

Modified: trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h (285383 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h	2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -42,9 +42,7 @@
     void setLabel(String&&);
 
 private:
-    GPUCommandBuffer()
-    {
-    }
+    GPUCommandBuffer() = default;
 };
 
 }

Modified: trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp (285383 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp	2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp	2021-11-06 23:17:47 UTC (rev 285384)
@@ -155,4 +155,12 @@
     return GPUQuerySet::create();
 }
 
+void GPUDevice::pushErrorScope(GPUErrorFilter)
+{
 }
+
+void GPUDevice::popErrorScope(ErrorScopePromise&&)
+{
+}
+
+}

Modified: trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h (285383 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h	2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -26,8 +26,12 @@
 #pragma once
 
 #include "ActiveDOMObject.h"
+#include "DOMPromiseProxy.h"
 #include "EventTarget.h"
 #include "GPUComputePipeline.h"
+#include "GPUDeviceLostInfo.h"
+#include "GPUError.h"
+#include "GPUErrorFilter.h"
 #include "GPURenderPipeline.h"
 #include "JSDOMPromiseDeferred.h"
 #include "ScriptExecutionContext.h"
@@ -107,6 +111,13 @@
 
     Ref<GPUQuerySet> createQuerySet(const GPUQuerySetDescriptor&);
 
+    void pushErrorScope(GPUErrorFilter);
+    using ErrorScopePromise = DOMPromiseDeferred<IDLNullable<IDLInterface<GPUError>>>;
+    void popErrorScope(ErrorScopePromise&&);
+
+    using LostPromise = DOMPromiseProxy<IDLInterface<GPUDeviceLostInfo>>;
+    LostPromise& lost() { return m_lostPromise; }
+ 
 private:
     GPUDevice(ScriptExecutionContext* scriptExecutionContext)
         : ActiveDOMObject { scriptExecutionContext }
@@ -122,6 +133,8 @@
     ScriptExecutionContext* scriptExecutionContext() const final { return ActiveDOMObject::scriptExecutionContext(); }
     void refEventTarget() final { ref(); }
     void derefEventTarget() final { deref(); }
+
+    LostPromise m_lostPromise;
 };
 
 }

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceError.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceError.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceError.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#ref-for-gpudevice⑤⓪
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 This shouldn't need to be here.
+typedef (GPUOutOfMemoryError or GPUValidationError) GPUError;
+
+partial interface GPUDevice {
+    undefined pushErrorScope(GPUErrorFilter filter);
+    Promise<GPUError?> popErrorScope();
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLost.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLost.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLost.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#ref-for-gpudevice④⑨
+
+partial interface GPUDevice {
+    readonly attribute Promise<GPUDeviceLostInfo> lost;
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.cpp (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.cpp	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.cpp	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "GPUDeviceLostInfo.h"
+
+namespace WebCore {
+
+GPUDeviceLostInfo::GPUDeviceLostInfo(Reason&&, String&& message)
+{
+    UNUSED_PARAM(message);
+}
+
+auto GPUDeviceLostInfo::reason() const -> Reason
+{
+    return std::nullopt;
+}
+
+String GPUDeviceLostInfo::message() const
+{
+    return StringImpl::empty();
+}
+
+}
+
+

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUDeviceLostReason.h"
+#include <optional>
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class GPUDeviceLostInfo : public RefCounted<GPUDeviceLostInfo> {
+public:
+    using Reason = std::optional<GPUDeviceLostReason>;
+
+    static Ref<GPUDeviceLostInfo> create(Reason&& reason, String&& message)
+    {
+        return adoptRef(*new GPUDeviceLostInfo(WTFMove(reason), WTFMove(message)));
+    }
+
+    Reason reason() const;
+    String message() const;
+
+private:
+    GPUDeviceLostInfo(Reason&&, String&& message);
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpudevicelostinfo
+
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPUDeviceLostInfo {
+    readonly attribute GPUDeviceLostReason? reason; // FIXME: This is supposed to be (GPUDeviceLostReason or undefined)
+    readonly attribute DOMString message;
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUDeviceLostReason : uint8_t {
+    Destroyed
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpudevicelostreason
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUDeviceLostReason {
+    "destroyed"
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceUncapturedError.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceUncapturedError.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceUncapturedError.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+partial interface GPUDevice {
+    [Exposed=(Window, DedicatedWorker)]
+    attribute EventHandler onuncapturederror;
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUError.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUError.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUError.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUOutOfMemoryError.h"
+#include "GPUValidationError.h"
+#include <variant>
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+using GPUError = std::variant<RefPtr<GPUOutOfMemoryError>, RefPtr<GPUValidationError>>;
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUErrorFilter.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUErrorFilter.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUErrorFilter.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUErrorFilter : uint8_t {
+    OutOfMemory,
+    Validation
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUErrorFilter.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUErrorFilter.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUErrorFilter.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpuerrorfilter
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUErrorFilter {
+    "out-of-memory",
+    "validation"
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class GPUOutOfMemoryError : public RefCounted<GPUOutOfMemoryError> {
+public:
+    static Ref<GPUOutOfMemoryError> create()
+    {
+        return adoptRef(*new GPUOutOfMemoryError());
+    }
+
+private:
+    GPUOutOfMemoryError() = default;
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpuoutofmemoryerror
+
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPUOutOfMemoryError {
+    constructor();
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.cpp (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.cpp	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.cpp	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "GPUUncapturedErrorEvent.h"
+
+namespace WebCore {
+
+GPUUncapturedErrorEvent::GPUUncapturedErrorEvent(String&& type, const GPUUncapturedErrorEventInit&)
+{
+    UNUSED_PARAM(type);
+}
+
+GPUError GPUUncapturedErrorEvent::error() const
+{
+    return RefPtr<GPUOutOfMemoryError>(GPUOutOfMemoryError::create());
+}
+
+}
+
+

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "Event.h"
+#include "GPUError.h"
+#include "GPUUncapturedErrorEventInit.h"
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class GPUUncapturedErrorEvent : public Event {
+public:
+    static Ref<GPUUncapturedErrorEvent> create(String&& type, const GPUUncapturedErrorEventInit& gpuUncapturedErrorEventInitDict)
+    {
+        return adoptRef(*new GPUUncapturedErrorEvent(WTFMove(type), gpuUncapturedErrorEventInitDict));
+    }
+
+    GPUError error() const;
+
+private:
+    GPUUncapturedErrorEvent(String&& type, const GPUUncapturedErrorEventInit&);
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpuuncapturederrorevent
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 This shouldn't need to be here.
+typedef (GPUOutOfMemoryError or GPUValidationError) GPUError;
+
+[
+    EnabledBySetting=WebGPU,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPUUncapturedErrorEvent : Event {
+    constructor(
+        DOMString type,
+        GPUUncapturedErrorEventInit gpuUncapturedErrorEventInitDict
+    );
+    [SameObject] readonly attribute GPUError error;
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEventInit.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEventInit.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEventInit.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "EventInit.h"
+#include "GPUError.h"
+
+namespace WebCore {
+
+struct GPUUncapturedErrorEventInit : public EventInit {
+    GPUError error;
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEventInit.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEventInit.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEventInit.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpuuncapturederroreventinit
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 This shouldn't need to be here.
+typedef (GPUOutOfMemoryError or GPUValidationError) GPUError;
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUUncapturedErrorEventInit : EventInit {
+    required GPUError error;
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.cpp (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.cpp	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.cpp	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "GPUValidationError.h"
+
+namespace WebCore {
+
+GPUValidationError::GPUValidationError(String&& message)
+{
+    UNUSED_PARAM(message);
+}
+
+String GPUValidationError::message() const
+{
+    return StringImpl::empty();
+}
+
+}
+
+

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class GPUValidationError : public RefCounted<GPUValidationError> {
+public:
+    static Ref<GPUValidationError> create(String&& message)
+    {
+        return adoptRef(*new GPUValidationError(WTFMove(message)));
+    }
+
+    String message() const;
+
+private:
+    GPUValidationError(String&& message);
+
+    String m_message;
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)


--- trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.idl	2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPUValidationError {
+    constructor(DOMString message);
+    readonly attribute DOMString message;
+};

Modified: trunk/Source/WebCore/Sources.txt (285383 => 285384)


--- trunk/Source/WebCore/Sources.txt	2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/Sources.txt	2021-11-06 23:17:47 UTC (rev 285384)
@@ -26,6 +26,7 @@
 Modules/WebGPU/GPUBindGroup.cpp
 Modules/WebGPU/GPUBindGroupLayout.cpp
 Modules/WebGPU/GPUBuffer.cpp
+Modules/WebGPU/GPUCanvasContext.cpp
 Modules/WebGPU/GPUCommandBuffer.cpp
 Modules/WebGPU/GPUCommandEncoder.cpp
 Modules/WebGPU/GPUCompilationInfo.cpp
@@ -33,6 +34,7 @@
 Modules/WebGPU/GPUComputePassEncoder.cpp
 Modules/WebGPU/GPUComputePipeline.cpp
 Modules/WebGPU/GPUDevice.cpp
+Modules/WebGPU/GPUDeviceLostInfo.cpp
 Modules/WebGPU/GPUExternalTexture.cpp
 Modules/WebGPU/GPUPipelineLayout.cpp
 Modules/WebGPU/GPUQuerySet.cpp
@@ -47,6 +49,8 @@
 Modules/WebGPU/GPUSupportedLimits.cpp
 Modules/WebGPU/GPUTexture.cpp
 Modules/WebGPU/GPUTextureView.cpp
+Modules/WebGPU/GPUUncapturedErrorEvent.cpp
+Modules/WebGPU/GPUValidationError.cpp
 Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp
 Modules/applicationmanifest/ApplicationManifestParser.cpp
 Modules/async-clipboard/Clipboard.cpp
@@ -3110,6 +3114,9 @@
 JSGPUBufferBindingType.cpp
 JSGPUBufferDescriptor.cpp
 JSGPUBufferUsage.cpp
+JSGPUCanvasCompositingAlphaMode.cpp
+JSGPUCanvasConfiguration.cpp
+JSGPUCanvasContext.cpp
 JSGPUColorDict.cpp
 JSGPUColorTargetState.cpp
 JSGPUColorWrite.cpp
@@ -3131,6 +3138,12 @@
 JSGPUDepthStencilState.cpp
 JSGPUDevice.cpp
 JSGPUDeviceDescriptor.cpp
+JSGPUDeviceError.cpp
+JSGPUDeviceLost.cpp
+JSGPUDeviceLostInfo.cpp
+JSGPUDeviceLostReason.cpp
+JSGPUDeviceUncapturedError.cpp
+JSGPUErrorFilter.cpp
 JSGPUExtent3DDict.cpp
 JSGPUExternalTexture.cpp
 JSGPUExternalTextureBindingLayout.cpp
@@ -3152,6 +3165,7 @@
 JSGPUObjectDescriptorBase.cpp
 JSGPUOrigin2DDict.cpp
 JSGPUOrigin3DDict.cpp
+JSGPUOutOfMemoryError.cpp
 JSGPUPipelineBase.cpp
 JSGPUPipelineDescriptorBase.cpp
 JSGPUPipelineLayout.cpp
@@ -3207,6 +3221,9 @@
 JSGPUTextureView.cpp
 JSGPUTextureViewDescriptor.cpp
 JSGPUTextureViewDimension.cpp
+JSGPUUncapturedErrorEvent.cpp
+JSGPUUncapturedErrorEventInit.cpp
+JSGPUValidationError.cpp
 JSGPUVertexAttribute.cpp
 JSGPUVertexBufferLayout.cpp
 JSGPUVertexFormat.cpp

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (285383 => 285384)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2021-11-06 23:17:47 UTC (rev 285384)
@@ -7056,6 +7056,34 @@
 		1C289582272F48F200B3E2B4 /* GPUPowerPreference.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUPowerPreference.h; sourceTree = "<group>"; };
 		1C289589272F5AC700B3E2B4 /* GPUObjectDescriptorBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUObjectDescriptorBase.h; sourceTree = "<group>"; };
 		1C28958B272F5AF500B3E2B4 /* GPUPredefinedColorSpace.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUPredefinedColorSpace.h; sourceTree = "<group>"; };
+		1C2C218527353584009ECA32 /* GPUUncapturedErrorEventInit.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUUncapturedErrorEventInit.idl; sourceTree = "<group>"; };
+		1C2C218727353584009ECA32 /* GPUCanvasConfiguration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUCanvasConfiguration.h; sourceTree = "<group>"; };
+		1C2C218827353584009ECA32 /* GPUErrorFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUErrorFilter.h; sourceTree = "<group>"; };
+		1C2C218A27353585009ECA32 /* GPUCanvasContext.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUCanvasContext.idl; sourceTree = "<group>"; };
+		1C2C218B27353586009ECA32 /* GPUDeviceLostInfo.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUDeviceLostInfo.idl; sourceTree = "<group>"; };
+		1C2C218D27353586009ECA32 /* GPUDeviceLostInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUDeviceLostInfo.h; sourceTree = "<group>"; };
+		1C2C218E27353587009ECA32 /* GPUValidationError.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUValidationError.idl; sourceTree = "<group>"; };
+		1C2C218F27353587009ECA32 /* GPUCanvasContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUCanvasContext.h; sourceTree = "<group>"; };
+		1C2C219027353588009ECA32 /* GPUErrorFilter.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUErrorFilter.idl; sourceTree = "<group>"; };
+		1C2C219127353588009ECA32 /* GPUCanvasCompositingAlphaMode.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUCanvasCompositingAlphaMode.idl; sourceTree = "<group>"; };
+		1C2C219227353588009ECA32 /* GPUOutOfMemoryError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUOutOfMemoryError.h; sourceTree = "<group>"; };
+		1C2C219327353589009ECA32 /* GPUDeviceLostReason.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUDeviceLostReason.idl; sourceTree = "<group>"; };
+		1C2C219427353589009ECA32 /* GPUCanvasConfiguration.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUCanvasConfiguration.idl; sourceTree = "<group>"; };
+		1C2C219527353589009ECA32 /* GPUCanvasCompositingAlphaMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUCanvasCompositingAlphaMode.h; sourceTree = "<group>"; };
+		1C2C21962735358A009ECA32 /* GPUCanvasContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUCanvasContext.cpp; sourceTree = "<group>"; };
+		1C2C21972735358A009ECA32 /* GPUUncapturedErrorEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUUncapturedErrorEvent.h; sourceTree = "<group>"; };
+		1C2C21982735358B009ECA32 /* GPUValidationError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUValidationError.h; sourceTree = "<group>"; };
+		1C2C21992735358B009ECA32 /* GPUError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUError.h; sourceTree = "<group>"; };
+		1C2C219A2735358B009ECA32 /* GPUDeviceLostReason.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUDeviceLostReason.h; sourceTree = "<group>"; };
+		1C2C219B2735358C009ECA32 /* GPUDeviceUncapturedError.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUDeviceUncapturedError.idl; sourceTree = "<group>"; };
+		1C2C219C2735358C009ECA32 /* GPUOutOfMemoryError.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUOutOfMemoryError.idl; sourceTree = "<group>"; };
+		1C2C219D2735358D009ECA32 /* GPUUncapturedErrorEventInit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUUncapturedErrorEventInit.h; sourceTree = "<group>"; };
+		1C2C219E2735358D009ECA32 /* GPUUncapturedErrorEvent.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUUncapturedErrorEvent.idl; sourceTree = "<group>"; };
+		1C2C21A02735377D009ECA32 /* GPUDeviceLostInfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUDeviceLostInfo.cpp; sourceTree = "<group>"; };
+		1C2C21A2273537E9009ECA32 /* GPUUncapturedErrorEvent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUUncapturedErrorEvent.cpp; sourceTree = "<group>"; };
+		1C2C21A32735386C009ECA32 /* GPUValidationError.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUValidationError.cpp; sourceTree = "<group>"; };
+		1C2C21A527353D1F009ECA32 /* GPUDeviceError.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUDeviceError.idl; sourceTree = "<group>"; };
+		1C2C21A727353D2C009ECA32 /* GPUDeviceLost.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUDeviceLost.idl; sourceTree = "<group>"; };
 		1C3249101C6D6A3B007EDB32 /* FontVariantBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontVariantBuilder.cpp; sourceTree = "<group>"; };
 		1C3969CF1B74211E002BCFA7 /* FontCacheCoreText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontCacheCoreText.cpp; sourceTree = "<group>"; };
 		1C43DE6822AB4B8A001527D9 /* LocalCurrentTraitCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalCurrentTraitCollection.h; sourceTree = "<group>"; };
@@ -19379,6 +19407,13 @@
 				1C8127892734C5F70068864F /* GPUBufferDescriptor.idl */,
 				1C8127832734C5F50068864F /* GPUBufferUsage.h */,
 				1C8127862734C5F60068864F /* GPUBufferUsage.idl */,
+				1C2C219527353589009ECA32 /* GPUCanvasCompositingAlphaMode.h */,
+				1C2C219127353588009ECA32 /* GPUCanvasCompositingAlphaMode.idl */,
+				1C2C218727353584009ECA32 /* GPUCanvasConfiguration.h */,
+				1C2C219427353589009ECA32 /* GPUCanvasConfiguration.idl */,
+				1C2C21962735358A009ECA32 /* GPUCanvasContext.cpp */,
+				1C2C218F27353587009ECA32 /* GPUCanvasContext.h */,
+				1C2C218A27353585009ECA32 /* GPUCanvasContext.idl */,
 				1CA4FD1427351FC10027FD5A /* GPUColorDict.h */,
 				1CA4FCF027351FB30027FD5A /* GPUColorDict.idl */,
 				1CA4FCB227350CEA0027FD5A /* GPUColorTargetState.h */,
@@ -19428,6 +19463,17 @@
 				1C28956E272F283800B3E2B4 /* GPUDevice.idl */,
 				1C28957C272F407800B3E2B4 /* GPUDeviceDescriptor.h */,
 				1C28956C272F27DA00B3E2B4 /* GPUDeviceDescriptor.idl */,
+				1C2C21A527353D1F009ECA32 /* GPUDeviceError.idl */,
+				1C2C21A727353D2C009ECA32 /* GPUDeviceLost.idl */,
+				1C2C21A02735377D009ECA32 /* GPUDeviceLostInfo.cpp */,
+				1C2C218D27353586009ECA32 /* GPUDeviceLostInfo.h */,
+				1C2C218B27353586009ECA32 /* GPUDeviceLostInfo.idl */,
+				1C2C219A2735358B009ECA32 /* GPUDeviceLostReason.h */,
+				1C2C219327353589009ECA32 /* GPUDeviceLostReason.idl */,
+				1C2C219B2735358C009ECA32 /* GPUDeviceUncapturedError.idl */,
+				1C2C21992735358B009ECA32 /* GPUError.h */,
+				1C2C218827353584009ECA32 /* GPUErrorFilter.h */,
+				1C2C219027353588009ECA32 /* GPUErrorFilter.idl */,
 				1C81279B2734D8970068864F /* GPUExtent3DDict.h */,
 				1C8127B02734D8A00068864F /* GPUExtent3DDict.idl */,
 				1C8127B42734DE0D0068864F /* GPUExternalTexture.cpp */,
@@ -19471,6 +19517,8 @@
 				1CA4FD1B27351FC40027FD5A /* GPUOrigin2DDict.idl */,
 				1CA4FD1227351FC00027FD5A /* GPUOrigin3DDict.h */,
 				1CA4FD3227351FCD0027FD5A /* GPUOrigin3DDict.idl */,
+				1C2C219227353588009ECA32 /* GPUOutOfMemoryError.h */,
+				1C2C219C2735358C009ECA32 /* GPUOutOfMemoryError.idl */,
 				1CA4FCB627350CEC0027FD5A /* GPUPipelineBase.idl */,
 				1CA4FCC427350CF10027FD5A /* GPUPipelineDescriptorBase.h */,
 				1CA4FCB927350CED0027FD5A /* GPUPipelineDescriptorBase.idl */,
@@ -19591,6 +19639,14 @@
 				1C8127B22734D8A10068864F /* GPUTextureViewDescriptor.idl */,
 				1C8127A62734D89C0068864F /* GPUTextureViewDimension.h */,
 				1C8127AB2734D89E0068864F /* GPUTextureViewDimension.idl */,
+				1C2C21A2273537E9009ECA32 /* GPUUncapturedErrorEvent.cpp */,
+				1C2C21972735358A009ECA32 /* GPUUncapturedErrorEvent.h */,
+				1C2C219E2735358D009ECA32 /* GPUUncapturedErrorEvent.idl */,
+				1C2C219D2735358D009ECA32 /* GPUUncapturedErrorEventInit.h */,
+				1C2C218527353584009ECA32 /* GPUUncapturedErrorEventInit.idl */,
+				1C2C21A32735386C009ECA32 /* GPUValidationError.cpp */,
+				1C2C21982735358B009ECA32 /* GPUValidationError.h */,
+				1C2C218E27353587009ECA32 /* GPUValidationError.idl */,
 				1CA4FCBC27350CEE0027FD5A /* GPUVertexAttribute.h */,
 				1CA4FCAB27350CE80027FD5A /* GPUVertexAttribute.idl */,
 				1CA4FCAA27350CE70027FD5A /* GPUVertexBufferLayout.h */,

Modified: trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h (285383 => 285384)


--- trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h	2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h	2021-11-06 23:17:47 UTC (rev 285384)
@@ -132,6 +132,7 @@
     macro(GPUBindGroupLayout) \
     macro(GPUBuffer) \
     macro(GPUBufferUsage) \
+    macro(GPUCanvasContext) \
     macro(GPUColorWrite) \
     macro(GPUCommandBuffer) \
     macro(GPUCommandEncoder) \
@@ -140,8 +141,10 @@
     macro(GPUComputePassEncoder) \
     macro(GPUComputePipeline) \
     macro(GPUDevice) \
+    macro(GPUDeviceLostInfo) \
     macro(GPUExternalTexture) \
     macro(GPUMapMode) \
+    macro(GPUOutOfMemoryError) \
     macro(GPUPipelineLayout) \
     macro(GPUQuerySet) \
     macro(GPUQueue) \
@@ -157,6 +160,8 @@
     macro(GPUTexture) \
     macro(GPUTextureUsage) \
     macro(GPUTextureView) \
+    macro(GPUUncapturedErrorEvent) \
+    macro(GPUValidationError) \
     macro(Gamepad) \
     macro(GamepadButton) \
     macro(GamepadEvent) \
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to