| Index: third_party/WebKit/public/platform/modules/presentation/presentation.mojom
|
| diff --git a/third_party/WebKit/public/platform/modules/presentation/presentation.mojom b/third_party/WebKit/public/platform/modules/presentation/presentation.mojom
|
| index 8074fa81807edc1a350e93fcc45b2af0eacf5b0f..a511c07fd7382b12794aa153d71376e12b9b444b 100644
|
| --- a/third_party/WebKit/public/platform/modules/presentation/presentation.mojom
|
| +++ b/third_party/WebKit/public/platform/modules/presentation/presentation.mojom
|
| @@ -2,13 +2,11 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -// TODO(crbug.com/647290): Rename "Session" to "Connection"
|
| -
|
| module blink.mojom;
|
|
|
| import "url/mojo/url.mojom";
|
|
|
| -struct PresentationSessionInfo {
|
| +struct PresentationInfo {
|
| url.mojom.Url url;
|
| string id;
|
| };
|
| @@ -28,7 +26,7 @@ enum PresentationConnectionCloseReason {
|
|
|
| enum PresentationErrorType {
|
| NO_AVAILABLE_SCREENS,
|
| - SESSION_REQUEST_CANCELLED,
|
| + PRESENTATION_REQUEST_CANCELLED,
|
| NO_PRESENTATION_FOUND,
|
| PREVIOUS_START_IN_PROGRESS,
|
| UNKNOWN,
|
| @@ -66,7 +64,7 @@ interface PresentationService {
|
|
|
| // Called when the frame sets or changes the default presentation URLs.
|
| // When the default presentation is started on this frame,
|
| - // PresentationServiceClient::OnDefaultSessionStarted will be invoked.
|
| + // PresentationServiceClient::OnDefaultPresentationStarted will be invoked.
|
| SetDefaultPresentationUrls(array<url.mojom.Url> presentation_urls);
|
|
|
| // Starts listening for screen availability for presentation of
|
| @@ -79,30 +77,24 @@ interface PresentationService {
|
| // |url|.
|
| StopListeningForScreenAvailability(url.mojom.Url availability_url);
|
|
|
| - // Called when startSession() is called by the frame. The result callback
|
| - // will return a non-null and valid PresentationSessionInfo if starting the
|
| - // session succeeded, or null with a PresentationError if starting the
|
| - // session failed.
|
| - // The presentation id returned in |sessionInfo| on success is generated by
|
| - // the UA.
|
| - // If the UA identifies a matching session (same presentation url), the user
|
| - // may choose this existing session and the page will join it rather than get
|
| - // a new one.
|
| - StartSession(array<url.mojom.Url> presentation_urls)
|
| - => (PresentationSessionInfo? sessionInfo, PresentationError? error);
|
| -
|
| - // Called when joinSession() is called by the frame. The result callback
|
| - // works the same as for the method above. JoinSession will join a known
|
| - // session (i.e. when the page navigates or the user opens another tab)
|
| - // silently and without user action.
|
| - JoinSession(array<url.mojom.Url> presentation_urls, string? presentation_id)
|
| - => (PresentationSessionInfo? sessionInfo, PresentationError? error);
|
| -
|
| - // Called in StartSession's callback function for offscreen presentation only.
|
| + // Called when start() is called by the frame. The result callback
|
| + // will return a non-null and valid PresentationInfo if starting the
|
| + // presentation succeeded, or null with a PresentationError if starting the
|
| + // presentation failed.
|
| + StartPresentation(array<url.mojom.Url> presentation_urls)
|
| + => (PresentationInfo? presentation_info, PresentationError? error);
|
| +
|
| + // Called when reconnect() is called by the frame. The result callback
|
| + // works the same as for the method above. reconnect() will create a new
|
| + // connection to a presentation with the matching URL and id.
|
| + ReconnectPresentation(array<url.mojom.Url> presentation_urls, string? presentation_id)
|
| + => (PresentationInfo? presentation_info, PresentationError? error);
|
| +
|
| + // Called in StartPresentation's callback function for offscreen presentation only.
|
| // It passes in controlling frame's PresentationConnection and
|
| // PresentationConnectionRequest to PresentationService.
|
| SetPresentationConnection(
|
| - PresentationSessionInfo sessionInfo,
|
| + PresentationInfo presentation_info,
|
| PresentationConnection controller_connection_ptr,
|
| PresentationConnection& receiver_connection_request);
|
|
|
| @@ -113,16 +105,16 @@ interface PresentationService {
|
| // Called when terminate() is called by the frame.
|
| Terminate(url.mojom.Url presentation_url, string presentation_id);
|
|
|
| - // Starts listening for messages for session with |sessionInfo|.
|
| + // Starts listening for messages on the presentation identified by |presentation_info|.
|
| // Messages will be received in
|
| // PresentationServiceClient::OnConnectionMessagesReceived.
|
| - // This is called after a presentation session is created.
|
| - ListenForConnectionMessages(PresentationSessionInfo sessionInfo);
|
| -};
|
| + // This is called after a connection has been established to the presentation
|
| + // from the frame.
|
| + ListenForConnectionMessages(PresentationInfo presentation_info);
|
| +};
|
|
|
| interface PresentationServiceClient {
|
| -
|
| - ////////////Functions here are called only on the controlling page.///////////
|
| + ////////// This API is implemented by a controlling frame. /////////////////
|
|
|
| // Called when the client tries to listen for screen availability changes for
|
| // presentation of |url| but it is not supported by the device or underlying
|
| @@ -137,29 +129,33 @@ interface PresentationServiceClient {
|
| OnScreenAvailabilityUpdated(url.mojom.Url url, bool available);
|
|
|
| // See PresentationService::SetDefaultPresentationURL.
|
| - OnDefaultSessionStarted(PresentationSessionInfo sessionInfo);
|
| + OnDefaultPresentationStarted(PresentationInfo presentation_info);
|
|
|
| - //////////////////////////////////////////////////////////////////////////////
|
| + ////////// This API is implemented by an offscreen presentation frame. /////
|
| +
|
| + // Called on a presentation receiver when a connection for |presentation_info|
|
| + // is available from the controlling page.
|
| + OnReceiverConnectionAvailable(
|
| + PresentationInfo presentation_info,
|
| + PresentationConnection controller_connection_ptr,
|
| + PresentationConnection& receiver_connection_request);
|
| +
|
| + ////////// This API is implemented by both frame types. ////////////////////
|
|
|
| // Called when the state of PresentationConnection |connection| started on
|
| // this frame has changed to |newState|.
|
| - OnConnectionStateChanged(PresentationSessionInfo connection,
|
| + OnConnectionStateChanged(PresentationInfo presentation_info,
|
| PresentationConnectionState newState);
|
|
|
| - // Caled when the state of |connection| started on this frame has changed to
|
| + // Caled when the state of |presentation_info| started on this frame has changed to
|
| // CLOSED.
|
| - OnConnectionClosed(PresentationSessionInfo connection,
|
| + OnConnectionClosed(PresentationInfo presentation_info,
|
| PresentationConnectionCloseReason reason,
|
| string message);
|
|
|
| // See PresentationService::ListenForConnectionMessages.
|
| - OnConnectionMessagesReceived(PresentationSessionInfo sessionInfo,
|
| + OnConnectionMessagesReceived(PresentationInfo presentation_info,
|
| array<PresentationConnectionMessage> messages);
|
|
|
| - // Called on a presentation receiver when presentation connection is available
|
| - // from the controlling page.
|
| - OnReceiverConnectionAvailable(
|
| - PresentationSessionInfo sessionInfo,
|
| - PresentationConnection controller_connection_ptr,
|
| - PresentationConnection& receiver_connection_request);
|
| +
|
| };
|
|
|