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

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

Issue 1406013003: [Presentation API / Media Router] Clean up default pres URL logic. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments #20, #22 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;
27 using ::testing::StrictMock; 28 using ::testing::StrictMock;
28 29
29 namespace media_router { 30 namespace media_router {
30 31
31 class MockDelegateObserver 32 class MockDelegateObserver
32 : public content::PresentationServiceDelegate::Observer { 33 : public content::PresentationServiceDelegate::Observer {
33 public: 34 public:
34 MOCK_METHOD0(OnDelegateDestroyed, void()); 35 MOCK_METHOD0(OnDelegateDestroyed, void());
35 MOCK_METHOD1(OnDefaultPresentationStarted, 36 MOCK_METHOD1(OnDefaultPresentationStarted,
36 void(const content::PresentationSessionInfo&)); 37 void(const content::PresentationSessionInfo&));
37 }; 38 };
38 39
39 class MockDefaultMediaSourceObserver 40 class MockDefaultPresentationRequestObserver
40 : public PresentationServiceDelegateImpl::DefaultMediaSourceObserver { 41 : public PresentationServiceDelegateImpl::
42 DefaultPresentationRequestObserver {
41 public: 43 public:
42 MOCK_METHOD2(OnDefaultMediaSourceChanged, 44 MOCK_METHOD1(OnDefaultPresentationChanged, void(const PresentationRequest&));
43 void(const MediaSource&, const GURL&)); 45 MOCK_METHOD0(OnDefaultPresentationRemoved, void());
44 }; 46 };
45 47
46 class PresentationServiceDelegateImplTest 48 class PresentationServiceDelegateImplTest
47 : public ChromeRenderViewHostTestHarness { 49 : public ChromeRenderViewHostTestHarness {
48 public: 50 public:
49 void SetUp() override { 51 void SetUp() override {
50 ChromeRenderViewHostTestHarness::SetUp(); 52 ChromeRenderViewHostTestHarness::SetUp();
51 content::WebContents* wc = web_contents(); 53 content::WebContents* wc = web_contents();
52 ASSERT_TRUE(wc); 54 ASSERT_TRUE(wc);
53 PresentationServiceDelegateImpl::CreateForWebContents(wc); 55 PresentationServiceDelegateImpl::CreateForWebContents(wc);
54 delegate_impl_ = PresentationServiceDelegateImpl::FromWebContents(wc); 56 delegate_impl_ = PresentationServiceDelegateImpl::FromWebContents(wc);
55 delegate_impl_->SetMediaRouterForTest(&router_); 57 delegate_impl_->SetMediaRouterForTest(&router_);
56 } 58 }
57 59
60 MOCK_METHOD1(OnDefaultPresentationStarted,
61 void(const content::PresentationSessionInfo& session_info));
62
58 PresentationServiceDelegateImpl* delegate_impl_; 63 PresentationServiceDelegateImpl* delegate_impl_;
59 MockMediaRouter router_; 64 MockMediaRouter router_;
60 }; 65 };
61 66
62 TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) { 67 TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) {
63 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); 68 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true));
64 69
65 std::string presentation_url1("http://url1"); 70 std::string presentation_url1("http://url1.fakeUrl");
66 std::string presentation_url2("http://url2"); 71 std::string presentation_url2("http://url2.fakeUrl");
67 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1); 72 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1);
68 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2); 73 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2);
69 MockScreenAvailabilityListener listener1(presentation_url1); 74 MockScreenAvailabilityListener listener1(presentation_url1);
70 MockScreenAvailabilityListener listener2(presentation_url2); 75 MockScreenAvailabilityListener listener2(presentation_url2);
71 int render_process_id = 10; 76 int render_process_id = 10;
72 int render_frame_id1 = 1; 77 int render_frame_id1 = 1;
73 int render_frame_id2 = 2; 78 int render_frame_id2 = 2;
74 79
75 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(2); 80 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(2);
76 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 81 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
(...skipping 14 matching lines...) Expand all
91 render_process_id, render_frame_id2, &listener2); 96 render_process_id, render_frame_id2, &listener2);
92 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( 97 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
93 render_process_id, render_frame_id1, source1.id())); 98 render_process_id, render_frame_id1, source1.id()));
94 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( 99 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
95 render_process_id, render_frame_id2, source2.id())); 100 render_process_id, render_frame_id2, source2.id()));
96 } 101 }
97 102
98 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) { 103 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) {
99 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); 104 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true));
100 105
101 std::string presentation_url1("http://url1"); 106 std::string presentation_url1("http://url1.fakeUrl");
102 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1)); 107 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1));
103 MockScreenAvailabilityListener listener1(presentation_url1); 108 MockScreenAvailabilityListener listener1(presentation_url1);
104 int render_process_id = 1; 109 int render_process_id = 1;
105 int render_frame_id = 0; 110 int render_frame_id = 0;
106 111
107 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1); 112 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1);
108 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 113 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
109 render_process_id, render_frame_id, &listener1)); 114 render_process_id, render_frame_id, &listener1));
110 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( 115 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener(
111 render_process_id, render_frame_id, &listener1)); 116 render_process_id, render_frame_id, &listener1));
112 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( 117 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest(
113 render_process_id, render_frame_id, source1.id())); 118 render_process_id, render_frame_id, source1.id()));
114 119
115 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); 120 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1);
116 delegate_impl_->RemoveScreenAvailabilityListener(render_process_id, 121 delegate_impl_->RemoveScreenAvailabilityListener(render_process_id,
117 render_frame_id, &listener1); 122 render_frame_id, &listener1);
118 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( 123 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
119 render_process_id, render_frame_id, source1.id())); 124 render_process_id, render_frame_id, source1.id()));
120 } 125 }
121 126
127 // TODO(imcheng): Add a test to set default presentation URL in a different
128 // RenderFrameHost and verify that it works.
122 TEST_F(PresentationServiceDelegateImplTest, SetDefaultPresentationUrl) { 129 TEST_F(PresentationServiceDelegateImplTest, SetDefaultPresentationUrl) {
123 content::WebContentsTester::For(web_contents()) 130 EXPECT_FALSE(delegate_impl_->HasDefaultPresentationRequest());
124 ->NavigateAndCommit(GURL("http://www.google.com")); 131
132 GURL frame_url("http://www.google.com");
133 content::WebContentsTester::For(web_contents())->NavigateAndCommit(frame_url);
125 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame(); 134 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame();
126 ASSERT_TRUE(main_frame); 135 ASSERT_TRUE(main_frame);
127 int render_process_id = main_frame->GetProcess()->GetID(); 136 int render_process_id = main_frame->GetProcess()->GetID();
128 int routing_id = main_frame->GetRoutingID(); 137 int routing_id = main_frame->GetRoutingID();
129 138
130 std::string presentation_url1("http://foo"); 139 auto callback = base::Bind(
140 &PresentationServiceDelegateImplTest::OnDefaultPresentationStarted,
141 base::Unretained(this));
142 std::string presentation_url1("http://foo.fakeUrl");
131 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, 143 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id,
132 presentation_url1); 144 presentation_url1, callback);
133 EXPECT_TRUE(delegate_impl_->default_source().Equals( 145 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest());
134 MediaSourceForPresentationUrl(presentation_url1))); 146 PresentationRequest request1 =
135 147 delegate_impl_->GetDefaultPresentationRequest();
136 // Remove default presentation URL. 148 EXPECT_EQ(presentation_url1, request1.presentation_url());
137 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, ""); 149 EXPECT_EQ(RenderFrameHostId(render_process_id, routing_id),
138 EXPECT_TRUE(delegate_impl_->default_source().Empty()); 150 request1.render_frame_host_id());
151 EXPECT_EQ(frame_url, request1.frame_url());
139 152
140 // Set to a new default presentation URL 153 // Set to a new default presentation URL
141 std::string presentation_url2("https://youtube.com"); 154 std::string presentation_url2("https://youtube.com");
142 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, 155 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id,
143 presentation_url2); 156 presentation_url2, callback);
144 EXPECT_TRUE(delegate_impl_->default_source().Equals( 157 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest());
145 MediaSourceForPresentationUrl(presentation_url2))); 158 PresentationRequest request2 =
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());
146 } 169 }
147 170
148 TEST_F(PresentationServiceDelegateImplTest, DefaultMediaSourceObserver) { 171 TEST_F(PresentationServiceDelegateImplTest, DefaultPresentationUrlCallback) {
149 content::WebContentsTester::For(web_contents())
150 ->NavigateAndCommit(GURL("http://www.google.com"));
151 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame(); 172 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame();
152 ASSERT_TRUE(main_frame); 173 ASSERT_TRUE(main_frame);
153 int render_process_id = main_frame->GetProcess()->GetID(); 174 int render_process_id = main_frame->GetProcess()->GetID();
154 int routing_id = main_frame->GetRoutingID(); 175 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);
168 176
169 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer1)); 177 auto callback = base::Bind(
170 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer2)); 178 &PresentationServiceDelegateImplTest::OnDefaultPresentationStarted,
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);
171 183
172 delegate_impl_->RemoveDefaultMediaSourceObserver(&observer2); 184 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest());
185 PresentationRequest request = delegate_impl_->GetDefaultPresentationRequest();
186
187 // Should not trigger callback since route response is error.
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
173 std::string url2("http://youtube.com"); 241 std::string url2("http://youtube.com");
174 EXPECT_CALL(observer1, OnDefaultMediaSourceChanged( 242 PresentationRequest observed_request2(
175 Equals(MediaSourceForPresentationUrl(url2)), 243 RenderFrameHostId(render_process_id, routing_id), url2, frame_url);
176 GURL("http://www.google.com"))).Times(1); 244 EXPECT_CALL(observer, OnDefaultPresentationChanged(Equals(observed_request2)))
mark a. foltz 2015/11/09 18:33:35 observer.OnDefaultPresentationCleared() should be
imcheng 2015/11/10 18:49:13 Yep. It is done below.
177 delegate_impl_->SetDefaultPresentationUrl(render_process_id, 245 .Times(1);
178 routing_id, url2); 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));
179 252
180 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer1)); 253 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer));
254
181 // Remove default presentation URL. 255 // Remove default presentation URL.
182 EXPECT_CALL(observer1, OnDefaultMediaSourceChanged( 256 EXPECT_CALL(observer, OnDefaultPresentationRemoved()).Times(1);
183 Equals(MediaSource()), 257 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, "",
184 GURL("http://www.google.com"))).Times(1); 258 callback);
185 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, "");
186 } 259 }
187 260
188 TEST_F(PresentationServiceDelegateImplTest, Reset) { 261 TEST_F(PresentationServiceDelegateImplTest, Reset) {
189 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); 262 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true));
190 263
191 std::string presentation_url1("http://url1"); 264 std::string presentation_url1("http://url1.fakeUrl");
192 MediaSource source = MediaSourceForPresentationUrl(presentation_url1); 265 MediaSource source = MediaSourceForPresentationUrl(presentation_url1);
193 MockScreenAvailabilityListener listener1(presentation_url1); 266 MockScreenAvailabilityListener listener1(presentation_url1);
194 int render_process_id = 1; 267 int render_process_id = 1;
195 int render_frame_id = 0; 268 int render_frame_id = 0;
196 269
197 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 270 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
198 render_process_id, render_frame_id, &listener1)); 271 render_process_id, render_frame_id, &listener1));
199 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( 272 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest(
200 render_process_id, render_frame_id, source.id())); 273 render_process_id, render_frame_id, source.id()));
201 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); 274 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1);
(...skipping 16 matching lines...) Expand all
218 // Removes |delegate_observer2|. 291 // Removes |delegate_observer2|.
219 manager->RemoveObserver(345, 456); 292 manager->RemoveObserver(345, 456);
220 293
221 EXPECT_CALL(delegate_observer1, OnDelegateDestroyed()).Times(1); 294 EXPECT_CALL(delegate_observer1, OnDelegateDestroyed()).Times(1);
222 manager.reset(); 295 manager.reset();
223 } 296 }
224 297
225 TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) { 298 TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) {
226 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(false)); 299 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(false));
227 300
228 const std::string presentation_url("http://url1"); 301 const std::string presentation_url("http://url1.fakeUrl");
229 MockScreenAvailabilityListener listener(presentation_url); 302 MockScreenAvailabilityListener listener(presentation_url);
230 const int render_process_id = 10; 303 const int render_process_id = 10;
231 const int render_frame_id = 1; 304 const int render_frame_id = 1;
232 305
233 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1); 306 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1);
234 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( 307 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener(
235 render_process_id, render_frame_id, &listener)); 308 render_process_id, render_frame_id, &listener));
236 } 309 }
237 310
238 } // namespace media_router 311 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698