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 #ifndef CHROME_BROWSER_MEDIA_ROUTER_PRESENTATION_SERVICE_DELEGATE_IMPL_H_ | 5 #ifndef CHROME_BROWSER_MEDIA_ROUTER_PRESENTATION_SERVICE_DELEGATE_IMPL_H_ |
6 #define CHROME_BROWSER_MEDIA_ROUTER_PRESENTATION_SERVICE_DELEGATE_IMPL_H_ | 6 #define CHROME_BROWSER_MEDIA_ROUTER_PRESENTATION_SERVICE_DELEGATE_IMPL_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 20 matching lines...) Expand all Loading... |
31 struct PresentationSessionMessage; | 31 struct PresentationSessionMessage; |
32 } // namespace content | 32 } // namespace content |
33 | 33 |
34 namespace media_router { | 34 namespace media_router { |
35 | 35 |
36 class MediaRoute; | 36 class MediaRoute; |
37 class MediaSinksObserver; | 37 class MediaSinksObserver; |
38 class PresentationFrameManager; | 38 class PresentationFrameManager; |
39 class RouteRequestResult; | 39 class RouteRequestResult; |
40 | 40 |
41 // Implementation of PresentationServiceDelegate that interfaces an | 41 // Implementation of PresentationServiceDelegate that interfaces an instance of |
42 // instance of WebContents with the Chrome Media Router. It uses the Media | 42 // WebContents with the Chrome Media Router. It uses the Media Router to handle |
43 // Router to handle presentation API calls forwarded from | 43 // presentation API calls forwarded from PresentationServiceImpl. In addition, |
44 // PresentationServiceImpl. In addition, it also | 44 // it also provides default presentation URL that is required for creating |
45 // provides default presentation URL that is required for creating | 45 // browser-initiated sessions. It is scoped to the lifetime of a WebContents, |
46 // browser-initiated sessions. | 46 // and is managed by the associated WebContents. |
47 // It is scoped to the lifetime of a WebContents, and is managed by the | |
48 // associated WebContents. | |
49 class PresentationServiceDelegateImpl | 47 class PresentationServiceDelegateImpl |
50 : public content::WebContentsUserData<PresentationServiceDelegateImpl>, | 48 : public content::WebContentsUserData<PresentationServiceDelegateImpl>, |
51 public content::PresentationServiceDelegate { | 49 public content::PresentationServiceDelegate { |
52 public: | 50 public: |
53 // Observer interface for listening to default presentation request | 51 // Observer interface for listening to default presentation request |
54 // changes for the WebContents. | 52 // changes for the WebContents. |
55 class DefaultPresentationRequestObserver { | 53 class DefaultPresentationRequestObserver { |
56 public: | 54 public: |
57 virtual ~DefaultPresentationRequestObserver() = default; | 55 virtual ~DefaultPresentationRequestObserver() = default; |
58 | 56 |
(...skipping 27 matching lines...) Expand all Loading... |
86 int render_frame_id, | 84 int render_frame_id, |
87 content::PresentationScreenAvailabilityListener* listener) override; | 85 content::PresentationScreenAvailabilityListener* listener) override; |
88 void RemoveScreenAvailabilityListener( | 86 void RemoveScreenAvailabilityListener( |
89 int render_process_id, | 87 int render_process_id, |
90 int render_frame_id, | 88 int render_frame_id, |
91 content::PresentationScreenAvailabilityListener* listener) override; | 89 content::PresentationScreenAvailabilityListener* listener) override; |
92 void Reset(int render_process_id, int render_frame_id) override; | 90 void Reset(int render_process_id, int render_frame_id) override; |
93 void SetDefaultPresentationUrls( | 91 void SetDefaultPresentationUrls( |
94 int render_process_id, | 92 int render_process_id, |
95 int render_frame_id, | 93 int render_frame_id, |
96 const std::vector<std::string>& default_presentation_urls, | 94 const std::vector<GURL>& default_presentation_urls, |
97 const content::PresentationSessionStartedCallback& callback) override; | 95 const content::PresentationSessionStartedCallback& callback) override; |
98 void StartSession( | 96 void StartSession( |
99 int render_process_id, | 97 int render_process_id, |
100 int render_frame_id, | 98 int render_frame_id, |
101 const std::vector<std::string>& presentation_urls, | 99 const std::vector<GURL>& presentation_urls, |
102 const content::PresentationSessionStartedCallback& success_cb, | 100 const content::PresentationSessionStartedCallback& success_cb, |
103 const content::PresentationSessionErrorCallback& error_cb) override; | 101 const content::PresentationSessionErrorCallback& error_cb) override; |
104 void JoinSession( | 102 void JoinSession( |
105 int render_process_id, | 103 int render_process_id, |
106 int render_frame_id, | 104 int render_frame_id, |
107 const std::vector<std::string>& presentation_urls, | 105 const std::vector<GURL>& presentation_urls, |
108 const std::string& presentation_id, | 106 const std::string& presentation_id, |
109 const content::PresentationSessionStartedCallback& success_cb, | 107 const content::PresentationSessionStartedCallback& success_cb, |
110 const content::PresentationSessionErrorCallback& error_cb) override; | 108 const content::PresentationSessionErrorCallback& error_cb) override; |
111 void CloseConnection(int render_process_id, | 109 void CloseConnection(int render_process_id, |
112 int render_frame_id, | 110 int render_frame_id, |
113 const std::string& presentation_id) override; | 111 const std::string& presentation_id) override; |
114 void Terminate(int render_process_id, | 112 void Terminate(int render_process_id, |
115 int render_frame_id, | 113 int render_frame_id, |
116 const std::string& presentation_id) override; | 114 const std::string& presentation_id) override; |
117 void ListenForSessionMessages( | 115 void ListenForSessionMessages( |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 std::unique_ptr<PresentationFrameManager> frame_manager_; | 203 std::unique_ptr<PresentationFrameManager> frame_manager_; |
206 | 204 |
207 base::WeakPtrFactory<PresentationServiceDelegateImpl> weak_factory_; | 205 base::WeakPtrFactory<PresentationServiceDelegateImpl> weak_factory_; |
208 | 206 |
209 DISALLOW_COPY_AND_ASSIGN(PresentationServiceDelegateImpl); | 207 DISALLOW_COPY_AND_ASSIGN(PresentationServiceDelegateImpl); |
210 }; | 208 }; |
211 | 209 |
212 } // namespace media_router | 210 } // namespace media_router |
213 | 211 |
214 #endif // CHROME_BROWSER_MEDIA_ROUTER_PRESENTATION_SERVICE_DELEGATE_IMPL_H_ | 212 #endif // CHROME_BROWSER_MEDIA_ROUTER_PRESENTATION_SERVICE_DELEGATE_IMPL_H_ |
OLD | NEW |