Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(337)

Unified Diff: third_party/WebKit/public/platform/modules/presentation/presentation.mojom

Issue 2477573002: [Presentation API] (3rd) (1-UA) Split PresentationServiceDelegateImpl(PSDImpl) (Closed)
Patch Set: merge with master Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 ec0f087bcb93904d144e91c6bc7da79d8b9e011e..d5f6dcdc43facd8857fe331432cd22173323606e 100644
--- a/third_party/WebKit/public/platform/modules/presentation/presentation.mojom
+++ b/third_party/WebKit/public/platform/modules/presentation/presentation.mojom
@@ -52,10 +52,24 @@ struct SessionMessage {
array<uint8>? data;
};
+interface PresentationConnection {
+ // TODO(zhaobin): migrate SendSessionMessage from PresentationService =>
+ // PresentationConnection.Send(). http://crbug.com/658474
+
+ // Called to set the PresentationConnection that is the destination for
+ // messages sent and the source of messages received by this connection.
+ SetTargetConnection(PresentationConnection connection);
+
+ // Called when a message is sent by the target connection.
+ OnMessage(SessionMessage message);
+};
+
interface PresentationService {
// Sets the PresentationServiceClient.
SetClient(PresentationServiceClient client);
+ ///////////// Functions here are for the controller part of the API. /////////
+
// 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.
@@ -90,6 +104,14 @@ interface PresentationService {
JoinSession(array<url.mojom.Url> presentation_urls, string? presentation_id)
=> (PresentationSessionInfo? sessionInfo, PresentationError? error);
+ // Called in StartSession's callback function for offscreen presentation only.
+ // It passes in controlling frame's PresentationConnection to
+ // PresentationService.
+ SetPresentationConnection(PresentationSessionInfo sessionInfo,
+ PresentationConnection connection);
+
+ //////////////////////////////////////////////////////////////////////////////
+
// Called when send() is called by the frame. The true in the
// result callback notifies that the service is ready for next message.
// The false in the result callback notifies the renderer to stop sending

Powered by Google App Engine
This is Rietveld 408576698