Index: chrome/browser/media/encrypted_media_browsertest.cc |
diff --git a/chrome/browser/media/encrypted_media_browsertest.cc b/chrome/browser/media/encrypted_media_browsertest.cc |
index 850d16c3d42e2523e6dcb03050d405eb3dca8e05..e466daf12eecd201beb5ba80c6434734dc4af3ec 100644 |
--- a/chrome/browser/media/encrypted_media_browsertest.cc |
+++ b/chrome/browser/media/encrypted_media_browsertest.cc |
@@ -11,6 +11,9 @@ |
#include "chrome/browser/ui/tabs/tab_strip_model.h" |
#include "chrome/common/chrome_switches.h" |
#include "content/public/test/browser_test_utils.h" |
+#if defined(OS_ANDROID) |
+#include "base/android/build_info.h" |
+#endif |
#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. |
@@ -96,12 +99,25 @@ class EncryptedMediaTest : public MediaBrowserTest, |
} |
void TestConfigChange() { |
+ if (CurrentSourceType() != MSE) { |
+ LOG(INFO) << "Skipping test - config change only applies to MSE."; |
+ return; |
+ } |
+ |
+#if defined(OS_ANDROID) |
+ if (base::android::BuildInfo::GetInstance()->sdk_int() < 16) { |
qinmin
2013/10/16 22:14:34
make this a static boolean function at the top of
xhwang
2013/10/17 00:46:19
Done.
|
+ LOG(INFO) << "Skipping test - MSE only supported in JellyBean and later."; |
ddorwin
2013/10/16 22:51:46
JB is two words. Maybe just say 4.1?
xhwang
2013/10/17 00:46:19
I tried 4.1 but in the context I need to use "Andr
|
+ return; |
+ } |
+#endif // defined(OS_ANDROID) |
+ |
#if defined(WIDEVINE_CDM_AVAILABLE) |
if (IsWidevine(CurrentKeySystem())) { |
LOG(INFO) << "ConfigChange test cannot run with Widevine."; |
return; |
} |
#endif // defined(WIDEVINE_CDM_AVAILABLE) |
+ |
std::vector<StringPair> query_params; |
query_params.push_back(std::make_pair("keysystem", CurrentKeySystem())); |
query_params.push_back(std::make_pair("runencrypted", "1")); |
@@ -114,6 +130,14 @@ class EncryptedMediaTest : public MediaBrowserTest, |
const char* key_system, |
SrcType src_type, |
const char* expectation) { |
+#if defined(OS_ANDROID) |
+ DCHECK_EQ(src_type, MSE) << "EME only works with MSE on Android."; |
+ if (base::android::BuildInfo::GetInstance()->sdk_int() < 16) { |
+ LOG(INFO) << "Skipping test - MSE only supported in JellyBean and later."; |
+ return; |
+ } |
+#endif // defined(OS_ANDROID) |
+ |
std::vector<StringPair> query_params; |
query_params.push_back(std::make_pair("mediafile", media_file)); |
query_params.push_back(std::make_pair("mediatype", media_type)); |
@@ -226,25 +250,32 @@ class EncryptedMediaTest : public MediaBrowserTest, |
#endif // defined(ENABLE_PEPPER_CDMS) |
}; |
-INSTANTIATE_TEST_CASE_P(ClearKey, EncryptedMediaTest, |
- ::testing::Combine( |
- ::testing::Values(kClearKeyKeySystem), ::testing::Values(SRC, MSE))); |
+using Combine; |
+using Values; |
+ |
+#if !defined(OS_ANDROID) |
+INSTANTIATE_TEST_CASE_P(SRC_ClearKey, EncryptedMediaTest, |
+ Combine(Values(kClearKeyKeySystem), Values(SRC))); |
+#endif // !defined(OS_ANDROID) |
+ |
+INSTANTIATE_TEST_CASE_P(MSE_ClearKey, EncryptedMediaTest, |
+ Combine(Values(kClearKeyKeySystem), Values(MSE))); |
// External Clear Key is currently only used on platforms that use Pepper CDMs. |
#if defined(ENABLE_PEPPER_CDMS) |
-INSTANTIATE_TEST_CASE_P(ExternalClearKey, EncryptedMediaTest, |
- ::testing::Combine( |
- ::testing::Values(kExternalClearKeyKeySystem), |
- ::testing::Values(SRC, MSE))); |
+INSTANTIATE_TEST_CASE_P(SRC_ExternalClearKey, EncryptedMediaTest, |
+ Combine(Values(kExternalClearKeyKeySystem), Values(SRC))); |
+INSTANTIATE_TEST_CASE_P(MSE_ExternalClearKey, EncryptedMediaTest, |
+ Combine(Values(kExternalClearKeyKeySystem), Values(MSE))); |
+#endif // defined(ENABLE_PEPPER_CDMS) |
#if defined(WIDEVINE_CDM_AVAILABLE) |
// This test doesn't fully test playback with Widevine. So we only run Widevine |
-// test with MSE (no SRC) to reduce test time. |
-INSTANTIATE_TEST_CASE_P(Widevine, EncryptedMediaTest, |
- ::testing::Combine( |
- ::testing::Values(kWidevineKeySystem), ::testing::Values(MSE))); |
+// test with MSE (no SRC) to reduce test time. Also, on Android EME only works |
+// with MSE and we cannot run this test with SRC. |
+INSTANTIATE_TEST_CASE_P(MSE_Widevine, EncryptedMediaTest, |
+ Combine(Values(kWidevineKeySystem), Values(MSE))); |
#endif // defined(WIDEVINE_CDM_AVAILABLE) |
-#endif // defined(ENABLE_PEPPER_CDMS) |
IN_PROC_BROWSER_TEST_P(EncryptedMediaTest, Playback_AudioOnly_WebM) { |
TestSimplePlayback("bear-a-enc_a.webm", kWebMAudioOnly); |