diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 12e5aeac..c1c503a3 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2199,11 +2199,6 @@
      flag_descriptions::kWebVrAutopresentFromIntentDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kWebVrAutopresentFromIntent)},
 #endif  // OS_ANDROID
-#if BUILDFLAG(ENABLE_OPENVR)
-    {"openvr", flag_descriptions::kOpenVRName,
-     flag_descriptions::kOpenVRDescription, kOsWin,
-     FEATURE_VALUE_TYPE(features::kOpenVR)},
-#endif  // ENABLE_OPENVR
 #endif  // ENABLE_VR
 #if defined(OS_CHROMEOS)
     {"disable-accelerated-mjpeg-decode",
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 04b2a93..aee74d5 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -2748,12 +2748,6 @@
 
 #endif  // OS_ANDROID
 
-#if BUILDFLAG(ENABLE_OPENVR)
-const char kOpenVRName[] = "OpenVR hardware support";
-const char kOpenVRDescription[] =
-    "If enabled, Chrome will use OpenVR devices for VR.";
-#endif  // ENABLE_OPENVR
-
 #endif  // ENABLE_VR
 
 #if BUILDFLAG(ENABLE_NACL)
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 71e93370..62181f78 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1699,11 +1699,6 @@
 
 #endif  // OS_ANDROID
 
-#if BUILDFLAG(ENABLE_OPENVR)
-extern const char kOpenVRName[];
-extern const char kOpenVRDescription[];
-#endif  // ENABLE_OPENVR
-
 #endif  // ENABLE_VR
 
 #if BUILDFLAG(ENABLE_NACL)
diff --git a/chrome/browser/vr/service/vr_device_manager.cc b/chrome/browser/vr/service/vr_device_manager.cc
index 3948672..45b77fc 100644
--- a/chrome/browser/vr/service/vr_device_manager.cc
+++ b/chrome/browser/vr/service/vr_device_manager.cc
@@ -10,7 +10,6 @@
 #include "base/memory/ptr_util.h"
 #include "base/memory/singleton.h"
 #include "build/build_config.h"
-#include "chrome/common/chrome_features.h"
 #include "device/vr/features/features.h"
 
 #if defined(OS_ANDROID)
@@ -36,8 +35,7 @@
 #endif
 
 #if BUILDFLAG(ENABLE_OPENVR)
-    if (base::FeatureList::IsEnabled(features::kOpenVR))
-      providers.emplace_back(std::make_unique<device::OpenVRDeviceProvider>());
+    providers.emplace_back(std::make_unique<device::OpenVRDeviceProvider>());
 #endif
     new VRDeviceManager(std::move(providers));
   }
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
index f864568..a2abf2f3 100644
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -238,12 +238,6 @@
 // Controls experimental rendering features for VR browsing.
 const base::Feature kVrBrowsingExperimentalRendering{
     "VrBrowsingExperimentalRendering", base::FEATURE_DISABLED_BY_DEFAULT};
-
-#if BUILDFLAG(ENABLE_OPENVR)
-// Controls OpenVR support.
-const base::Feature kOpenVR{"OpenVR", base::FEATURE_DISABLED_BY_DEFAULT};
-#endif  // ENABLE_OPENVR
-
 #endif  // BUILDFLAG(ENABLE_VR)
 
 #if defined(OS_WIN)
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h
index 2d4341d..fabb3efe 100644
--- a/chrome/common/chrome_features.h
+++ b/chrome/common/chrome_features.h
@@ -121,12 +121,7 @@
 extern const base::Feature kVrBrowserKeyboard;
 extern const base::Feature kVrBrowsingExperimentalFeatures;
 extern const base::Feature kVrBrowsingExperimentalRendering;
-
-#if BUILDFLAG(ENABLE_OPENVR)
-extern const base::Feature kOpenVR;
-#endif  // ENABLE_OPENVR
-
-#endif  // ENABLE_VR
+#endif
 
 #if defined(OS_MACOSX)
 extern const base::Feature kFullscreenToolbarReveal;
diff --git a/device/vr/BUILD.gn b/device/vr/BUILD.gn
index 7f61975..38663e3 100644
--- a/device/vr/BUILD.gn
+++ b/device/vr/BUILD.gn
@@ -70,7 +70,6 @@
     if (enable_openvr) {
       deps += [
         "//device/gamepad",
-        "//device/gamepad/public/cpp:shared_with_blink",
         "//third_party/openvr:openvr",
       ]
       sources += [
diff --git a/device/vr/features/features.gni b/device/vr/features/features.gni
index 5698cd8..2e3c76a7 100644
--- a/device/vr/features/features.gni
+++ b/device/vr/features/features.gni
@@ -9,12 +9,13 @@
   # support arm and arm64.
   enable_gvr_services = is_android && !is_chromecast &&
                         (current_cpu == "arm" || current_cpu == "arm64")
-  enable_openvr = is_win
+  enable_openvr = false
 }
 
 declare_args() {
-  # Enable VR device support whenever VR device SDK(s) are supported.
-  enable_vr = enable_gvr_services || enable_openvr
+  # Enable VR device support whenever VR device SDK(s) are supported and
+  # on Windows for testing.
+  enable_vr = enable_gvr_services || enable_openvr || is_win
 
   # Whether to include VR extras like test APKs in non-VR-specific targets
   include_vr_data = false
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/nonce-hiding/script-nonces-hidden.tentative.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/nonce-hiding/script-nonces-hidden.tentative.html
index 763e48d..4b717b9b 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/nonce-hiding/script-nonces-hidden.tentative.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/nonce-hiding/script-nonces-hidden.tentative.html
@@ -114,6 +114,46 @@
     }, "createElement.setAttribute.");
 </script>
 
+<!-- Custom Element -->
+<script nonce="abc">
+  var eventList = [];
+  class NonceElement extends HTMLElement {
+    static get observedAttributes() {
+      return ['nonce'];
+    }
+
+    constructor() {
+      super();
+    }
+
+    attributeChangedCallback(name, oldValue, newValue) {
+      eventList.push({
+        type: "AttributeChanged",
+        name: name,
+        oldValue: oldValue,
+        newValue: newValue
+      });
+    }
+
+    connectedCallback() {
+      eventList.push({
+        type: "Connected",
+      });
+    }
+  }
+
+  customElements.define("nonce-element", NonceElement);
+</script>
+<nonce-element nonce="abc"></nonce-element>
+<script nonce="abc">
+  test(t => {
+    assert_equals(eventList.length, 3);
+    assert_object_equals(eventList[0], { type: "AttributeChanged", name: "nonce", oldValue: null, newValue: "abc" });
+    assert_object_equals(eventList[1], { type: "Connected" });
+    assert_object_equals(eventList[2], { type: "AttributeChanged", name: "nonce", oldValue: "abc", newValue: "" });
+  }, "Custom elements expose the correct events.");
+</script>
+
 <!-- CSS Leakage -->
 <style>
     #cssTest { display: block; }
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 8e4e6661..7808984 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -24555,7 +24555,6 @@
   <int value="-1302904242" label="enable-navigation-tracing"/>
   <int value="-1294050129" label="ContentFullscreen:disabled"/>
   <int value="-1289678848" label="SystemDownloadManager:enabled"/>
-  <int value="-1288130734" label="OpenVR:disabled"/>
   <int value="-1285021473" label="save-page-as-mhtml"/>
   <int value="-1284637134" label="pull-to-refresh"/>
   <int value="-1276912933" label="enable-quick-unlock-pin"/>
@@ -25708,7 +25707,6 @@
   <int value="1928407249" label="NewPhotoPicker:enabled"/>
   <int value="1930901873" label="disable-sync-app-list"/>
   <int value="1931309368" label="fill-on-account-select:disabled"/>
-  <int value="1932732886" label="OpenVR:enabled"/>
   <int value="1936810062" label="WebVrVsyncAlign:enabled"/>
   <int value="1939413645" label="enable-invalid-cert-collection"/>
   <int value="1942911276" label="enable-grouped-history"/>