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

Unified Diff: content/common/presentation/presentation_service.mojom

Issue 1314413005: [Presentation API] 1-UA presentation support + presenter APIs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments #18-21 Created 5 years, 2 months 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: content/common/presentation/presentation_service.mojom
diff --git a/content/common/presentation/presentation_service.mojom b/content/common/presentation/presentation_service.mojom
index e201791642a0fc5ccf4128ecf03dff3e1d27e365..d072ff316d1910815d4477dbefcdda7c2b21a150 100644
--- a/content/common/presentation/presentation_service.mojom
+++ b/content/common/presentation/presentation_service.mojom
@@ -42,6 +42,8 @@ struct SessionMessage {
interface PresentationService {
// Called when the frame sets or changes the default presentation URL.
+ // When the default presentation is started on this frame,
+ // PresentationServiceClient::OnDefaultPresentationStarted will be invoked.
SetDefaultPresentationURL(string url);
// Sets the PresentationServiceClient.
@@ -57,13 +59,6 @@ interface PresentationService {
// |url|.
StopListeningForScreenAvailability(string url);
- // Called when the renderer is ready to receive the browser initiated
- // session. If the default session is started by the embedder before this
- // call, the embedder may queue it and run the callback when the call is
- // performed.
- ListenForDefaultSessionStart()
- => (PresentationSessionInfo? defaultSessionInfo);
-
// 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
@@ -88,7 +83,8 @@ interface PresentationService {
// The false in the result callback notifies the renderer to stop sending
// the send requests and invalidate all pending requests. This occurs
// for eg., when frame is deleted or navigated away.
- SendSessionMessage(PresentationSessionInfo sessionInfo, SessionMessage message_request) => (bool success);
+ SendSessionMessage(PresentationSessionInfo sessionInfo,
+ SessionMessage message_request) => (bool success);
// Called when closeSession() is called by the frame.
CloseSession(string presentation_url, string presentation_id);
@@ -104,6 +100,15 @@ interface PresentationService {
// PresentationServiceClient::OnSessionMessagesReceived.
// This is called after a presentation session is created.
ListenForSessionMessages(PresentationSessionInfo sessionInfo);
+
+ // Returns a PresentationSessionInfo object for this frame, if it is the main
+ // frame of an offscreen presentation. Otherwise returns null.
+ // The PresentationSessionInfo object returned will have url set to empty, and
+ // id set to the ID of the offscreen presentation.
+ // If a receiver presentation session never becomes available, null will be
+ // returned right before this request becomes invalid (e.g., due to frame
+ // deletion, frame navigation).
+ GetPresentationReceiverSession() => (PresentationSessionInfo? session_info);
};
interface PresentationServiceClient {
@@ -125,4 +130,7 @@ interface PresentationServiceClient {
// See PresentationService::ListenForSessionMessages.
OnSessionMessagesReceived(PresentationSessionInfo sessionInfo, array<SessionMessage> messages);
+
+ // See PresentationService::SetDefaultPresentationURL.
+ OnDefaultPresentationStarted(PresentationSessionInfo sessionInfo);
};

Powered by Google App Engine
This is Rietveld 408576698