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

Side by Side Diff: content/renderer/media/render_media_client_unittest.cc

Issue 772043004: Replace WIDEVINE_CDM_AVAILABLE with a gyp define 'enable_widevine_cdm'. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix #endif Created 6 years 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 | « content/renderer/media/render_media_client.cc ('k') | third_party/widevine/cdm/BUILD.gn » ('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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/test/simple_test_tick_clock.h" 8 #include "base/test/simple_test_tick_clock.h"
9 #include "content/public/renderer/content_renderer_client.h" 9 #include "content/public/renderer/content_renderer_client.h"
10 #include "content/renderer/media/render_media_client.h" 10 #include "content/renderer/media/render_media_client.h"
11 #include "content/test/test_content_client.h" 11 #include "content/test/test_content_client.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 13
14 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. 14 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
15 15
16 namespace content { 16 namespace content {
17 17
18 namespace { 18 namespace {
19 19
20 class TestContentRendererClient : public ContentRendererClient { 20 class TestContentRendererClient : public ContentRendererClient {
21 public: 21 public:
22 TestContentRendererClient() : is_extra_key_system_enabled_(false) {} 22 TestContentRendererClient() : is_extra_key_system_enabled_(false) {}
23 23
24 // ContentRendererClient implementation. 24 // ContentRendererClient implementation.
25 void AddKeySystems( 25 void AddKeySystems(
26 std::vector<media::KeySystemInfo>* key_systems_info) override { 26 std::vector<media::KeySystemInfo>* key_systems_info) override {
27 media::KeySystemInfo key_system_info("test.keysystem"); 27 media::KeySystemInfo key_system_info("test.keysystem");
28 #if defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) 28 #if defined(ENABLE_WIDEVINE_CDM) && defined(WIDEVINE_CDM_IS_COMPONENT)
29 if (is_extra_key_system_enabled_) 29 if (is_extra_key_system_enabled_)
30 key_systems_info->push_back(media::KeySystemInfo(kWidevineKeySystem)); 30 key_systems_info->push_back(media::KeySystemInfo(kWidevineKeySystem));
31 #endif 31 #endif
32 } 32 }
33 33
34 void EnableExtraKeySystem() { is_extra_key_system_enabled_ = true; } 34 void EnableExtraKeySystem() { is_extra_key_system_enabled_ = true; }
35 35
36 private: 36 private:
37 // Whether a platform-specific extra key system is "supported" by |this|. 37 // Whether a platform-specific extra key system is "supported" by |this|.
38 bool is_extra_key_system_enabled_; 38 bool is_extra_key_system_enabled_;
39 }; 39 };
40 40
41 #if defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) 41 #if defined(ENABLE_WIDEVINE_CDM) && defined(WIDEVINE_CDM_IS_COMPONENT)
42 bool ContainsWidevine( 42 bool ContainsWidevine(
43 const std::vector<media::KeySystemInfo>& key_systems_info) { 43 const std::vector<media::KeySystemInfo>& key_systems_info) {
44 for (const auto& key_system_info: key_systems_info) { 44 for (const auto& key_system_info: key_systems_info) {
45 if (key_system_info.key_system == kWidevineKeySystem) 45 if (key_system_info.key_system == kWidevineKeySystem)
46 return true; 46 return true;
47 } 47 }
48 return false; 48 return false;
49 } 49 }
50 #endif 50 #endif
51 51
(...skipping 27 matching lines...) Expand all
79 79
80 std::string widevine_uma_name; 80 std::string widevine_uma_name;
81 std::string clearkey_uma_name; 81 std::string clearkey_uma_name;
82 for (const media::KeySystemInfoForUMA& info : key_systems_info_for_uma) { 82 for (const media::KeySystemInfoForUMA& info : key_systems_info_for_uma) {
83 if (info.key_system == "com.widevine.alpha") 83 if (info.key_system == "com.widevine.alpha")
84 widevine_uma_name = info.key_system_name_for_uma; 84 widevine_uma_name = info.key_system_name_for_uma;
85 if (info.key_system == "org.w3.clearkey") 85 if (info.key_system == "org.w3.clearkey")
86 clearkey_uma_name = info.key_system_name_for_uma; 86 clearkey_uma_name = info.key_system_name_for_uma;
87 } 87 }
88 88
89 #if defined(WIDEVINE_CDM_AVAILABLE) 89 #if defined(ENABLE_WIDEVINE_CDM)
90 EXPECT_EQ("Widevine", widevine_uma_name); 90 EXPECT_EQ("Widevine", widevine_uma_name);
91 #else 91 #else
92 EXPECT_TRUE(widevine_uma_name.empty()); 92 EXPECT_TRUE(widevine_uma_name.empty());
93 #endif 93 #endif
94 94
95 EXPECT_TRUE(clearkey_uma_name.empty()) << "Clear Key is added by media/ and " 95 EXPECT_TRUE(clearkey_uma_name.empty()) << "Clear Key is added by media/ and "
96 "should not be added by the " 96 "should not be added by the "
97 "MediaClient."; 97 "MediaClient.";
98 ; 98 ;
99 } 99 }
100 100
101 TEST_F(RenderMediaClientTest, IsKeySystemsUpdateNeeded) { 101 TEST_F(RenderMediaClientTest, IsKeySystemsUpdateNeeded) {
102 base::SimpleTestTickClock* tick_clock = new base::SimpleTestTickClock(); 102 base::SimpleTestTickClock* tick_clock = new base::SimpleTestTickClock();
103 render_media_client_->SetTickClockForTesting( 103 render_media_client_->SetTickClockForTesting(
104 scoped_ptr<base::TickClock>(tick_clock)); 104 scoped_ptr<base::TickClock>(tick_clock));
105 105
106 // IsKeySystemsUpdateNeeded() always returns true after construction. 106 // IsKeySystemsUpdateNeeded() always returns true after construction.
107 EXPECT_TRUE(render_media_client_->IsKeySystemsUpdateNeeded()); 107 EXPECT_TRUE(render_media_client_->IsKeySystemsUpdateNeeded());
108 108
109 std::vector<media::KeySystemInfo> key_systems_info; 109 std::vector<media::KeySystemInfo> key_systems_info;
110 render_media_client_->AddSupportedKeySystems(&key_systems_info); 110 render_media_client_->AddSupportedKeySystems(&key_systems_info);
111 111
112 // No update needed immediately after AddSupportedKeySystems() call. 112 // No update needed immediately after AddSupportedKeySystems() call.
113 EXPECT_FALSE(render_media_client_->IsKeySystemsUpdateNeeded()); 113 EXPECT_FALSE(render_media_client_->IsKeySystemsUpdateNeeded());
114 114
115 #if defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) 115 #if defined(ENABLE_WIDEVINE_CDM) && defined(WIDEVINE_CDM_IS_COMPONENT)
116 // Widevine not supported because extra key system isn't enabled. 116 // Widevine not supported because extra key system isn't enabled.
117 EXPECT_FALSE(ContainsWidevine(key_systems_info)); 117 EXPECT_FALSE(ContainsWidevine(key_systems_info));
118 118
119 // This is timing related. The update interval for Widevine is 1000 ms. 119 // This is timing related. The update interval for Widevine is 1000 ms.
120 EXPECT_FALSE(render_media_client_->IsKeySystemsUpdateNeeded()); 120 EXPECT_FALSE(render_media_client_->IsKeySystemsUpdateNeeded());
121 tick_clock->Advance(base::TimeDelta::FromMilliseconds(990)); 121 tick_clock->Advance(base::TimeDelta::FromMilliseconds(990));
122 EXPECT_FALSE(render_media_client_->IsKeySystemsUpdateNeeded()); 122 EXPECT_FALSE(render_media_client_->IsKeySystemsUpdateNeeded());
123 tick_clock->Advance(base::TimeDelta::FromMilliseconds(10)); 123 tick_clock->Advance(base::TimeDelta::FromMilliseconds(10));
124 EXPECT_TRUE(render_media_client_->IsKeySystemsUpdateNeeded()); 124 EXPECT_TRUE(render_media_client_->IsKeySystemsUpdateNeeded());
125 125
126 EnableExtraKeySystem(); 126 EnableExtraKeySystem();
127 127
128 key_systems_info.clear(); 128 key_systems_info.clear();
129 render_media_client_->AddSupportedKeySystems(&key_systems_info); 129 render_media_client_->AddSupportedKeySystems(&key_systems_info);
130 EXPECT_TRUE(ContainsWidevine(key_systems_info)); 130 EXPECT_TRUE(ContainsWidevine(key_systems_info));
131 131
132 EXPECT_FALSE(render_media_client_->IsKeySystemsUpdateNeeded()); 132 EXPECT_FALSE(render_media_client_->IsKeySystemsUpdateNeeded());
133 tick_clock->Advance(base::TimeDelta::FromMilliseconds(1000)); 133 tick_clock->Advance(base::TimeDelta::FromMilliseconds(1000));
134 EXPECT_FALSE(render_media_client_->IsKeySystemsUpdateNeeded()); 134 EXPECT_FALSE(render_media_client_->IsKeySystemsUpdateNeeded());
135 tick_clock->Advance(base::TimeDelta::FromMilliseconds(1000)); 135 tick_clock->Advance(base::TimeDelta::FromMilliseconds(1000));
136 EXPECT_FALSE(render_media_client_->IsKeySystemsUpdateNeeded()); 136 EXPECT_FALSE(render_media_client_->IsKeySystemsUpdateNeeded());
137 #endif 137 #endif
138 } 138 }
139 139
140 } // namespace content 140 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/render_media_client.cc ('k') | third_party/widevine/cdm/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698