Roll third_party/gpuweb to 1f8a05a

Fixup Dawn node as necessary.

Change-Id: I96b9a078adba1c8988f9bc5835e1f7645c67a57d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123501
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/DEPS b/DEPS
index a553686..0cb1f40 100644
--- a/DEPS
+++ b/DEPS
@@ -172,7 +172,7 @@
     'condition': 'dawn_node',
   },
   'third_party/gpuweb': {
-    'url': '{github_git}/gpuweb/gpuweb.git@0f5fc665a0d5b281e8119f0201e9067b05cf7927',
+    'url': '{github_git}/gpuweb/gpuweb.git@1f8a05afc72627d9f7f45d6067f3e373d0a81f8e',
     'condition': 'dawn_node',
   },
 
diff --git a/src/dawn/node/binding/Converter.cpp b/src/dawn/node/binding/Converter.cpp
index 94c91d6..31a293d 100644
--- a/src/dawn/node/binding/Converter.cpp
+++ b/src/dawn/node/binding/Converter.cpp
@@ -1659,6 +1659,9 @@
         case interop::GPUFeatureName::kBgra8UnormStorage:
             out = wgpu::FeatureName::BGRA8UnormStorage;
             return true;
+        case interop::GPUFeatureName::kFloat32Filterable:
+            UNIMPLEMENTED("TODO(crbug.com/dawn/1687)");
+            return false;
     }
     return false;
 }
diff --git a/src/dawn/node/binding/GPUShaderModule.cpp b/src/dawn/node/binding/GPUShaderModule.cpp
index 610f6c8..953c3e2 100644
--- a/src/dawn/node/binding/GPUShaderModule.cpp
+++ b/src/dawn/node/binding/GPUShaderModule.cpp
@@ -28,8 +28,8 @@
 GPUShaderModule::GPUShaderModule(wgpu::ShaderModule shader, std::shared_ptr<AsyncRunner> async)
     : shader_(std::move(shader)), async_(std::move(async)) {}
 
-interop::Promise<interop::Interface<interop::GPUCompilationInfo>> GPUShaderModule::compilationInfo(
-    Napi::Env env) {
+interop::Promise<interop::Interface<interop::GPUCompilationInfo>>
+GPUShaderModule::getCompilationInfo(Napi::Env env) {
     struct GPUCompilationMessage : public interop::GPUCompilationMessage {
         WGPUCompilationMessage message;
 
diff --git a/src/dawn/node/binding/GPUShaderModule.h b/src/dawn/node/binding/GPUShaderModule.h
index ccaf65c..dc4deca 100644
--- a/src/dawn/node/binding/GPUShaderModule.h
+++ b/src/dawn/node/binding/GPUShaderModule.h
@@ -36,7 +36,7 @@
     inline operator const wgpu::ShaderModule&() const { return shader_; }
 
     // interop::GPUShaderModule interface compliance
-    interop::Promise<interop::Interface<interop::GPUCompilationInfo>> compilationInfo(
+    interop::Promise<interop::Interface<interop::GPUCompilationInfo>> getCompilationInfo(
         Napi::Env) override;
     std::string getLabel(Napi::Env) override;
     void setLabel(Napi::Env, std::string value) override;
diff --git a/src/dawn/node/binding/GPUSupportedLimits.cpp b/src/dawn/node/binding/GPUSupportedLimits.cpp
index c68e98e..dadf11d 100644
--- a/src/dawn/node/binding/GPUSupportedLimits.cpp
+++ b/src/dawn/node/binding/GPUSupportedLimits.cpp
@@ -148,4 +148,8 @@
     return limits_.limits.maxComputeWorkgroupsPerDimension;
 }
 
+uint32_t GPUSupportedLimits::getMaxFragmentCombinedOutputResources(Napi::Env) {
+    return limits_.limits.maxFragmentCombinedOutputResources;
+}
+
 }  // namespace wgpu::binding
diff --git a/src/dawn/node/binding/GPUSupportedLimits.h b/src/dawn/node/binding/GPUSupportedLimits.h
index 3041d61..8cee116 100644
--- a/src/dawn/node/binding/GPUSupportedLimits.h
+++ b/src/dawn/node/binding/GPUSupportedLimits.h
@@ -60,6 +60,7 @@
     uint32_t getMaxComputeWorkgroupSizeY(Napi::Env) override;
     uint32_t getMaxComputeWorkgroupSizeZ(Napi::Env) override;
     uint32_t getMaxComputeWorkgroupsPerDimension(Napi::Env) override;
+    uint32_t getMaxFragmentCombinedOutputResources(Napi::Env) override;
 
   private:
     wgpu::SupportedLimits limits_;
diff --git a/src/dawn/node/interop/Browser.idl b/src/dawn/node/interop/Browser.idl
index 44638f6..438c304 100644
--- a/src/dawn/node/interop/Browser.idl
+++ b/src/dawn/node/interop/Browser.idl
@@ -87,4 +87,6 @@
 
 [LegacyNoInterfaceObject] interface EventHandler{};
 
+[LegacyNoInterfaceObject] interface DOMException {};
+
 enum PredefinedColorSpace { "srgb", "display-p3" };
diff --git a/webgpu-cts/test_runner.js b/webgpu-cts/test_runner.js
index cd828bc..85f303a 100644
--- a/webgpu-cts/test_runner.js
+++ b/webgpu-cts/test_runner.js
@@ -135,7 +135,7 @@
 wrapPromiseWithHeartbeat(GPUDevice.prototype, 'popErrorScope');
 wrapPromiseWithHeartbeat(GPUQueue.prototype, 'onSubmittedWorkDone');
 wrapPromiseWithHeartbeat(GPUBuffer.prototype, 'mapAsync');
-wrapPromiseWithHeartbeat(GPUShaderModule.prototype, 'compilationInfo');
+wrapPromiseWithHeartbeat(GPUShaderModule.prototype, 'getCompilationInfo');
 
 globalTestConfig.testHeartbeatCallback = sendHeartbeat;
 globalTestConfig.noRaceWithRejectOnTimeout = true;