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

Unified Diff: chrome/browser/media/encrypted_media_browsertest.cc

Issue 2426813002: EME: Close existing sessions on CDM failure (Closed)
Patch Set: add new tests Created 4 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: 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 93d4710081fcce1db9cb497eeeb51d83b39b2bc4..61ae59759152180f1632335f098d049dea1e45e6 100644
--- a/chrome/browser/media/encrypted_media_browsertest.cc
+++ b/chrome/browser/media/encrypted_media_browsertest.cc
@@ -55,6 +55,8 @@ const char kExternalClearKeyPlatformVerificationTestKeySystem[] =
"org.chromium.externalclearkey.platformverificationtest";
const char kExternalClearKeyCrashKeySystem[] =
"org.chromium.externalclearkey.crash";
+const char kExternalClearKeyCloseOnCrashKeySystem[] =
+ "org.chromium.externalclearkey.closeoncrash";
// Supported media types.
const char kWebMVorbisAudioOnly[] = "audio/webm; codecs=\"vorbis\"";
@@ -83,6 +85,7 @@ const char kEmeUpdateFailed[] = "EME_UPDATE_FAILED";
const char kEmeErrorEvent[] = "EME_ERROR_EVENT";
const char kEmeMessageUnexpectedType[] = "EME_MESSAGE_UNEXPECTED_TYPE";
const char kEmeRenewalMissingHeader[] = "EME_RENEWAL_MISSING_HEADER";
+const char kEmeSessionClosed[] = "SESSION_CLOSED";
const char kDefaultEmePlayer[] = "eme_player.html";
@@ -626,6 +629,22 @@ IN_PROC_BROWSER_TEST_F(ECKEncryptedMediaTest, CDMExpectedCrash) {
"Failing test due to plugin crash.");
}
+// When CDM crashes, all open sessions should be closed.
+IN_PROC_BROWSER_TEST_F(ECKEncryptedMediaTest, CDMCloseSessionsOnCrash) {
+ IgnorePluginCrash();
+ TestNonPlaybackCases(kExternalClearKeyCloseOnCrashKeySystem,
+ kEmeSessionClosed);
+}
+
+// Testing that the media browser test does fail on plugin crash.
+IN_PROC_BROWSER_TEST_F(ECKEncryptedMediaTest, CDMCloseSessionsExpectedCrash) {
+ // Plugin crash is not ignored by default, the test is expected to fail.
+ EXPECT_NONFATAL_FAILURE(
+ TestNonPlaybackCases(kExternalClearKeyCloseOnCrashKeySystem,
+ kEmeSessionClosed),
+ "Failing test due to plugin crash.");
+}
+
IN_PROC_BROWSER_TEST_F(ECKEncryptedMediaTest, FileIOTest) {
TestNonPlaybackCases(kExternalClearKeyFileIOTestKeySystem, kUnitTestSuccess);
}
« no previous file with comments | « no previous file | chrome/renderer/media/chrome_key_systems.cc » ('j') | media/cdm/ppapi/external_clear_key/clear_key_cdm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698