| OLD | NEW |
| 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" |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 content::WebContents* incognito_web_contents_; | 156 content::WebContents* incognito_web_contents_; |
| 157 }; | 157 }; |
| 158 | 158 |
| 159 TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) { | 159 TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) { |
| 160 std::string presentation_url1("http://url1.fakeUrl"); | 160 std::string presentation_url1("http://url1.fakeUrl"); |
| 161 std::string presentation_url2("http://url2.fakeUrl"); | 161 std::string presentation_url2("http://url2.fakeUrl"); |
| 162 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1); | 162 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1); |
| 163 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2); | 163 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2); |
| 164 MockScreenAvailabilityListener listener1(presentation_url1); | 164 MockScreenAvailabilityListener listener1(presentation_url1); |
| 165 MockScreenAvailabilityListener listener2(presentation_url2); | 165 MockScreenAvailabilityListener listener2(presentation_url2); |
| 166 int render_process_id = 10; | 166 content::RenderFrameHost* main_frame = GetWebContents()->GetMainFrame(); |
| 167 int render_frame_id1 = 1; | 167 ASSERT_TRUE(main_frame); |
| 168 int render_frame_id2 = 2; | 168 int render_process_id = main_frame->GetProcess()->GetID(); |
| 169 int render_frame_id1 = main_frame->GetRoutingID(); |
| 170 |
| 171 // Note that |render_frame_id2| does not correspond to a real frame. As a |
| 172 // result, the observer added with have an empty GURL as origin. |
| 173 int render_frame_id2 = render_frame_id1 + 1; |
| 169 | 174 |
| 170 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)) | 175 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)) |
| 171 .Times(2) | 176 .Times(2) |
| 172 .WillRepeatedly(Return(true)); | 177 .WillRepeatedly(Return(true)); |
| 173 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( | 178 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( |
| 174 render_process_id, render_frame_id1, &listener1)); | 179 render_process_id, render_frame_id1, &listener1)); |
| 175 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( | 180 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( |
| 176 render_process_id, render_frame_id2, &listener2)); | 181 render_process_id, render_frame_id2, &listener2)); |
| 177 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 182 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
| 178 render_process_id, render_frame_id1, source1.id())) | 183 render_process_id, render_frame_id1, source1.id())) |
| (...skipping 10 matching lines...) Expand all Loading... |
| 189 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 194 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
| 190 render_process_id, render_frame_id1, source1.id())); | 195 render_process_id, render_frame_id1, source1.id())); |
| 191 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 196 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
| 192 render_process_id, render_frame_id2, source2.id())); | 197 render_process_id, render_frame_id2, source2.id())); |
| 193 } | 198 } |
| 194 | 199 |
| 195 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) { | 200 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) { |
| 196 std::string presentation_url1("http://url1.fakeUrl"); | 201 std::string presentation_url1("http://url1.fakeUrl"); |
| 197 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1)); | 202 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1)); |
| 198 MockScreenAvailabilityListener listener1(presentation_url1); | 203 MockScreenAvailabilityListener listener1(presentation_url1); |
| 199 int render_process_id = 1; | 204 content::RenderFrameHost* main_frame = GetWebContents()->GetMainFrame(); |
| 200 int render_frame_id = 0; | 205 ASSERT_TRUE(main_frame); |
| 206 int render_process_id = main_frame->GetProcess()->GetID(); |
| 207 int render_frame_id = main_frame->GetRoutingID(); |
| 201 | 208 |
| 202 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(true)); | 209 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(true)); |
| 203 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( | 210 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( |
| 204 render_process_id, render_frame_id, &listener1)); | 211 render_process_id, render_frame_id, &listener1)); |
| 205 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( | 212 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( |
| 206 render_process_id, render_frame_id, &listener1)); | 213 render_process_id, render_frame_id, &listener1)); |
| 207 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 214 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
| 208 render_process_id, render_frame_id, source1.id())); | 215 render_process_id, render_frame_id, source1.id())); |
| 209 | 216 |
| 210 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); | 217 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 connection, callback); | 375 connection, callback); |
| 369 } | 376 } |
| 370 | 377 |
| 371 TEST_F(PresentationServiceDelegateImplTest, Reset) { | 378 TEST_F(PresentationServiceDelegateImplTest, Reset) { |
| 372 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)) | 379 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)) |
| 373 .WillRepeatedly(Return(true)); | 380 .WillRepeatedly(Return(true)); |
| 374 | 381 |
| 375 std::string presentation_url1("http://url1.fakeUrl"); | 382 std::string presentation_url1("http://url1.fakeUrl"); |
| 376 MediaSource source = MediaSourceForPresentationUrl(presentation_url1); | 383 MediaSource source = MediaSourceForPresentationUrl(presentation_url1); |
| 377 MockScreenAvailabilityListener listener1(presentation_url1); | 384 MockScreenAvailabilityListener listener1(presentation_url1); |
| 378 int render_process_id = 1; | 385 |
| 379 int render_frame_id = 0; | 386 content::RenderFrameHost* main_frame = GetWebContents()->GetMainFrame(); |
| 387 ASSERT_TRUE(main_frame); |
| 388 int render_process_id = main_frame->GetProcess()->GetID(); |
| 389 int render_frame_id = main_frame->GetRoutingID(); |
| 380 | 390 |
| 381 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( | 391 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( |
| 382 render_process_id, render_frame_id, &listener1)); | 392 render_process_id, render_frame_id, &listener1)); |
| 383 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 393 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
| 384 render_process_id, render_frame_id, source.id())); | 394 render_process_id, render_frame_id, source.id())); |
| 385 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); | 395 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); |
| 386 delegate_impl_->Reset(render_process_id, render_frame_id); | 396 delegate_impl_->Reset(render_process_id, render_frame_id); |
| 387 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 397 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
| 388 render_process_id, render_frame_id, source.id())); | 398 render_process_id, render_frame_id, source.id())); |
| 389 } | 399 } |
| (...skipping 12 matching lines...) Expand all Loading... |
| 402 // Removes |delegate_observer2|. | 412 // Removes |delegate_observer2|. |
| 403 manager->RemoveObserver(345, 456); | 413 manager->RemoveObserver(345, 456); |
| 404 | 414 |
| 405 EXPECT_CALL(delegate_observer1, OnDelegateDestroyed()).Times(1); | 415 EXPECT_CALL(delegate_observer1, OnDelegateDestroyed()).Times(1); |
| 406 manager.reset(); | 416 manager.reset(); |
| 407 } | 417 } |
| 408 | 418 |
| 409 TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) { | 419 TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) { |
| 410 const std::string presentation_url("http://url1.fakeUrl"); | 420 const std::string presentation_url("http://url1.fakeUrl"); |
| 411 MockScreenAvailabilityListener listener(presentation_url); | 421 MockScreenAvailabilityListener listener(presentation_url); |
| 412 const int render_process_id = 10; | 422 content::RenderFrameHost* main_frame = GetWebContents()->GetMainFrame(); |
| 413 const int render_frame_id = 1; | 423 ASSERT_TRUE(main_frame); |
| 424 int render_process_id = main_frame->GetProcess()->GetID(); |
| 425 int render_frame_id = main_frame->GetRoutingID(); |
| 414 | 426 |
| 415 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(false)); | 427 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(false)); |
| 416 EXPECT_CALL(listener, OnScreenAvailabilityNotSupported()); | 428 EXPECT_CALL(listener, OnScreenAvailabilityNotSupported()); |
| 417 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( | 429 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( |
| 418 render_process_id, render_frame_id, &listener)); | 430 render_process_id, render_frame_id, &listener)); |
| 419 } | 431 } |
| 420 | 432 |
| 421 } // namespace media_router | 433 } // namespace media_router |
| OLD | NEW |