Index: chrome/browser/chrome_content_browser_client.cc |
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc |
index 8bb7ef2d57186aa7f0ce4610329d2a6c7426e220..5ae5889b420e29b99a28fb28f4adea6af19029da 100644 |
--- a/chrome/browser/chrome_content_browser_client.cc |
+++ b/chrome/browser/chrome_content_browser_client.cc |
@@ -2761,7 +2761,11 @@ void ChromeContentBrowserClient::RegisterFrameMojoShellServices( |
void ChromeContentBrowserClient::RegisterRenderFrameMojoServices( |
content::ServiceRegistry* registry, |
content::RenderFrameHost* render_frame_host) { |
- if (base::FeatureList::IsEnabled(features::kWebUsb)) { |
+ // WebUSB is an experimental web API. It will only work if the experiment |
+ // is enabled and WebUSB feature is enabled. |
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableExperimentalWebPlatformFeatures) && |
+ base::FeatureList::IsEnabled(features::kWebUsb)) { |
registry->AddService( |
base::Bind(&CreateUsbDeviceManager, render_frame_host)); |
registry->AddService( |