dawn_node: Fix default adapter selection

The Null adapter was always being used when no backend override was
specified, instead of the platform's default adapter.

Change-Id: I3d8ae62aacda1309a141c3ca39d6e03252fc5e94
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/75700
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/dawn_node/binding/GPU.cpp b/src/dawn_node/binding/GPU.cpp
index 9cbb413..c123c1e 100644
--- a/src/dawn_node/binding/GPU.cpp
+++ b/src/dawn_node/binding/GPU.cpp
@@ -136,21 +136,25 @@
                 promise.Reject("unknown backend '" + forceBackend + "'");
                 return promise;
             }
+        }
 
-            bool found = false;
-            for (size_t i = 0; i < adapters.size(); ++i) {
-                wgpu::AdapterProperties props;
-                adapters[i].GetProperties(&props);
-                if (props.backendType == targetBackendType) {
-                    adapterIndex = i;
-                    found = true;
-                    break;
-                }
+        bool found = false;
+        for (size_t i = 0; i < adapters.size(); ++i) {
+            wgpu::AdapterProperties props;
+            adapters[i].GetProperties(&props);
+            if (props.backendType == targetBackendType) {
+                adapterIndex = i;
+                found = true;
+                break;
             }
-            if (!found) {
+        }
+        if (!found) {
+            if (!forceBackend.empty()) {
                 promise.Reject("backend '" + forceBackend + "' not found");
-                return promise;
+            } else {
+                promise.Reject("no suitable backends found");
             }
+            return promise;
         }
 
         auto adapter = GPUAdapter::Create<GPUAdapter>(env, adapters[adapterIndex], flags_);