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 9bd60b90ca886b87469ed21dcf24a24ace4a3586..1246431278cd7ced8fa2359f071f3d87c374a4eb 100644 |
--- a/chrome/browser/chrome_content_browser_client.cc |
+++ b/chrome/browser/chrome_content_browser_client.cc |
@@ -2773,7 +2773,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( |