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/mock_media_router.h" | 9 #include "chrome/browser/media/router/mock_media_router.h" |
10 #include "chrome/browser/media/router/mock_screen_availability_listener.h" | 10 #include "chrome/browser/media/router/mock_screen_availability_listener.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 using ::testing::WithArgs; | 36 using ::testing::WithArgs; |
37 | 37 |
38 namespace { | 38 namespace { |
39 | 39 |
40 const char kPresentationUrl1[] = "http://foo.fakeurl.com/"; | 40 const char kPresentationUrl1[] = "http://foo.fakeurl.com/"; |
41 const char kPresentationUrl2[] = "http://bar.fakeurl.com/"; | 41 const char kPresentationUrl2[] = "http://bar.fakeurl.com/"; |
42 const char kPresentationUrl3[] = | 42 const char kPresentationUrl3[] = |
43 "https://google.com/cast#__castAppId__=233637DE"; | 43 "https://google.com/cast#__castAppId__=233637DE"; |
44 const char kFrameUrl[] = "http://anotherframeurl.fakeurl.com/"; | 44 const char kFrameUrl[] = "http://anotherframeurl.fakeurl.com/"; |
45 | 45 |
| 46 // Matches content::PresentationInfo. |
| 47 MATCHER_P(InfoEquals, expected, "") { |
| 48 return expected.presentation_url == arg.presentation_url && |
| 49 expected.presentation_id == arg.presentation_id; |
| 50 } |
| 51 |
46 } // namespace | 52 } // namespace |
47 | 53 |
48 namespace media_router { | 54 namespace media_router { |
49 | 55 |
50 class MockDelegateObserver | 56 class MockDelegateObserver |
51 : public content::PresentationServiceDelegate::Observer { | 57 : public content::PresentationServiceDelegate::Observer { |
52 public: | 58 public: |
53 MOCK_METHOD0(OnDelegateDestroyed, void()); | 59 MOCK_METHOD0(OnDelegateDestroyed, void()); |
54 MOCK_METHOD1(OnDefaultPresentationStarted, | 60 MOCK_METHOD1(OnDefaultPresentationStarted, |
55 void(const content::PresentationInfo&)); | 61 void(const content::PresentationInfo&)); |
(...skipping 11 matching lines...) Expand all Loading... |
67 public: | 73 public: |
68 MOCK_METHOD1(OnCreateConnectionSuccess, | 74 MOCK_METHOD1(OnCreateConnectionSuccess, |
69 void(const content::PresentationInfo& connection)); | 75 void(const content::PresentationInfo& connection)); |
70 MOCK_METHOD1(OnCreateConnectionError, | 76 MOCK_METHOD1(OnCreateConnectionError, |
71 void(const content::PresentationError& error)); | 77 void(const content::PresentationError& error)); |
72 }; | 78 }; |
73 | 79 |
74 class MockOffscreenPresentationManager : public OffscreenPresentationManager { | 80 class MockOffscreenPresentationManager : public OffscreenPresentationManager { |
75 public: | 81 public: |
76 void RegisterOffscreenPresentationController( | 82 void RegisterOffscreenPresentationController( |
77 const std::string& presentation_id, | 83 const content::PresentationInfo& presentation_info, |
78 const GURL& presentation_url, | |
79 const RenderFrameHostId& render_frame_id, | 84 const RenderFrameHostId& render_frame_id, |
80 content::PresentationConnectionPtr controller, | 85 content::PresentationConnectionPtr controller, |
81 content::PresentationConnectionRequest, | 86 content::PresentationConnectionRequest, |
82 const MediaRoute& route) override { | 87 const MediaRoute& route) override { |
83 RegisterOffscreenPresentationController(presentation_id, presentation_url, | 88 RegisterOffscreenPresentationController(presentation_info, render_frame_id, |
84 render_frame_id, route); | 89 route); |
85 } | 90 } |
86 | 91 |
87 MOCK_METHOD4(RegisterOffscreenPresentationController, | 92 MOCK_METHOD3(RegisterOffscreenPresentationController, |
88 void(const std::string& presentation_id, | 93 void(const content::PresentationInfo& presentation_info, |
89 const GURL& presentation_url, | |
90 const RenderFrameHostId& render_frame_id, | 94 const RenderFrameHostId& render_frame_id, |
91 const MediaRoute& route)); | 95 const MediaRoute& route)); |
92 MOCK_METHOD2(UnregisterOffscreenPresentationController, | 96 MOCK_METHOD2(UnregisterOffscreenPresentationController, |
93 void(const std::string& presentation_id, | 97 void(const std::string& presentation_id, |
94 const RenderFrameHostId& render_frame_id)); | 98 const RenderFrameHostId& render_frame_id)); |
95 MOCK_METHOD3(OnOffscreenPresentationReceiverCreated, | 99 MOCK_METHOD2(OnOffscreenPresentationReceiverCreated, |
96 void(const std::string& presentation_id, | 100 void(const content::PresentationInfo& presentation_info, |
97 const GURL& presentation_url, | |
98 const content::ReceiverConnectionAvailableCallback& | 101 const content::ReceiverConnectionAvailableCallback& |
99 receiver_callback)); | 102 receiver_callback)); |
100 MOCK_METHOD1(OnOffscreenPresentationReceiverTerminated, | 103 MOCK_METHOD1(OnOffscreenPresentationReceiverTerminated, |
101 void(const std::string& presentation_id)); | 104 void(const std::string& presentation_id)); |
102 MOCK_METHOD1(IsOffscreenPresentation, | 105 MOCK_METHOD1(IsOffscreenPresentation, |
103 bool(const std::string& presentation_id)); | 106 bool(const std::string& presentation_id)); |
104 MOCK_METHOD1(GetRoute, MediaRoute*(const std::string& presentation_id)); | 107 MOCK_METHOD1(GetRoute, MediaRoute*(const std::string& presentation_id)); |
105 }; | 108 }; |
106 | 109 |
107 std::unique_ptr<KeyedService> BuildMockOffscreenPresentationManager( | 110 std::unique_ptr<KeyedService> BuildMockOffscreenPresentationManager( |
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
607 base::MockCallback<content::PresentationConnectionCallback> success_cb; | 610 base::MockCallback<content::PresentationConnectionCallback> success_cb; |
608 EXPECT_CALL(success_cb, Run(_)); | 611 EXPECT_CALL(success_cb, Run(_)); |
609 | 612 |
610 delegate_impl_->OnStartPresentationSucceeded( | 613 delegate_impl_->OnStartPresentationSucceeded( |
611 render_process_id, render_frame_id, success_cb.Get(), presentation_info, | 614 render_process_id, render_frame_id, success_cb.Get(), presentation_info, |
612 media_route); | 615 media_route); |
613 | 616 |
614 auto& mock_offscreen_manager = GetMockOffscreenPresentationManager(); | 617 auto& mock_offscreen_manager = GetMockOffscreenPresentationManager(); |
615 EXPECT_CALL(mock_offscreen_manager, | 618 EXPECT_CALL(mock_offscreen_manager, |
616 RegisterOffscreenPresentationController( | 619 RegisterOffscreenPresentationController( |
617 presentation_id, presentation_url, | 620 InfoEquals(presentation_info), |
618 RenderFrameHostId(render_process_id, render_frame_id), | 621 RenderFrameHostId(render_process_id, render_frame_id), |
619 Equals(media_route))); | 622 Equals(media_route))); |
620 | 623 |
621 content::PresentationConnectionPtr connection_ptr; | 624 content::PresentationConnectionPtr connection_ptr; |
622 content::PresentationConnectionRequest connection_request; | 625 content::PresentationConnectionRequest connection_request; |
623 delegate_impl_->ConnectToPresentation( | 626 delegate_impl_->ConnectToPresentation( |
624 render_process_id, render_frame_id, presentation_info, | 627 render_process_id, render_frame_id, presentation_info, |
625 std::move(connection_ptr), std::move(connection_request)); | 628 std::move(connection_ptr), std::move(connection_request)); |
626 | 629 |
627 EXPECT_CALL(mock_offscreen_manager, | 630 EXPECT_CALL(mock_offscreen_manager, |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
787 base::Bind(&MockCreatePresentationConnnectionCallbacks:: | 790 base::Bind(&MockCreatePresentationConnnectionCallbacks:: |
788 OnCreateConnectionSuccess, | 791 OnCreateConnectionSuccess, |
789 base::Unretained(&mock_create_connection_callbacks)), | 792 base::Unretained(&mock_create_connection_callbacks)), |
790 base::Bind( | 793 base::Bind( |
791 &MockCreatePresentationConnnectionCallbacks::OnCreateConnectionError, | 794 &MockCreatePresentationConnnectionCallbacks::OnCreateConnectionError, |
792 base::Unretained(&mock_create_connection_callbacks))); | 795 base::Unretained(&mock_create_connection_callbacks))); |
793 } | 796 } |
794 #endif // !defined(OS_ANDROID) | 797 #endif // !defined(OS_ANDROID) |
795 | 798 |
796 } // namespace media_router | 799 } // namespace media_router |
OLD | NEW |