Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1114)

Unified Diff: content/child/runtime_features.cc

Issue 79193003: Enable WebAudio support on Android/x86. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/child/runtime_features.cc
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
index 133a366f40fb13492a983c4ff609c97067816e2a..7aa0c7c6b4d238d7e29218b4d52c722dadda9925 100644
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
@@ -27,12 +27,11 @@ static void SetRuntimeFeatureDefaultsForPlatform() {
WebRuntimeFeatures::enablePrefixedEncryptedMedia(false);
}
#endif // !defined(GOOGLE_TV)
- bool enable_webaudio = false;
-#if defined(ARCH_CPU_ARMEL)
- // WebAudio needs Android MediaCodec API
- enable_webaudio = media::MediaCodecBridge::IsAvailable();
-#endif // defined(ARCH_CPU_ARMEL)
- WebRuntimeFeatures::enableWebAudio(enable_webaudio);
+ // WebAudio is enabled by default only on ARM and only when the
+ // MediaCodec API is available.
+ WebRuntimeFeatures::enableWebAudio(
+ media::MediaCodecBridge::IsAvailable() &&
+ (android_getCpuFamily() == ANDROID_CPU_FAMILY_ARM));
// Android does not support the Gamepad API.
WebRuntimeFeatures::enableGamepad(false);
// Android does not have support for PagePopup
@@ -95,8 +94,25 @@ void SetRuntimeFeaturesDefaultsAndUpdateFromArgs(
if (command_line.HasSwitch(switches::kEnableServiceWorker))
WebRuntimeFeatures::enableServiceWorker(true);
+#if defined(OS_ANDROID)
+ // WebAudio requires the MediaCodec API.
+#if defined(ARCH_CPU_X86)
+ // WebAudio is disabled by default on x86.
+ WebRuntimeFeatures::enableWebAudio(
+ command_line.HasSwitch(switches::kEnableWebAudio) &&
+ media::MediaCodecBridge::IsAvailable());
+#elif defined(ARCH_CPU_ARMEL)
+ // WebAudio is enabled by default on ARM.
+ WebRuntimeFeatures::enableWebAudio(
+ !command_line.HasSwitch(switches::kDisableWebAudio) &&
+ media::MediaCodecBridge::IsAvailable());
+#else
+ WebRuntimeFeatures::enableWebAudio(false);
+#endif
+#else
if (command_line.HasSwitch(switches::kDisableWebAudio))
WebRuntimeFeatures::enableWebAudio(false);
+#endif
if (command_line.HasSwitch(switches::kDisableFullScreen))
WebRuntimeFeatures::enableFullscreen(false);

Powered by Google App Engine
This is Rietveld 408576698