Chromium Code Reviews| Index: content/browser/presentation/presentation_service_impl.h |
| diff --git a/content/browser/presentation/presentation_service_impl.h b/content/browser/presentation/presentation_service_impl.h |
| index dea2c88c37d89940f495810411836156aac20d6c..8a13ac29e94e4ae282daf73140ec9f5ca43a29af 100644 |
| --- a/content/browser/presentation/presentation_service_impl.h |
| +++ b/content/browser/presentation/presentation_service_impl.h |
| @@ -8,6 +8,7 @@ |
| #include <deque> |
| #include <map> |
| #include <memory> |
| +#include <set> |
| #include <string> |
| #include <vector> |
| @@ -48,7 +49,8 @@ class RenderFrameHost; |
| class CONTENT_EXPORT PresentationServiceImpl |
| : public NON_EXPORTED_BASE(blink::mojom::PresentationService), |
| public WebContentsObserver, |
| - public PresentationServiceDelegate::Observer { |
| + public PresentationServiceDelegate::Observer, |
| + public OffscreenPresentationClient { |
| public: |
| using NewSessionCallback = |
| base::Callback<void(blink::mojom::PresentationSessionInfoPtr, |
| @@ -234,6 +236,14 @@ class CONTENT_EXPORT PresentationServiceImpl |
| const ScopedVector<PresentationSessionMessage>& messages, |
| bool pass_ownership); |
| + void OnReceiverConnectionAvailable(const content::PresentationSessionInfo&, |
|
imcheng
2016/09/28 07:28:37
nit: add parameter name and add comment for this m
zhaobin
2016/09/29 17:20:45
Done.
|
| + OffscreenPresentationClient* controller); |
| + |
| + // OffscreenPresentationClient Implementation |
| + void SetOffscreenPresentationClient(OffscreenPresentationClient*) override; |
|
imcheng
2016/09/28 07:28:37
nit: add parameter name here and below
imcheng
2016/09/28 07:28:37
AddOffscreenPresentationClient?
zhaobin
2016/09/29 17:20:45
code removed in new patch
zhaobin
2016/09/29 17:20:45
Function has been removed in new patch.
|
| + |
|
imcheng
2016/09/28 07:28:37
rm blank line
zhaobin
2016/09/29 17:20:45
Done.
|
| + void RemoveOffscreenPresentationClient(OffscreenPresentationClient*) override; |
| + |
| // Associates a JoinSession |callback| with a unique request ID and |
| // stores it in a map. |
| // Returns a positive value on success. |
| @@ -284,6 +294,12 @@ class CONTENT_EXPORT PresentationServiceImpl |
| int render_process_id_; |
| int render_frame_id_; |
| + // Offscreen presentation observer list for current frame. |
| + // For controller PSImpl, it contains corresponding receiver PSImpl, |
| + // and vise versa. |
| + // TODO(zhaobin): support multiple controllers |
| + std::set<OffscreenPresentationClient*> offscreen_presentation_observers_; |
|
imcheng
2016/09/28 07:28:37
suggestion: offscreen_presentation_clients_
imcheng
2016/09/28 07:28:37
nit: Place this field before render_process_id_. P
zhaobin
2016/09/29 17:20:45
object removed in new patch
zhaobin
2016/09/29 17:20:45
object removed in new patch
|
| + |
| // NOTE: Weak pointers must be invalidated before all other member variables. |
| base::WeakPtrFactory<PresentationServiceImpl> weak_factory_; |