| Index: content/renderer/presentation/presentation_dispatcher.h
|
| diff --git a/content/renderer/presentation/presentation_dispatcher.h b/content/renderer/presentation/presentation_dispatcher.h
|
| index caf1840f2e0b5eab0ae6dfb0b6cbbe6b6e50d779..d0c0c2f4fd790db412d0c545671974acd2957060 100644
|
| --- a/content/renderer/presentation/presentation_dispatcher.h
|
| +++ b/content/renderer/presentation/presentation_dispatcher.h
|
| @@ -6,11 +6,17 @@
|
| #define CONTENT_RENDERER_PRESENTATION_PRESENTATION_DISPATCHER_H_
|
|
|
| #include "base/compiler_specific.h"
|
| +#include "base/memory/scoped_vector.h"
|
| #include "content/common/content_export.h"
|
| #include "content/common/presentation/presentation_service.mojom.h"
|
| #include "content/public/renderer/render_frame_observer.h"
|
| +#include "content/renderer/presentation/presentation_session_dispatcher.h"
|
| #include "third_party/WebKit/public/platform/modules/presentation/WebPresentationClient.h"
|
|
|
| +namespace blink {
|
| +class WebString;
|
| +} // namespace blink
|
| +
|
| namespace content {
|
|
|
| // PresentationDispatcher is a delegate for Presentation API messages used by
|
| @@ -27,14 +33,34 @@ class CONTENT_EXPORT PresentationDispatcher
|
| virtual void setController(
|
| blink::WebPresentationController* controller);
|
| virtual void updateAvailableChangeWatched(bool watched);
|
| + virtual void startSession(
|
| + const blink::WebString& presentationUrl,
|
| + const blink::WebString& presentationId,
|
| + blink::WebPresentationSessionClientCallbacks* callback);
|
| + virtual void joinSession(
|
| + const blink::WebString& presentationUrl,
|
| + const blink::WebString& presentationId,
|
| + blink::WebPresentationSessionClientCallbacks* callback);
|
|
|
| void OnScreenAvailabilityChanged(bool available);
|
| + void OnSessionCreated(
|
| + blink::WebPresentationSessionClientCallbacks* callback,
|
| + presentation::PresentationSessionInfoPtr session_info,
|
| + presentation::PresentationErrorPtr error);
|
|
|
| void ConnectToPresentationServiceIfNeeded();
|
|
|
| // Used as a weak reference. Can be null since lifetime is bound to the frame.
|
| blink::WebPresentationController* controller_;
|
| presentation::PresentationServicePtr presentation_service_;
|
| +
|
| + // Wrappers around the PresentationSessionPtr corresponding to each Javascript
|
| + // PresentationSession object passed back to the frame.
|
| + // TODO(avayvod): Switch to base::IDMap when the lookup by presentation id is
|
| + // needed.
|
| + using PresentationSessionDispatchers =
|
| + ScopedVector<PresentationSessionDispatcher>;
|
| + PresentationSessionDispatchers presentation_session_dispatchers_;
|
| };
|
|
|
| } // namespace content
|
|
|