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

Side by Side Diff: content/browser/encrypted_media_browsertest.cc

Issue 11340029: Move remaining files in content\browser to the content namespace. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "base/string16.h" 8 #include "base/string16.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
(...skipping 18 matching lines...) Expand all
29 29
30 // Available key systems. 30 // Available key systems.
31 static const char kClearKeyKeySystem[] = "webkit-org.w3.clearkey"; 31 static const char kClearKeyKeySystem[] = "webkit-org.w3.clearkey";
32 static const char kExternalClearKeyKeySystem[] = 32 static const char kExternalClearKeyKeySystem[] =
33 "org.chromium.externalclearkey"; 33 "org.chromium.externalclearkey";
34 34
35 static const char kWebMAudioOnly[] = "audio/webm; codecs=\"vorbis\""; 35 static const char kWebMAudioOnly[] = "audio/webm; codecs=\"vorbis\"";
36 static const char kWebMVideoOnly[] = "video/webm; codecs=\"vp8\""; 36 static const char kWebMVideoOnly[] = "video/webm; codecs=\"vp8\"";
37 static const char kWebMAudioVideo[] = "video/webm; codecs=\"vorbis, vp8\""; 37 static const char kWebMAudioVideo[] = "video/webm; codecs=\"vorbis, vp8\"";
38 38
39 namespace content {
39 40
40 class EncryptedMediaTest 41 class EncryptedMediaTest : public testing::WithParamInterface<const char*>,
41 : public testing::WithParamInterface<const char*>, 42 public ContentBrowserTest {
42 public content::ContentBrowserTest {
43 public: 43 public:
44 void TestSimplePlayback(const char* encrypted_media, const char* media_type, 44 void TestSimplePlayback(const char* encrypted_media, const char* media_type,
45 const char* key_system, const string16 expectation) { 45 const char* key_system, const string16 expectation) {
46 PlayEncryptedMedia("encrypted_media_player.html", encrypted_media, 46 PlayEncryptedMedia("encrypted_media_player.html", encrypted_media,
47 media_type, key_system, expectation); 47 media_type, key_system, expectation);
48 } 48 }
49 49
50 void TestFrameSizeChange(const char* key_system, const string16 expectation) { 50 void TestFrameSizeChange(const char* key_system, const string16 expectation) {
51 PlayEncryptedMedia("encrypted_frame_size_change.html", 51 PlayEncryptedMedia("encrypted_frame_size_change.html",
52 "frame_size_change-av-enc-v.webm", kWebMAudioVideo, 52 "frame_size_change-av-enc-v.webm", kWebMAudioVideo,
53 key_system, expectation); 53 key_system, expectation);
54 } 54 }
55 55
56 void PlayEncryptedMedia(const char* html_page, const char* media_file, 56 void PlayEncryptedMedia(const char* html_page, const char* media_file,
57 const char* media_type, const char* key_system, 57 const char* media_type, const char* key_system,
58 const string16 expectation) { 58 const string16 expectation) {
59 // TODO(shadi): Add non-HTTP tests once src is supported for EME. 59 // TODO(shadi): Add non-HTTP tests once src is supported for EME.
60 ASSERT_TRUE(test_server()->Start()); 60 ASSERT_TRUE(test_server()->Start());
61 61
62 const string16 kError = ASCIIToUTF16("ERROR"); 62 const string16 kError = ASCIIToUTF16("ERROR");
63 const string16 kFailed = ASCIIToUTF16("FAILED"); 63 const string16 kFailed = ASCIIToUTF16("FAILED");
64 GURL player_gurl = test_server()->GetURL(base::StringPrintf( 64 GURL player_gurl = test_server()->GetURL(base::StringPrintf(
65 "files/media/%s?keysystem=%s&mediafile=%s&mediatype=%s", html_page, 65 "files/media/%s?keysystem=%s&mediafile=%s&mediatype=%s", html_page,
66 key_system, media_file, media_type)); 66 key_system, media_file, media_type));
67 content::TitleWatcher title_watcher(shell()->web_contents(), expectation); 67 TitleWatcher title_watcher(shell()->web_contents(), expectation);
68 title_watcher.AlsoWaitForTitle(kError); 68 title_watcher.AlsoWaitForTitle(kError);
69 title_watcher.AlsoWaitForTitle(kFailed); 69 title_watcher.AlsoWaitForTitle(kFailed);
70 70
71 content::NavigateToURL(shell(), player_gurl); 71 NavigateToURL(shell(), player_gurl);
72 72
73 string16 final_title = title_watcher.WaitAndGetTitle(); 73 string16 final_title = title_watcher.WaitAndGetTitle();
74 EXPECT_EQ(expectation, final_title); 74 EXPECT_EQ(expectation, final_title);
75 75
76 if (final_title == kFailed) { 76 if (final_title == kFailed) {
77 std::string fail_message; 77 std::string fail_message;
78 EXPECT_TRUE(content::ExecuteJavaScriptAndExtractString( 78 EXPECT_TRUE(ExecuteJavaScriptAndExtractString(
79 shell()->web_contents()->GetRenderViewHost(), L"", 79 shell()->web_contents()->GetRenderViewHost(), L"",
80 L"window.domAutomationController.send(failMessage);", &fail_message)); 80 L"window.domAutomationController.send(failMessage);", &fail_message));
81 LOG(INFO) << "Test failed: " << fail_message; 81 LOG(INFO) << "Test failed: " << fail_message;
82 } 82 }
83 } 83 }
84 84
85 protected: 85 protected:
86 // Registers any CDM plugins not registered by default. 86 // Registers any CDM plugins not registered by default.
87 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { 87 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
88 command_line->AppendSwitch(switches::kDisableAudio); 88 command_line->AppendSwitch(switches::kDisableAudio);
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 const string16 kExpected = ASCIIToUTF16("ENDED"); 164 const string16 kExpected = ASCIIToUTF16("ENDED");
165 ASSERT_NO_FATAL_FAILURE( 165 ASSERT_NO_FATAL_FAILURE(
166 TestSimplePlayback("bear-320x240-av-enc_v.webm", kWebMAudioVideo, 166 TestSimplePlayback("bear-320x240-av-enc_v.webm", kWebMAudioVideo,
167 GetParam(), kExpected)); 167 GetParam(), kExpected));
168 } 168 }
169 169
170 IN_PROC_BROWSER_TEST_P(EncryptedMediaTest, FrameChangeVideo) { 170 IN_PROC_BROWSER_TEST_P(EncryptedMediaTest, FrameChangeVideo) {
171 const string16 kExpected = ASCIIToUTF16("ENDED"); 171 const string16 kExpected = ASCIIToUTF16("ENDED");
172 ASSERT_NO_FATAL_FAILURE(TestFrameSizeChange(GetParam(), kExpected)); 172 ASSERT_NO_FATAL_FAILURE(TestFrameSizeChange(GetParam(), kExpected));
173 } 173 }
174
175 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698