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

Side by Side Diff: chrome/browser/media/encrypted_media_browsertest.cc

Issue 593023002: Use base::StringPairs where appropriate for src/media/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months 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
« no previous file with comments | « no previous file | chrome/browser/media/media_browsertest.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/command_line.h" 5 #include "base/command_line.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "base/win/windows_version.h" 9 #include "base/win/windows_version.h"
10 #include "chrome/browser/media/media_browsertest.h" 10 #include "chrome/browser/media/media_browsertest.h"
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 111
112 #if defined(WIDEVINE_CDM_AVAILABLE) 112 #if defined(WIDEVINE_CDM_AVAILABLE)
113 bool IsWidevine(const std::string& key_system) { 113 bool IsWidevine(const std::string& key_system) {
114 return key_system == kWidevineKeySystem; 114 return key_system == kWidevineKeySystem;
115 } 115 }
116 #endif // defined(WIDEVINE_CDM_AVAILABLE) 116 #endif // defined(WIDEVINE_CDM_AVAILABLE)
117 117
118 void RunEncryptedMediaTestPage( 118 void RunEncryptedMediaTestPage(
119 const std::string& html_page, 119 const std::string& html_page,
120 const std::string& key_system, 120 const std::string& key_system,
121 const media::QueryParams& query_params, 121 base::StringPairs& query_params,
122 const std::string& expected_title) { 122 const std::string& expected_title) {
123 media::QueryParams new_query_params = query_params; 123 base::StringPairs new_query_params = query_params;
124 StartLicenseServerIfNeeded(key_system, &new_query_params); 124 StartLicenseServerIfNeeded(key_system, &new_query_params);
125 RunMediaTestPage(html_page, new_query_params, expected_title, true); 125 RunMediaTestPage(html_page, new_query_params, expected_title, true);
126 } 126 }
127 127
128 // Tests |html_page| using |media_file| (with |media_type|) and |key_system|. 128 // Tests |html_page| using |media_file| (with |media_type|) and |key_system|.
129 // When |session_to_load| is not empty, the test will try to load 129 // When |session_to_load| is not empty, the test will try to load
130 // |session_to_load| with stored keys, instead of creating a new session 130 // |session_to_load| with stored keys, instead of creating a new session
131 // and trying to update it with licenses. 131 // and trying to update it with licenses.
132 // When |force_invalid_response| is true, the test will provide invalid 132 // When |force_invalid_response| is true, the test will provide invalid
133 // responses, which should trigger errors. 133 // responses, which should trigger errors.
134 // TODO(xhwang): Find an easier way to pass multiple configuration test 134 // TODO(xhwang): Find an easier way to pass multiple configuration test
135 // options. 135 // options.
136 void RunEncryptedMediaTest(const std::string& html_page, 136 void RunEncryptedMediaTest(const std::string& html_page,
137 const std::string& media_file, 137 const std::string& media_file,
138 const std::string& media_type, 138 const std::string& media_type,
139 const std::string& key_system, 139 const std::string& key_system,
140 SrcType src_type, 140 SrcType src_type,
141 EmeVersion eme_version, 141 EmeVersion eme_version,
142 const std::string& session_to_load, 142 const std::string& session_to_load,
143 bool force_invalid_response, 143 bool force_invalid_response,
144 const std::string& expected_title) { 144 const std::string& expected_title) {
145 if (src_type == MSE && !IsMSESupported()) { 145 if (src_type == MSE && !IsMSESupported()) {
146 VLOG(0) << "Skipping test - MSE not supported."; 146 VLOG(0) << "Skipping test - MSE not supported.";
147 return; 147 return;
148 } 148 }
149 media::QueryParams query_params; 149 base::StringPairs query_params;
150 query_params.push_back(std::make_pair("mediaFile", media_file)); 150 query_params.push_back(std::make_pair("mediaFile", media_file));
151 query_params.push_back(std::make_pair("mediaType", media_type)); 151 query_params.push_back(std::make_pair("mediaType", media_type));
152 query_params.push_back(std::make_pair("keySystem", key_system)); 152 query_params.push_back(std::make_pair("keySystem", key_system));
153 if (src_type == MSE) 153 if (src_type == MSE)
154 query_params.push_back(std::make_pair("useMSE", "1")); 154 query_params.push_back(std::make_pair("useMSE", "1"));
155 if (eme_version == PREFIXED) 155 if (eme_version == PREFIXED)
156 query_params.push_back(std::make_pair("usePrefixedEME", "1")); 156 query_params.push_back(std::make_pair("usePrefixedEME", "1"));
157 if (force_invalid_response) 157 if (force_invalid_response)
158 query_params.push_back(std::make_pair("forceInvalidResponse", "1")); 158 query_params.push_back(std::make_pair("forceInvalidResponse", "1"));
159 if (!session_to_load.empty()) 159 if (!session_to_load.empty())
(...skipping 26 matching lines...) Expand all
186 browser()->tab_strip_model()->GetActiveWebContents(), 186 browser()->tab_strip_model()->GetActiveWebContents(),
187 "window.domAutomationController.send(" 187 "window.domAutomationController.send("
188 "document.querySelector('video').receivedKeyMessage);", 188 "document.querySelector('video').receivedKeyMessage);",
189 &receivedKeyMessage)); 189 &receivedKeyMessage));
190 EXPECT_TRUE(receivedKeyMessage); 190 EXPECT_TRUE(receivedKeyMessage);
191 } 191 }
192 192
193 // Starts a license server if available for the |key_system| and adds a 193 // Starts a license server if available for the |key_system| and adds a
194 // 'licenseServerURL' query parameter to |query_params|. 194 // 'licenseServerURL' query parameter to |query_params|.
195 void StartLicenseServerIfNeeded(const std::string& key_system, 195 void StartLicenseServerIfNeeded(const std::string& key_system,
196 media::QueryParams* query_params) { 196 base::StringPairs* query_params) {
197 scoped_ptr<TestLicenseServerConfig> config = GetServerConfig(key_system); 197 scoped_ptr<TestLicenseServerConfig> config = GetServerConfig(key_system);
198 if (!config) 198 if (!config)
199 return; 199 return;
200 license_server_.reset(new TestLicenseServer(config.Pass())); 200 license_server_.reset(new TestLicenseServer(config.Pass()));
201 EXPECT_TRUE(license_server_->Start()); 201 EXPECT_TRUE(license_server_->Start());
202 query_params->push_back( 202 query_params->push_back(
203 std::make_pair("licenseServerURL", license_server_->GetServerURL())); 203 std::make_pair("licenseServerURL", license_server_->GetServerURL()));
204 } 204 }
205 205
206 bool IsPlayBackPossible(const std::string& key_system) { 206 bool IsPlayBackPossible(const std::string& key_system) {
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 CurrentKeySystem(), 399 CurrentKeySystem(),
400 CurrentSourceType(), 400 CurrentSourceType(),
401 CurrentEmeVersion(), 401 CurrentEmeVersion(),
402 kNoSessionToLoad, 402 kNoSessionToLoad,
403 false, 403 false,
404 kEnded); 404 kEnded);
405 } 405 }
406 406
407 void TestConfigChange() { 407 void TestConfigChange() {
408 DCHECK(IsMSESupported()); 408 DCHECK(IsMSESupported());
409 media::QueryParams query_params; 409 base::StringPairs query_params;
410 query_params.push_back(std::make_pair("keySystem", CurrentKeySystem())); 410 query_params.push_back(std::make_pair("keySystem", CurrentKeySystem()));
411 query_params.push_back(std::make_pair("runEncrypted", "1")); 411 query_params.push_back(std::make_pair("runEncrypted", "1"));
412 if (CurrentEmeVersion() == PREFIXED) 412 if (CurrentEmeVersion() == PREFIXED)
413 query_params.push_back(std::make_pair("usePrefixedEME", "1")); 413 query_params.push_back(std::make_pair("usePrefixedEME", "1"));
414 RunEncryptedMediaTestPage("mse_config_change.html", 414 RunEncryptedMediaTestPage("mse_config_change.html",
415 CurrentKeySystem(), 415 CurrentKeySystem(),
416 query_params, 416 query_params,
417 kEnded); 417 kEnded);
418 } 418 }
419 419
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 "bear-320x240-v_enc-v.webm", 660 "bear-320x240-v_enc-v.webm",
661 kWebMVideoOnly, 661 kWebMVideoOnly,
662 kExternalClearKeyKeySystem, 662 kExternalClearKeyKeySystem,
663 SRC, 663 SRC,
664 PREFIXED, 664 PREFIXED,
665 kUnknownSession, 665 kUnknownSession,
666 false, 666 false,
667 kEmeKeyError); 667 kEmeKeyError);
668 } 668 }
669 #endif // defined(ENABLE_PEPPER_CDMS) 669 #endif // defined(ENABLE_PEPPER_CDMS)
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/media/media_browsertest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698