diff --git a/scripts/dawn_component.gni b/scripts/dawn_component.gni
index 8a69794..5fcc15a 100644
--- a/scripts/dawn_component.gni
+++ b/scripts/dawn_component.gni
@@ -89,6 +89,18 @@
       configs += invoker.configs
     }
 
+    # If a "build with ARC" config is present, remove it.
+    # TODO(https://crbug.com/1280317): Remove the "enable_arc2" variant
+    # when ARC migration in the Chromium repo is complete.
+    if (filter_include(configs, [ "//build/config/compiler:enable_arc" ]) !=
+        []) {
+      configs -= [ "//build/config/compiler:enable_arc" ]
+    }
+    if (filter_include(configs, [ "//build/config/compiler:enable_arc2" ]) !=
+        []) {
+      configs -= [ "//build/config/compiler:enable_arc2" ]
+    }
+
     # Tell dependents where to find this shared library
     if (is_mac) {
       ldflags = [
@@ -128,6 +140,18 @@
     if (defined(invoker.configs)) {
       configs += invoker.configs
     }
+
+    # If a "build with ARC" config is present, remove it.
+    # TODO(https://crbug.com/1280317): Remove the "enable_arc2" variant
+    # when ARC migration in the Chromium repo is complete.
+    if (filter_include(configs, [ "//build/config/compiler:enable_arc" ]) !=
+        []) {
+      configs -= [ "//build/config/compiler:enable_arc" ]
+    }
+    if (filter_include(configs, [ "//build/config/compiler:enable_arc2" ]) !=
+        []) {
+      configs -= [ "//build/config/compiler:enable_arc2" ]
+    }
   }
 
   group(name) {
diff --git a/src/dawn/glfw/BUILD.gn b/src/dawn/glfw/BUILD.gn
index 4c7c825..1bc788c 100644
--- a/src/dawn/glfw/BUILD.gn
+++ b/src/dawn/glfw/BUILD.gn
@@ -38,6 +38,18 @@
         "Metal.framework",
         "QuartzCore.framework",
       ]
+
+      # If a "build with ARC" config is present, remove it.
+      # TODO(https://crbug.com/1280317): Remove the "enable_arc2" variant
+      # when ARC migration in the Chromium repo is complete.
+      if (filter_include(configs, [ "//build/config/compiler:enable_arc" ]) !=
+          []) {
+        configs -= [ "//build/config/compiler:enable_arc" ]
+      }
+      if (filter_include(configs, [ "//build/config/compiler:enable_arc2" ]) !=
+          []) {
+        configs -= [ "//build/config/compiler:enable_arc2" ]
+      }
     }
 
     public_deps = [
diff --git a/src/dawn/native/BUILD.gn b/src/dawn/native/BUILD.gn
index 6d4f252..a22f69a 100644
--- a/src/dawn/native/BUILD.gn
+++ b/src/dawn/native/BUILD.gn
@@ -612,6 +612,18 @@
       "metal/UtilsMetal.h",
       "metal/UtilsMetal.mm",
     ]
+
+    # If a "build with ARC" config is present, remove it.
+    # TODO(https://crbug.com/1280317): Remove the "enable_arc2" variant
+    # when ARC migration in the Chromium repo is complete.
+    if (filter_include(configs, [ "//build/config/compiler:enable_arc" ]) !=
+        []) {
+      configs -= [ "//build/config/compiler:enable_arc" ]
+    }
+    if (filter_include(configs, [ "//build/config/compiler:enable_arc2" ]) !=
+        []) {
+      configs -= [ "//build/config/compiler:enable_arc2" ]
+    }
   }
 
   if (dawn_enable_null) {
diff --git a/src/dawn/tests/BUILD.gn b/src/dawn/tests/BUILD.gn
index a96ab66..363c557 100644
--- a/src/dawn/tests/BUILD.gn
+++ b/src/dawn/tests/BUILD.gn
@@ -702,6 +702,18 @@
       "white_box/GPUTimestampCalibrationTests_Metal.mm",
       "white_box/MetalAutoreleasePoolTests.mm",
     ]
+
+    # If a "build with ARC" config is present, remove it.
+    # TODO(https://crbug.com/1280317): Remove the "enable_arc2" variant
+    # when ARC migration in the Chromium repo is complete.
+    if (filter_include(configs, [ "//build/config/compiler:enable_arc" ]) !=
+        []) {
+      configs -= [ "//build/config/compiler:enable_arc" ]
+    }
+    if (filter_include(configs, [ "//build/config/compiler:enable_arc2" ]) !=
+        []) {
+      configs -= [ "//build/config/compiler:enable_arc2" ]
+    }
   }
 
   if (dawn_enable_opengles) {
diff --git a/src/dawn/utils/BUILD.gn b/src/dawn/utils/BUILD.gn
index f83b679..5c28981 100644
--- a/src/dawn/utils/BUILD.gn
+++ b/src/dawn/utils/BUILD.gn
@@ -74,6 +74,18 @@
       "ObjCUtils.mm",
     ]
     frameworks += [ "QuartzCore.framework" ]
+
+    # If a "build with ARC" config is present, remove it.
+    # TODO(https://crbug.com/1280317): Remove the "enable_arc2" variant
+    # when ARC migration in the Chromium repo is complete.
+    if (filter_include(configs, [ "//build/config/compiler:enable_arc" ]) !=
+        []) {
+      configs -= [ "//build/config/compiler:enable_arc" ]
+    }
+    if (filter_include(configs, [ "//build/config/compiler:enable_arc2" ]) !=
+        []) {
+      configs -= [ "//build/config/compiler:enable_arc2" ]
+    }
   } else {
     sources += [ "PosixTimer.cpp" ]
   }
diff --git a/third_party/gn/glfw/BUILD.gn b/third_party/gn/glfw/BUILD.gn
index 1c00094..e45f65d 100644
--- a/third_party/gn/glfw/BUILD.gn
+++ b/third_party/gn/glfw/BUILD.gn
@@ -130,6 +130,7 @@
       "Xrandr",
     ]
   }
+
   # No wayland support for GLFW in GN builds.
   if (dawn_use_x11) {
     if (is_linux) {
@@ -156,6 +157,18 @@
       "${glfw_dir}/src/nsgl_context.m",
     ]
 
+    # If a "build with ARC" config is present, remove it.
+    # TODO(https://crbug.com/1280317): Remove the "enable_arc2" variant
+    # when ARC migration in the Chromium repo is complete.
+    if (filter_include(configs, [ "//build/config/compiler:enable_arc" ]) !=
+        []) {
+      configs -= [ "//build/config/compiler:enable_arc" ]
+    }
+    if (filter_include(configs, [ "//build/config/compiler:enable_arc2" ]) !=
+        []) {
+      configs -= [ "//build/config/compiler:enable_arc2" ]
+    }
+
     frameworks = [
       "Cocoa.framework",
       "IOKit.framework",
