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 "chrome/browser/media/router/presentation_service_delegate_impl.h" | 5 #include "chrome/browser/media/router/presentation_service_delegate_impl.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
8 #include "base/test/mock_callback.h" | 8 #include "base/test/mock_callback.h" |
9 #include "chrome/browser/media/router/media_source.h" | 9 #include "chrome/browser/media/router/media_source.h" |
10 #include "chrome/browser/media/router/media_source_helper.h" | 10 #include "chrome/browser/media/router/media_source_helper.h" |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
540 ->NavigateAndCommit(frame_url); | 540 ->NavigateAndCommit(frame_url); |
541 | 541 |
542 MockCreatePresentationConnnectionCallbacks mock_create_connection_callbacks; | 542 MockCreatePresentationConnnectionCallbacks mock_create_connection_callbacks; |
543 const std::string kPresentationId("auto-join"); | 543 const std::string kPresentationId("auto-join"); |
544 ASSERT_TRUE(IsAutoJoinPresentationId(kPresentationId)); | 544 ASSERT_TRUE(IsAutoJoinPresentationId(kPresentationId)); |
545 | 545 |
546 // Set the user preference for |origin| to prefer tab mirroring. | 546 // Set the user preference for |origin| to prefer tab mirroring. |
547 { | 547 { |
548 ListPrefUpdate update(profile()->GetPrefs(), | 548 ListPrefUpdate update(profile()->GetPrefs(), |
549 prefs::kMediaRouterTabMirroringSources); | 549 prefs::kMediaRouterTabMirroringSources); |
550 update->AppendIfNotPresent(base::MakeUnique<base::StringValue>(origin)); | 550 update->AppendIfNotPresent(base::MakeUnique<base::Value>(origin)); |
551 } | 551 } |
552 | 552 |
553 // Auto-join requests should be rejected. | 553 // Auto-join requests should be rejected. |
554 EXPECT_CALL(mock_create_connection_callbacks, OnCreateConnectionError(_)); | 554 EXPECT_CALL(mock_create_connection_callbacks, OnCreateConnectionError(_)); |
555 EXPECT_CALL(router_, JoinRoute(_, kPresentationId, _, _, _, _, _)).Times(0); | 555 EXPECT_CALL(router_, JoinRoute(_, kPresentationId, _, _, _, _, _)).Times(0); |
556 delegate_impl_->JoinSession( | 556 delegate_impl_->JoinSession( |
557 main_frame_process_id_, main_frame_routing_id_, presentation_urls_, | 557 main_frame_process_id_, main_frame_routing_id_, presentation_urls_, |
558 kPresentationId, | 558 kPresentationId, |
559 base::Bind(&MockCreatePresentationConnnectionCallbacks:: | 559 base::Bind(&MockCreatePresentationConnnectionCallbacks:: |
560 OnCreateConnectionSuccess, | 560 OnCreateConnectionSuccess, |
561 base::Unretained(&mock_create_connection_callbacks)), | 561 base::Unretained(&mock_create_connection_callbacks)), |
562 base::Bind( | 562 base::Bind( |
563 &MockCreatePresentationConnnectionCallbacks::OnCreateConnectionError, | 563 &MockCreatePresentationConnnectionCallbacks::OnCreateConnectionError, |
564 base::Unretained(&mock_create_connection_callbacks))); | 564 base::Unretained(&mock_create_connection_callbacks))); |
565 | 565 |
566 // Remove the user preference for |origin|. | 566 // Remove the user preference for |origin|. |
567 { | 567 { |
568 ListPrefUpdate update(profile()->GetPrefs(), | 568 ListPrefUpdate update(profile()->GetPrefs(), |
569 prefs::kMediaRouterTabMirroringSources); | 569 prefs::kMediaRouterTabMirroringSources); |
570 update->Remove(base::StringValue(origin), nullptr); | 570 update->Remove(base::Value(origin), nullptr); |
571 } | 571 } |
572 | 572 |
573 // Auto-join requests should now go through. | 573 // Auto-join requests should now go through. |
574 EXPECT_CALL(router_, JoinRoute(_, kPresentationId, _, _, _, _, _)).Times(1); | 574 EXPECT_CALL(router_, JoinRoute(_, kPresentationId, _, _, _, _, _)).Times(1); |
575 delegate_impl_->JoinSession( | 575 delegate_impl_->JoinSession( |
576 main_frame_process_id_, main_frame_routing_id_, presentation_urls_, | 576 main_frame_process_id_, main_frame_routing_id_, presentation_urls_, |
577 kPresentationId, | 577 kPresentationId, |
578 base::Bind(&MockCreatePresentationConnnectionCallbacks:: | 578 base::Bind(&MockCreatePresentationConnnectionCallbacks:: |
579 OnCreateConnectionSuccess, | 579 OnCreateConnectionSuccess, |
580 base::Unretained(&mock_create_connection_callbacks)), | 580 base::Unretained(&mock_create_connection_callbacks)), |
581 base::Bind( | 581 base::Bind( |
582 &MockCreatePresentationConnnectionCallbacks::OnCreateConnectionError, | 582 &MockCreatePresentationConnnectionCallbacks::OnCreateConnectionError, |
583 base::Unretained(&mock_create_connection_callbacks))); | 583 base::Unretained(&mock_create_connection_callbacks))); |
584 } | 584 } |
585 | 585 |
586 TEST_F(PresentationServiceDelegateImplIncognitoTest, AutoJoinRequest) { | 586 TEST_F(PresentationServiceDelegateImplIncognitoTest, AutoJoinRequest) { |
587 GURL frame_url(kFrameUrl); | 587 GURL frame_url(kFrameUrl); |
588 std::string origin(url::Origin(frame_url).Serialize()); | 588 std::string origin(url::Origin(frame_url).Serialize()); |
589 content::WebContentsTester::For(GetWebContents()) | 589 content::WebContentsTester::For(GetWebContents()) |
590 ->NavigateAndCommit(frame_url); | 590 ->NavigateAndCommit(frame_url); |
591 | 591 |
592 MockCreatePresentationConnnectionCallbacks mock_create_connection_callbacks; | 592 MockCreatePresentationConnnectionCallbacks mock_create_connection_callbacks; |
593 const std::string kPresentationId("auto-join"); | 593 const std::string kPresentationId("auto-join"); |
594 ASSERT_TRUE(IsAutoJoinPresentationId(kPresentationId)); | 594 ASSERT_TRUE(IsAutoJoinPresentationId(kPresentationId)); |
595 | 595 |
596 // Set the user preference for |origin| to prefer tab mirroring. | 596 // Set the user preference for |origin| to prefer tab mirroring. |
597 { | 597 { |
598 ListPrefUpdate update(profile()->GetOffTheRecordProfile()->GetPrefs(), | 598 ListPrefUpdate update(profile()->GetOffTheRecordProfile()->GetPrefs(), |
599 prefs::kMediaRouterTabMirroringSources); | 599 prefs::kMediaRouterTabMirroringSources); |
600 update->AppendIfNotPresent(base::MakeUnique<base::StringValue>(origin)); | 600 update->AppendIfNotPresent(base::MakeUnique<base::Value>(origin)); |
601 } | 601 } |
602 | 602 |
603 // Setting the pref in incognito shouldn't set it for the non-incognito | 603 // Setting the pref in incognito shouldn't set it for the non-incognito |
604 // profile. | 604 // profile. |
605 const base::ListValue* non_incognito_origins = | 605 const base::ListValue* non_incognito_origins = |
606 profile()->GetPrefs()->GetList(prefs::kMediaRouterTabMirroringSources); | 606 profile()->GetPrefs()->GetList(prefs::kMediaRouterTabMirroringSources); |
607 EXPECT_EQ(non_incognito_origins->Find(base::StringValue(origin)), | 607 EXPECT_EQ(non_incognito_origins->Find(base::Value(origin)), |
608 non_incognito_origins->end()); | 608 non_incognito_origins->end()); |
609 | 609 |
610 // Auto-join requests should be rejected. | 610 // Auto-join requests should be rejected. |
611 EXPECT_CALL(mock_create_connection_callbacks, OnCreateConnectionError(_)); | 611 EXPECT_CALL(mock_create_connection_callbacks, OnCreateConnectionError(_)); |
612 EXPECT_CALL(router_, JoinRoute(_, kPresentationId, _, _, _, _, _)).Times(0); | 612 EXPECT_CALL(router_, JoinRoute(_, kPresentationId, _, _, _, _, _)).Times(0); |
613 delegate_impl_->JoinSession( | 613 delegate_impl_->JoinSession( |
614 main_frame_process_id_, main_frame_routing_id_, presentation_urls_, | 614 main_frame_process_id_, main_frame_routing_id_, presentation_urls_, |
615 kPresentationId, | 615 kPresentationId, |
616 base::Bind(&MockCreatePresentationConnnectionCallbacks:: | 616 base::Bind(&MockCreatePresentationConnnectionCallbacks:: |
617 OnCreateConnectionSuccess, | 617 OnCreateConnectionSuccess, |
618 base::Unretained(&mock_create_connection_callbacks)), | 618 base::Unretained(&mock_create_connection_callbacks)), |
619 base::Bind( | 619 base::Bind( |
620 &MockCreatePresentationConnnectionCallbacks::OnCreateConnectionError, | 620 &MockCreatePresentationConnnectionCallbacks::OnCreateConnectionError, |
621 base::Unretained(&mock_create_connection_callbacks))); | 621 base::Unretained(&mock_create_connection_callbacks))); |
622 | 622 |
623 // Remove the user preference for |origin| in incognito. | 623 // Remove the user preference for |origin| in incognito. |
624 { | 624 { |
625 ListPrefUpdate update(profile()->GetOffTheRecordProfile()->GetPrefs(), | 625 ListPrefUpdate update(profile()->GetOffTheRecordProfile()->GetPrefs(), |
626 prefs::kMediaRouterTabMirroringSources); | 626 prefs::kMediaRouterTabMirroringSources); |
627 update->Remove(base::StringValue(origin), nullptr); | 627 update->Remove(base::Value(origin), nullptr); |
628 } | 628 } |
629 | 629 |
630 // Auto-join requests should now go through. | 630 // Auto-join requests should now go through. |
631 EXPECT_CALL(router_, JoinRoute(_, kPresentationId, _, _, _, _, _)).Times(1); | 631 EXPECT_CALL(router_, JoinRoute(_, kPresentationId, _, _, _, _, _)).Times(1); |
632 delegate_impl_->JoinSession( | 632 delegate_impl_->JoinSession( |
633 main_frame_process_id_, main_frame_routing_id_, presentation_urls_, | 633 main_frame_process_id_, main_frame_routing_id_, presentation_urls_, |
634 kPresentationId, | 634 kPresentationId, |
635 base::Bind(&MockCreatePresentationConnnectionCallbacks:: | 635 base::Bind(&MockCreatePresentationConnnectionCallbacks:: |
636 OnCreateConnectionSuccess, | 636 OnCreateConnectionSuccess, |
637 base::Unretained(&mock_create_connection_callbacks)), | 637 base::Unretained(&mock_create_connection_callbacks)), |
638 base::Bind( | 638 base::Bind( |
639 &MockCreatePresentationConnnectionCallbacks::OnCreateConnectionError, | 639 &MockCreatePresentationConnnectionCallbacks::OnCreateConnectionError, |
640 base::Unretained(&mock_create_connection_callbacks))); | 640 base::Unretained(&mock_create_connection_callbacks))); |
641 } | 641 } |
642 #endif // !defined(OS_ANDROID) | 642 #endif // !defined(OS_ANDROID) |
643 | 643 |
644 } // namespace media_router | 644 } // namespace media_router |
OLD | NEW |