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

Side by Side Diff: chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc

Issue 1436703002: Revert of [Presentation API / Media Router] Clean up default pres URL logic. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 <vector> 5 #include <vector>
6 6
7 #include "base/strings/stringprintf.h" 7 #include "base/strings/stringprintf.h"
8 #include "chrome/browser/media/router/media_source.h" 8 #include "chrome/browser/media/router/media_source.h"
9 #include "chrome/browser/media/router/media_source_helper.h" 9 #include "chrome/browser/media/router/media_source_helper.h"
10 #include "chrome/browser/media/router/mock_media_router.h" 10 #include "chrome/browser/media/router/mock_media_router.h"
11 #include "chrome/browser/media/router/mock_screen_availability_listener.h" 11 #include "chrome/browser/media/router/mock_screen_availability_listener.h"
12 #include "chrome/browser/media/router/presentation_service_delegate_impl.h" 12 #include "chrome/browser/media/router/presentation_service_delegate_impl.h"
13 #include "chrome/browser/media/router/test_helper.h" 13 #include "chrome/browser/media/router/test_helper.h"
14 #include "chrome/grit/generated_resources.h" 14 #include "chrome/grit/generated_resources.h"
15 #include "chrome/test/base/chrome_render_view_host_test_harness.h" 15 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
16 #include "content/public/browser/presentation_screen_availability_listener.h" 16 #include "content/public/browser/presentation_screen_availability_listener.h"
17 #include "content/public/browser/presentation_session.h" 17 #include "content/public/browser/presentation_session.h"
18 #include "content/public/browser/render_process_host.h" 18 #include "content/public/browser/render_process_host.h"
19 #include "content/public/browser/web_contents.h" 19 #include "content/public/browser/web_contents.h"
20 #include "content/public/test/web_contents_tester.h" 20 #include "content/public/test/web_contents_tester.h"
21 #include "testing/gmock/include/gmock/gmock.h" 21 #include "testing/gmock/include/gmock/gmock.h"
22 #include "ui/base/l10n/l10n_util.h" 22 #include "ui/base/l10n/l10n_util.h"
23 23
24 using ::testing::_; 24 using ::testing::_;
25 using ::testing::Mock; 25 using ::testing::Mock;
26 using ::testing::Return; 26 using ::testing::Return;
27 using ::testing::SaveArg;
28 using ::testing::StrictMock; 27 using ::testing::StrictMock;
29 28
30 namespace media_router { 29 namespace media_router {
31 30
32 class MockDelegateObserver 31 class MockDelegateObserver
33 : public content::PresentationServiceDelegate::Observer { 32 : public content::PresentationServiceDelegate::Observer {
34 public: 33 public:
35 MOCK_METHOD0(OnDelegateDestroyed, void()); 34 MOCK_METHOD0(OnDelegateDestroyed, void());
36 MOCK_METHOD1(OnDefaultPresentationStarted, 35 MOCK_METHOD1(OnDefaultPresentationStarted,
37 void(const content::PresentationSessionInfo&)); 36 void(const content::PresentationSessionInfo&));
38 }; 37 };
39 38
40 class MockDefaultPresentationRequestObserver 39 class MockDefaultMediaSourceObserver
41 : public PresentationServiceDelegateImpl:: 40 : public PresentationServiceDelegateImpl::DefaultMediaSourceObserver {
42 DefaultPresentationRequestObserver {
43 public: 41 public:
44 MOCK_METHOD1(OnDefaultPresentationChanged, void(const PresentationRequest&)); 42 MOCK_METHOD2(OnDefaultMediaSourceChanged,
45 MOCK_METHOD0(OnDefaultPresentationRemoved, void()); 43 void(const MediaSource&, const GURL&));
46 }; 44 };
47 45
48 class PresentationServiceDelegateImplTest 46 class PresentationServiceDelegateImplTest
49 : public ChromeRenderViewHostTestHarness { 47 : public ChromeRenderViewHostTestHarness {
50 public: 48 public:
51 void SetUp() override { 49 void SetUp() override {
52 ChromeRenderViewHostTestHarness::SetUp(); 50 ChromeRenderViewHostTestHarness::SetUp();
53 content::WebContents* wc = web_contents(); 51 content::WebContents* wc = web_contents();
54 ASSERT_TRUE(wc); 52 ASSERT_TRUE(wc);
55 PresentationServiceDelegateImpl::CreateForWebContents(wc); 53 PresentationServiceDelegateImpl::CreateForWebContents(wc);
56 delegate_impl_ = PresentationServiceDelegateImpl::FromWebContents(wc); 54 delegate_impl_ = PresentationServiceDelegateImpl::FromWebContents(wc);
57 delegate_impl_->SetMediaRouterForTest(&router_); 55 delegate_impl_->SetMediaRouterForTest(&router_);
58 } 56 }
59 57
60 MOCK_METHOD1(OnDefaultPresentationStarted,
61 void(const content::PresentationSessionInfo& session_info));
62
63 PresentationServiceDelegateImpl* delegate_impl_; 58 PresentationServiceDelegateImpl* delegate_impl_;
64 MockMediaRouter router_; 59 MockMediaRouter router_;
65 }; 60 };
66 61
67 TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) { 62 TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) {
68 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); 63 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true));
69 64
70 std::string presentation_url1("http://url1.fakeUrl"); 65 std::string presentation_url1("http://url1");
71 std::string presentation_url2("http://url2.fakeUrl"); 66 std::string presentation_url2("http://url2");
72 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1); 67 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1);
73 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2); 68 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2);
74 MockScreenAvailabilityListener listener1(presentation_url1); 69 MockScreenAvailabilityListener listener1(presentation_url1);
75 MockScreenAvailabilityListener listener2(presentation_url2); 70 MockScreenAvailabilityListener listener2(presentation_url2);
76 int render_process_id = 10; 71 int render_process_id = 10;
77 int render_frame_id1 = 1; 72 int render_frame_id1 = 1;
78 int render_frame_id2 = 2; 73 int render_frame_id2 = 2;
79 74
80 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(2); 75 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(2);
81 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 76 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
(...skipping 14 matching lines...) Expand all
96 render_process_id, render_frame_id2, &listener2); 91 render_process_id, render_frame_id2, &listener2);
97 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( 92 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
98 render_process_id, render_frame_id1, source1.id())); 93 render_process_id, render_frame_id1, source1.id()));
99 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( 94 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
100 render_process_id, render_frame_id2, source2.id())); 95 render_process_id, render_frame_id2, source2.id()));
101 } 96 }
102 97
103 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) { 98 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) {
104 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); 99 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true));
105 100
106 std::string presentation_url1("http://url1.fakeUrl"); 101 std::string presentation_url1("http://url1");
107 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1)); 102 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1));
108 MockScreenAvailabilityListener listener1(presentation_url1); 103 MockScreenAvailabilityListener listener1(presentation_url1);
109 int render_process_id = 1; 104 int render_process_id = 1;
110 int render_frame_id = 0; 105 int render_frame_id = 0;
111 106
112 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1); 107 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1);
113 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 108 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
114 render_process_id, render_frame_id, &listener1)); 109 render_process_id, render_frame_id, &listener1));
115 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( 110 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener(
116 render_process_id, render_frame_id, &listener1)); 111 render_process_id, render_frame_id, &listener1));
117 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( 112 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest(
118 render_process_id, render_frame_id, source1.id())); 113 render_process_id, render_frame_id, source1.id()));
119 114
120 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); 115 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1);
121 delegate_impl_->RemoveScreenAvailabilityListener(render_process_id, 116 delegate_impl_->RemoveScreenAvailabilityListener(render_process_id,
122 render_frame_id, &listener1); 117 render_frame_id, &listener1);
123 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( 118 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
124 render_process_id, render_frame_id, source1.id())); 119 render_process_id, render_frame_id, source1.id()));
125 } 120 }
126 121
127 // TODO(imcheng): Add a test to set default presentation URL in a different
128 // RenderFrameHost and verify that it works.
129 TEST_F(PresentationServiceDelegateImplTest, SetDefaultPresentationUrl) { 122 TEST_F(PresentationServiceDelegateImplTest, SetDefaultPresentationUrl) {
130 EXPECT_FALSE(delegate_impl_->HasDefaultPresentationRequest()); 123 content::WebContentsTester::For(web_contents())
131 124 ->NavigateAndCommit(GURL("http://www.google.com"));
132 GURL frame_url("http://www.google.com");
133 content::WebContentsTester::For(web_contents())->NavigateAndCommit(frame_url);
134 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame(); 125 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame();
135 ASSERT_TRUE(main_frame); 126 ASSERT_TRUE(main_frame);
136 int render_process_id = main_frame->GetProcess()->GetID(); 127 int render_process_id = main_frame->GetProcess()->GetID();
137 int routing_id = main_frame->GetRoutingID(); 128 int routing_id = main_frame->GetRoutingID();
138 129
139 auto callback = base::Bind( 130 std::string presentation_url1("http://foo");
140 &PresentationServiceDelegateImplTest::OnDefaultPresentationStarted,
141 base::Unretained(this));
142 std::string presentation_url1("http://foo.fakeUrl");
143 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, 131 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id,
144 presentation_url1, callback); 132 presentation_url1);
145 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest()); 133 EXPECT_TRUE(delegate_impl_->default_source().Equals(
146 PresentationRequest request1 = 134 MediaSourceForPresentationUrl(presentation_url1)));
147 delegate_impl_->GetDefaultPresentationRequest(); 135
148 EXPECT_EQ(presentation_url1, request1.presentation_url()); 136 // Remove default presentation URL.
149 EXPECT_EQ(RenderFrameHostId(render_process_id, routing_id), 137 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, "");
150 request1.render_frame_host_id()); 138 EXPECT_TRUE(delegate_impl_->default_source().Empty());
151 EXPECT_EQ(frame_url, request1.frame_url());
152 139
153 // Set to a new default presentation URL 140 // Set to a new default presentation URL
154 std::string presentation_url2("https://youtube.com"); 141 std::string presentation_url2("https://youtube.com");
155 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, 142 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id,
156 presentation_url2, callback); 143 presentation_url2);
157 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest()); 144 EXPECT_TRUE(delegate_impl_->default_source().Equals(
158 PresentationRequest request2 = 145 MediaSourceForPresentationUrl(presentation_url2)));
159 delegate_impl_->GetDefaultPresentationRequest();
160 EXPECT_EQ(presentation_url2, request2.presentation_url());
161 EXPECT_EQ(RenderFrameHostId(render_process_id, routing_id),
162 request2.render_frame_host_id());
163 EXPECT_EQ(frame_url, request2.frame_url());
164
165 // Remove default presentation URL.
166 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, "",
167 callback);
168 EXPECT_FALSE(delegate_impl_->HasDefaultPresentationRequest());
169 } 146 }
170 147
171 TEST_F(PresentationServiceDelegateImplTest, DefaultPresentationUrlCallback) { 148 TEST_F(PresentationServiceDelegateImplTest, DefaultMediaSourceObserver) {
149 content::WebContentsTester::For(web_contents())
150 ->NavigateAndCommit(GURL("http://www.google.com"));
172 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame(); 151 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame();
173 ASSERT_TRUE(main_frame); 152 ASSERT_TRUE(main_frame);
174 int render_process_id = main_frame->GetProcess()->GetID(); 153 int render_process_id = main_frame->GetProcess()->GetID();
175 int routing_id = main_frame->GetRoutingID(); 154 int routing_id = main_frame->GetRoutingID();
155 StrictMock<MockDefaultMediaSourceObserver> observer1;
156 StrictMock<MockDefaultMediaSourceObserver> observer2;
157 delegate_impl_->AddDefaultMediaSourceObserver(&observer1);
158 delegate_impl_->AddDefaultMediaSourceObserver(&observer2);
159 std::string url1("http://foo");
160 EXPECT_CALL(observer1, OnDefaultMediaSourceChanged(
161 Equals(MediaSourceForPresentationUrl(url1)),
162 GURL("http://www.google.com"))).Times(1);
163 EXPECT_CALL(observer2, OnDefaultMediaSourceChanged(
164 Equals(MediaSourceForPresentationUrl(url1)),
165 GURL("http://www.google.com"))).Times(1);
166 delegate_impl_->SetDefaultPresentationUrl(render_process_id,
167 routing_id, url1);
176 168
177 auto callback = base::Bind( 169 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer1));
178 &PresentationServiceDelegateImplTest::OnDefaultPresentationStarted, 170 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer2));
179 base::Unretained(this));
180 std::string presentation_url1("http://foo.fakeUrl");
181 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id,
182 presentation_url1, callback);
183 171
184 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest()); 172 delegate_impl_->RemoveDefaultMediaSourceObserver(&observer2);
185 PresentationRequest request = delegate_impl_->GetDefaultPresentationRequest(); 173 std::string url2("http://youtube.com");
174 EXPECT_CALL(observer1, OnDefaultMediaSourceChanged(
175 Equals(MediaSourceForPresentationUrl(url2)),
176 GURL("http://www.google.com"))).Times(1);
177 delegate_impl_->SetDefaultPresentationUrl(render_process_id,
178 routing_id, url2);
186 179
187 // Should not trigger callback since route response is error. 180 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer1));
188 delegate_impl_->OnRouteResponse(request, nullptr, "", "Error");
189 EXPECT_TRUE(Mock::VerifyAndClearExpectations(this));
190
191 // Should not trigger callback since request doesn't match.
192 std::string presentation_url2("http://bar.fakeUrl");
193 PresentationRequest different_request(RenderFrameHostId(100, 200),
194 presentation_url2,
195 GURL("http://anotherFrameUrl.fakeUrl"));
196 MediaRoute different_route("differentRouteId",
197 MediaSourceForPresentationUrl(presentation_url2),
198 "mediaSinkId", "", true, "", true);
199 delegate_impl_->OnRouteResponse(different_request, &different_route,
200 "differentPresentationId", "");
201 EXPECT_TRUE(Mock::VerifyAndClearExpectations(this));
202
203 // Should trigger callback since request matches.
204 MediaRoute route("routeId", MediaSourceForPresentationUrl(presentation_url1),
205 "mediaSinkId", "", true, "", true);
206 EXPECT_CALL(*this, OnDefaultPresentationStarted(_)).Times(1);
207 delegate_impl_->OnRouteResponse(request, &route, "presentationId", "");
208 }
209
210 TEST_F(PresentationServiceDelegateImplTest,
211 DefaultPresentationRequestObserver) {
212 auto callback = base::Bind(
213 &PresentationServiceDelegateImplTest::OnDefaultPresentationStarted,
214 base::Unretained(this));
215
216 StrictMock<MockDefaultPresentationRequestObserver> observer;
217 delegate_impl_->AddDefaultPresentationRequestObserver(&observer);
218
219 GURL frame_url("http://www.google.com");
220 content::WebContentsTester::For(web_contents())->NavigateAndCommit(frame_url);
221 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame();
222 ASSERT_TRUE(main_frame);
223 int render_process_id = main_frame->GetProcess()->GetID();
224 int routing_id = main_frame->GetRoutingID();
225
226 std::string url1("http://foo.fakeUrl");
227 PresentationRequest observed_request1(
228 RenderFrameHostId(render_process_id, routing_id), url1, frame_url);
229 EXPECT_CALL(observer, OnDefaultPresentationChanged(Equals(observed_request1)))
230 .Times(1);
231 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, url1,
232 callback);
233
234 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest());
235 PresentationRequest request1 =
236 delegate_impl_->GetDefaultPresentationRequest();
237 EXPECT_TRUE(request1.Equals(observed_request1));
238
239 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer));
240
241 std::string url2("http://youtube.com");
242 PresentationRequest observed_request2(
243 RenderFrameHostId(render_process_id, routing_id), url2, frame_url);
244 EXPECT_CALL(observer, OnDefaultPresentationChanged(Equals(observed_request2)))
245 .Times(1);
246 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, url2,
247 callback);
248 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest());
249 PresentationRequest request2 =
250 delegate_impl_->GetDefaultPresentationRequest();
251 EXPECT_TRUE(request2.Equals(observed_request2));
252
253 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer));
254
255 // Remove default presentation URL. 181 // Remove default presentation URL.
256 EXPECT_CALL(observer, OnDefaultPresentationRemoved()).Times(1); 182 EXPECT_CALL(observer1, OnDefaultMediaSourceChanged(
257 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, "", 183 Equals(MediaSource()),
258 callback); 184 GURL("http://www.google.com"))).Times(1);
185 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, "");
259 } 186 }
260 187
261 TEST_F(PresentationServiceDelegateImplTest, Reset) { 188 TEST_F(PresentationServiceDelegateImplTest, Reset) {
262 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); 189 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true));
263 190
264 std::string presentation_url1("http://url1.fakeUrl"); 191 std::string presentation_url1("http://url1");
265 MediaSource source = MediaSourceForPresentationUrl(presentation_url1); 192 MediaSource source = MediaSourceForPresentationUrl(presentation_url1);
266 MockScreenAvailabilityListener listener1(presentation_url1); 193 MockScreenAvailabilityListener listener1(presentation_url1);
267 int render_process_id = 1; 194 int render_process_id = 1;
268 int render_frame_id = 0; 195 int render_frame_id = 0;
269 196
270 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 197 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
271 render_process_id, render_frame_id, &listener1)); 198 render_process_id, render_frame_id, &listener1));
272 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( 199 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest(
273 render_process_id, render_frame_id, source.id())); 200 render_process_id, render_frame_id, source.id()));
274 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); 201 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1);
(...skipping 16 matching lines...) Expand all
291 // Removes |delegate_observer2|. 218 // Removes |delegate_observer2|.
292 manager->RemoveObserver(345, 456); 219 manager->RemoveObserver(345, 456);
293 220
294 EXPECT_CALL(delegate_observer1, OnDelegateDestroyed()).Times(1); 221 EXPECT_CALL(delegate_observer1, OnDelegateDestroyed()).Times(1);
295 manager.reset(); 222 manager.reset();
296 } 223 }
297 224
298 TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) { 225 TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) {
299 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(false)); 226 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(false));
300 227
301 const std::string presentation_url("http://url1.fakeUrl"); 228 const std::string presentation_url("http://url1");
302 MockScreenAvailabilityListener listener(presentation_url); 229 MockScreenAvailabilityListener listener(presentation_url);
303 const int render_process_id = 10; 230 const int render_process_id = 10;
304 const int render_frame_id = 1; 231 const int render_frame_id = 1;
305 232
306 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1); 233 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1);
307 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( 234 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener(
308 render_process_id, render_frame_id, &listener)); 235 render_process_id, render_frame_id, &listener));
309 } 236 }
310 237
311 } // namespace media_router 238 } // namespace media_router
OLDNEW
« no previous file with comments | « chrome/browser/media/router/presentation_service_delegate_impl.cc ('k') | chrome/browser/media/router/render_frame_host_id.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698