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

Side by Side Diff: chromecast/browser/test/cast_media_blocker_test.cc

Issue 2450433002: Let CastMediaBlocker observe MediaSession instead of WebContents (Closed)
Patch Set: addressed comments 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "chromecast/browser/cast_media_blocker.h" 5 #include "chromecast/browser/cast_media_blocker.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "base/bind.h" 10 #include "content/public/browser/media_session.h"
11 #include "content/public/browser/web_contents.h" 11 #include "content/public/browser/web_contents.h"
12 #include "content/public/test/test_content_client_initializer.h" 12 #include "content/public/test/test_content_client_initializer.h"
13 #include "content/public/test/test_renderer_host.h" 13 #include "content/public/test/test_renderer_host.h"
14 #include "content/public/test/web_contents_tester.h" 14 #include "content/public/test/web_contents_tester.h"
15 #include "testing/gmock/include/gmock/gmock.h" 15 #include "testing/gmock/include/gmock/gmock.h"
16 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
17 17
18 namespace chromecast { 18 namespace chromecast {
19 namespace shell { 19 namespace shell {
20 20
21 class MockMediaSession { 21 using ::testing::_;
22 using ::testing::Invoke;
23
24 class MockMediaSession : public content::MediaSession {
22 public: 25 public:
23 MockMediaSession() {} 26 MockMediaSession(content::MediaSession* session) {
27 // Delegate the calls to the real MediaSession.
28 ON_CALL(*this, Resume(_))
29 .WillByDefault(Invoke(session, &MediaSession::Resume));
30 ON_CALL(*this, Suspend(_))
31 .WillByDefault(Invoke(session, &MediaSession::Suspend));
32 ON_CALL(*this, Stop(_))
33 .WillByDefault(Invoke(session, &MediaSession::Stop));
34 }
24 ~MockMediaSession() {} 35 ~MockMediaSession() {}
25 36
26 MOCK_CONST_METHOD0(Suspend, void()); 37 MOCK_METHOD1(Resume, void(content::MediaSession::SuspendType));
27 MOCK_CONST_METHOD0(Resume, void()); 38 MOCK_METHOD1(Suspend, void(content::MediaSession::SuspendType));
39 MOCK_METHOD1(Stop, void(content::MediaSession::SuspendType));
28 40
29 private: 41 private:
30 DISALLOW_COPY_AND_ASSIGN(MockMediaSession); 42 DISALLOW_COPY_AND_ASSIGN(MockMediaSession);
31 }; 43 };
32 44
33 class CastMediaBlockerTest : public content::RenderViewHostTestHarness { 45 class CastMediaBlockerTest : public content::RenderViewHostTestHarness {
34 public: 46 public:
35 CastMediaBlockerTest() {} 47 CastMediaBlockerTest() {}
36 ~CastMediaBlockerTest() override {} 48 ~CastMediaBlockerTest() override {}
37 49
38 void SetUp() override { 50 void SetUp() override {
39 initializer_ = base::MakeUnique<content::TestContentClientInitializer>(); 51 initializer_ = base::MakeUnique<content::TestContentClientInitializer>();
40 content::RenderViewHostTestHarness::SetUp(); 52 content::RenderViewHostTestHarness::SetUp();
41 media_session_ = base::MakeUnique<MockMediaSession>(); 53 media_session_ = base::MakeUnique<MockMediaSession>(
54 content::MediaSession::Get(web_contents()));
42 media_blocker_ = base::MakeUnique<CastMediaBlocker>( 55 media_blocker_ = base::MakeUnique<CastMediaBlocker>(
43 web_contents(), base::Bind(&MockMediaSession::Suspend, 56 media_session_.get(), web_contents());
44 base::Unretained(media_session_.get())),
45 base::Bind(&MockMediaSession::Resume,
46 base::Unretained(media_session_.get())));
47 57
48 content::WebContentsTester::For(web_contents()) 58 content::WebContentsTester::For(web_contents())
49 ->NavigateAndCommit(GURL("https://www.youtube.com")); 59 ->NavigateAndCommit(GURL("https://www.youtube.com"));
50 } 60 }
51 61
52 void TearDown() override { content::RenderViewHostTestHarness::TearDown(); } 62 void TearDown() override { content::RenderViewHostTestHarness::TearDown(); }
53 63
54 void MediaSessionChanged(bool controllable, bool suspended) { 64 void MediaSessionChanged(bool controllable, bool suspended) {
55 media_blocker_->MediaSessionStateChanged(controllable, suspended); 65 media_blocker_->MediaSessionStateChanged(controllable, suspended);
56 } 66 }
57 67
58 protected: 68 protected:
59 std::unique_ptr<content::TestContentClientInitializer> initializer_; 69 std::unique_ptr<content::TestContentClientInitializer> initializer_;
60 std::unique_ptr<MockMediaSession> media_session_; 70 std::unique_ptr<MockMediaSession> media_session_;
61 std::unique_ptr<CastMediaBlocker> media_blocker_; 71 std::unique_ptr<CastMediaBlocker> media_blocker_;
62 72
63 private: 73 private:
64 DISALLOW_COPY_AND_ASSIGN(CastMediaBlockerTest); 74 DISALLOW_COPY_AND_ASSIGN(CastMediaBlockerTest);
65 }; 75 };
66 76
67 TEST_F(CastMediaBlockerTest, Block_Unblock_Suspended) { 77 TEST_F(CastMediaBlockerTest, Block_Unblock_Suspended) {
68 // Testing block/unblock operations do nothing if media never plays. 78 // Testing block/unblock operations do nothing if media never plays.
69 EXPECT_CALL(*media_session_, Suspend()).Times(0); 79 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
70 EXPECT_CALL(*media_session_, Resume()).Times(0); 80 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
71 media_blocker_->BlockMediaLoading(true); 81 media_blocker_->BlockMediaLoading(true);
72 media_blocker_->BlockMediaLoading(false); 82 media_blocker_->BlockMediaLoading(false);
73 83
74 MediaSessionChanged(true, true); 84 MediaSessionChanged(true, true);
75 media_blocker_->BlockMediaLoading(true); 85 media_blocker_->BlockMediaLoading(true);
76 media_blocker_->BlockMediaLoading(false); 86 media_blocker_->BlockMediaLoading(false);
77 87
78 media_blocker_->BlockMediaLoading(true); 88 media_blocker_->BlockMediaLoading(true);
79 MediaSessionChanged(false, true); 89 MediaSessionChanged(false, true);
80 media_blocker_->BlockMediaLoading(false); 90 media_blocker_->BlockMediaLoading(false);
81 } 91 }
82 92
83 TEST_F(CastMediaBlockerTest, No_Block) { 93 TEST_F(CastMediaBlockerTest, No_Block) {
84 // Tests CastMediaBlocker does nothing if block/unblock is not called. 94 // Tests CastMediaBlocker does nothing if block/unblock is not called.
85 EXPECT_CALL(*media_session_, Suspend()).Times(0); 95 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
86 EXPECT_CALL(*media_session_, Resume()).Times(0); 96 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
87 97
88 // Media becomes controllable/uncontrollable. 98 // Media becomes controllable/uncontrollable.
89 MediaSessionChanged(true, true); 99 MediaSessionChanged(true, true);
90 MediaSessionChanged(false, true); 100 MediaSessionChanged(false, true);
91 101
92 // Media starts and stops. 102 // Media starts and stops.
93 MediaSessionChanged(false, false); 103 MediaSessionChanged(false, false);
94 MediaSessionChanged(false, true); 104 MediaSessionChanged(false, true);
95 105
96 // Media starts, changes controllability and stops. 106 // Media starts, changes controllability and stops.
97 MediaSessionChanged(false, false); 107 MediaSessionChanged(false, false);
98 MediaSessionChanged(true, false); 108 MediaSessionChanged(true, false);
99 MediaSessionChanged(false, false); 109 MediaSessionChanged(false, false);
100 MediaSessionChanged(false, true); 110 MediaSessionChanged(false, true);
101 111
102 // Media starts, changes controllability and stops. 112 // Media starts, changes controllability and stops.
103 MediaSessionChanged(false, false); 113 MediaSessionChanged(false, false);
104 MediaSessionChanged(true, false); 114 MediaSessionChanged(true, false);
105 MediaSessionChanged(true, true); 115 MediaSessionChanged(true, true);
106 } 116 }
107 117
108 TEST_F(CastMediaBlockerTest, Block_Before_Controllable) { 118 TEST_F(CastMediaBlockerTest, Block_Before_Controllable) {
109 // Tests CastMediaBlocker only suspends when controllable. 119 // Tests CastMediaBlocker only suspends when controllable.
110 EXPECT_CALL(*media_session_, Suspend()).Times(0); 120 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
111 EXPECT_CALL(*media_session_, Resume()).Times(0); 121 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
112 media_blocker_->BlockMediaLoading(true); 122 media_blocker_->BlockMediaLoading(true);
113 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 123 testing::Mock::VerifyAndClearExpectations(media_session_.get());
114 124
115 // Session becomes controllable 125 // Session becomes controllable
116 EXPECT_CALL(*media_session_, Suspend()).Times(1); 126 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
117 EXPECT_CALL(*media_session_, Resume()).Times(0); 127 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
118 MediaSessionChanged(true, false); 128 MediaSessionChanged(true, false);
119 } 129 }
120 130
121 TEST_F(CastMediaBlockerTest, Block_After_Controllable) { 131 TEST_F(CastMediaBlockerTest, Block_After_Controllable) {
122 // Tests CastMediaBlocker suspends immediately on block if controllable. 132 // Tests CastMediaBlocker suspends immediately on block if controllable.
123 EXPECT_CALL(*media_session_, Suspend()).Times(0); 133 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
124 EXPECT_CALL(*media_session_, Resume()).Times(0); 134 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
125 MediaSessionChanged(true, false); 135 MediaSessionChanged(true, false);
126 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 136 testing::Mock::VerifyAndClearExpectations(media_session_.get());
127 137
128 // Block when media is playing 138 // Block when media is playing
129 EXPECT_CALL(*media_session_, Suspend()).Times(1); 139 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
130 EXPECT_CALL(*media_session_, Resume()).Times(0); 140 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
131 media_blocker_->BlockMediaLoading(true); 141 media_blocker_->BlockMediaLoading(true);
132 MediaSessionChanged(true, true); 142 MediaSessionChanged(true, true);
133 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 143 testing::Mock::VerifyAndClearExpectations(media_session_.get());
134 144
135 // Unblock 145 // Unblock
136 EXPECT_CALL(*media_session_, Suspend()).Times(0); 146 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
137 EXPECT_CALL(*media_session_, Resume()).Times(1); 147 EXPECT_CALL(*media_session_, Resume(_)).Times(1);
138 media_blocker_->BlockMediaLoading(false); 148 media_blocker_->BlockMediaLoading(false);
139 } 149 }
140 150
141 TEST_F(CastMediaBlockerTest, Block_Multiple) { 151 TEST_F(CastMediaBlockerTest, Block_Multiple) {
142 // Tests CastMediaBlocker repeatively suspends when blocked. 152 // Tests CastMediaBlocker repeatively suspends when blocked.
143 EXPECT_CALL(*media_session_, Suspend()).Times(0); 153 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
144 EXPECT_CALL(*media_session_, Resume()).Times(0); 154 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
145 media_blocker_->BlockMediaLoading(true); 155 media_blocker_->BlockMediaLoading(true);
146 MediaSessionChanged(false, false); 156 MediaSessionChanged(false, false);
147 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 157 testing::Mock::VerifyAndClearExpectations(media_session_.get());
148 158
149 EXPECT_CALL(*media_session_, Suspend()).Times(1); 159 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
150 EXPECT_CALL(*media_session_, Resume()).Times(0); 160 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
151 MediaSessionChanged(true, false); 161 MediaSessionChanged(true, false);
152 MediaSessionChanged(true, true); 162 MediaSessionChanged(true, true);
153 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 163 testing::Mock::VerifyAndClearExpectations(media_session_.get());
154 164
155 EXPECT_CALL(*media_session_, Suspend()).Times(1); 165 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
156 EXPECT_CALL(*media_session_, Resume()).Times(0); 166 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
157 MediaSessionChanged(true, false); 167 MediaSessionChanged(true, false);
158 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 168 testing::Mock::VerifyAndClearExpectations(media_session_.get());
159 MediaSessionChanged(true, true); 169 MediaSessionChanged(true, true);
160 170
161 EXPECT_CALL(*media_session_, Suspend()).Times(0); 171 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
162 EXPECT_CALL(*media_session_, Resume()).Times(0); 172 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
163 MediaSessionChanged(false, true); 173 MediaSessionChanged(false, true);
164 MediaSessionChanged(false, false); 174 MediaSessionChanged(false, false);
165 MediaSessionChanged(false, true); 175 MediaSessionChanged(false, true);
166 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 176 testing::Mock::VerifyAndClearExpectations(media_session_.get());
167 } 177 }
168 178
169 TEST_F(CastMediaBlockerTest, Block_Unblock_Uncontrollable) { 179 TEST_F(CastMediaBlockerTest, Block_Unblock_Uncontrollable) {
170 // Tests CastMediaBlocker does not suspend or resume when uncontrollable. 180 // Tests CastMediaBlocker does not suspend or resume when uncontrollable.
171 EXPECT_CALL(*media_session_, Suspend()).Times(0); 181 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
172 EXPECT_CALL(*media_session_, Resume()).Times(0); 182 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
173 media_blocker_->BlockMediaLoading(true); 183 media_blocker_->BlockMediaLoading(true);
174 MediaSessionChanged(false, false); 184 MediaSessionChanged(false, false);
175 media_blocker_->BlockMediaLoading(false); 185 media_blocker_->BlockMediaLoading(false);
176 media_blocker_->BlockMediaLoading(true); 186 media_blocker_->BlockMediaLoading(true);
177 MediaSessionChanged(false, true); 187 MediaSessionChanged(false, true);
178 media_blocker_->BlockMediaLoading(false); 188 media_blocker_->BlockMediaLoading(false);
179 media_blocker_->BlockMediaLoading(true); 189 media_blocker_->BlockMediaLoading(true);
180 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 190 testing::Mock::VerifyAndClearExpectations(media_session_.get());
181 } 191 }
182 192
183 TEST_F(CastMediaBlockerTest, Block_Unblock_Uncontrollable2) { 193 TEST_F(CastMediaBlockerTest, Block_Unblock_Uncontrollable2) {
184 EXPECT_CALL(*media_session_, Suspend()).Times(1); 194 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
185 EXPECT_CALL(*media_session_, Resume()).Times(0); 195 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
186 MediaSessionChanged(true, true); 196 MediaSessionChanged(true, true);
187 media_blocker_->BlockMediaLoading(true); 197 media_blocker_->BlockMediaLoading(true);
188 MediaSessionChanged(false, true); 198 MediaSessionChanged(false, true);
189 MediaSessionChanged(true, true); 199 MediaSessionChanged(true, true);
190 MediaSessionChanged(true, false); 200 MediaSessionChanged(true, false);
191 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 201 testing::Mock::VerifyAndClearExpectations(media_session_.get());
192 202
193 EXPECT_CALL(*media_session_, Suspend()).Times(1); 203 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
194 EXPECT_CALL(*media_session_, Resume()).Times(0); 204 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
195 MediaSessionChanged(false, false); 205 MediaSessionChanged(false, false);
196 MediaSessionChanged(false, true); 206 MediaSessionChanged(false, true);
197 MediaSessionChanged(true, true); 207 MediaSessionChanged(true, true);
198 MediaSessionChanged(true, false); 208 MediaSessionChanged(true, false);
199 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 209 testing::Mock::VerifyAndClearExpectations(media_session_.get());
200 210
201 EXPECT_CALL(*media_session_, Suspend()).Times(0); 211 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
202 EXPECT_CALL(*media_session_, Resume()).Times(0); 212 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
203 media_blocker_->BlockMediaLoading(false); 213 media_blocker_->BlockMediaLoading(false);
204 } 214 }
205 215
206 TEST_F(CastMediaBlockerTest, Resume_When_Controllable) { 216 TEST_F(CastMediaBlockerTest, Resume_When_Controllable) {
207 // Tests CastMediaBlocker will only resume after unblock when controllable. 217 // Tests CastMediaBlocker will only resume after unblock when controllable.
208 EXPECT_CALL(*media_session_, Suspend()).Times(1); 218 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
209 EXPECT_CALL(*media_session_, Resume()).Times(0); 219 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
210 MediaSessionChanged(true, false); 220 MediaSessionChanged(true, false);
211 media_blocker_->BlockMediaLoading(true); 221 media_blocker_->BlockMediaLoading(true);
212 MediaSessionChanged(true, true); 222 MediaSessionChanged(true, true);
213 MediaSessionChanged(false, true); 223 MediaSessionChanged(false, true);
214 media_blocker_->BlockMediaLoading(false); 224 media_blocker_->BlockMediaLoading(false);
215 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 225 testing::Mock::VerifyAndClearExpectations(media_session_.get());
216 226
217 EXPECT_CALL(*media_session_, Suspend()).Times(0); 227 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
218 EXPECT_CALL(*media_session_, Resume()).Times(1); 228 EXPECT_CALL(*media_session_, Resume(_)).Times(1);
219 MediaSessionChanged(true, true); 229 MediaSessionChanged(true, true);
220 } 230 }
221 231
222 TEST_F(CastMediaBlockerTest, No_Resume) { 232 TEST_F(CastMediaBlockerTest, No_Resume) {
223 // Tests CastMediaBlocker will not resume if media starts playing by itself 233 // Tests CastMediaBlocker will not resume if media starts playing by itself
224 // after unblock. 234 // after unblock.
225 EXPECT_CALL(*media_session_, Suspend()).Times(1); 235 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
226 EXPECT_CALL(*media_session_, Resume()).Times(0); 236 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
227 MediaSessionChanged(true, false); 237 MediaSessionChanged(true, false);
228 media_blocker_->BlockMediaLoading(true); 238 media_blocker_->BlockMediaLoading(true);
229 MediaSessionChanged(true, true); 239 MediaSessionChanged(true, true);
230 MediaSessionChanged(false, true); 240 MediaSessionChanged(false, true);
231 media_blocker_->BlockMediaLoading(false); 241 media_blocker_->BlockMediaLoading(false);
232 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 242 testing::Mock::VerifyAndClearExpectations(media_session_.get());
233 243
234 EXPECT_CALL(*media_session_, Suspend()).Times(0); 244 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
235 EXPECT_CALL(*media_session_, Resume()).Times(0); 245 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
236 MediaSessionChanged(false, false); 246 MediaSessionChanged(false, false);
237 } 247 }
238 248
239 TEST_F(CastMediaBlockerTest, Block_Before_Resume) { 249 TEST_F(CastMediaBlockerTest, Block_Before_Resume) {
240 // Tests CastMediaBlocker does not resume if blocked again after an unblock. 250 // Tests CastMediaBlocker does not resume if blocked again after an unblock.
241 EXPECT_CALL(*media_session_, Suspend()).Times(1); 251 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
242 EXPECT_CALL(*media_session_, Resume()).Times(0); 252 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
243 MediaSessionChanged(true, false); 253 MediaSessionChanged(true, false);
244 media_blocker_->BlockMediaLoading(true); 254 media_blocker_->BlockMediaLoading(true);
245 MediaSessionChanged(true, true); 255 MediaSessionChanged(true, true);
246 MediaSessionChanged(false, true); 256 MediaSessionChanged(false, true);
247 media_blocker_->BlockMediaLoading(false); 257 media_blocker_->BlockMediaLoading(false);
248 testing::Mock::VerifyAndClearExpectations(media_session_.get()); 258 testing::Mock::VerifyAndClearExpectations(media_session_.get());
249 259
250 EXPECT_CALL(*media_session_, Suspend()).Times(0); 260 EXPECT_CALL(*media_session_, Suspend(_)).Times(0);
251 EXPECT_CALL(*media_session_, Resume()).Times(0); 261 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
252 media_blocker_->BlockMediaLoading(true); 262 media_blocker_->BlockMediaLoading(true);
253 MediaSessionChanged(true, true); 263 MediaSessionChanged(true, true);
254 } 264 }
255 265
256 TEST_F(CastMediaBlockerTest, Unblocked_Already_Playing) { 266 TEST_F(CastMediaBlockerTest, Unblocked_Already_Playing) {
257 // Tests CastMediaBlocker does not resume if unblocked and media is playing. 267 // Tests CastMediaBlocker does not resume if unblocked and media is playing.
258 EXPECT_CALL(*media_session_, Suspend()).Times(1); 268 EXPECT_CALL(*media_session_, Suspend(_)).Times(1);
259 EXPECT_CALL(*media_session_, Resume()).Times(0); 269 EXPECT_CALL(*media_session_, Resume(_)).Times(0);
260 MediaSessionChanged(true, false); 270 MediaSessionChanged(true, false);
261 media_blocker_->BlockMediaLoading(true); 271 media_blocker_->BlockMediaLoading(true);
262 media_blocker_->BlockMediaLoading(false); 272 media_blocker_->BlockMediaLoading(false);
263 } 273 }
264 274
265 } // namespace shell 275 } // namespace shell
266 } // namespace chromecast 276 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698