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

Side by Side Diff: content/common/presentation/presentation_service.mojom

Issue 935083002: [PresentationAPI] Implementing start/joinSession from WebPresentationClient to PresentationService. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed the last round of comments Created 5 years, 9 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 unified diff | Download patch
« no previous file with comments | « content/common/BUILD.gn ('k') | content/common/presentation/presentation_session.mojom » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 module presentation; 5 module presentation;
6 6
7 import "presentation_session.mojom";
8
9 struct PresentationSessionInfo {
10 PresentationSession session;
11 string url;
12 string id;
13 };
14
15 enum PresentationErrorType {
16 NO_AVAILABLE_SCREENS,
17 SESSION_REQUEST_CANCELLED,
18 NO_PRESENTATION_FOUND,
19 UNKNOWN,
20 };
21
22 struct PresentationError {
23 PresentationErrorType errorType;
24 string message;
25 };
26
7 interface PresentationService { 27 interface PresentationService {
8 // Returns the last screen availability state if it’s changed since the last 28 // Returns the last screen availability state if it’s changed since the last
9 // time the method was called. The client has to call this method again when 29 // time the method was called. The client has to call this method again when
10 // handling the result (provided via Mojo callback) to get the next update 30 // handling the result (provided via Mojo callback) to get the next update
11 // about the availability status. 31 // about the availability status.
12 // May start discovery of the presentation screens. The implementation might 32 // May start discovery of the presentation screens. The implementation might
13 // stop discovery once there are no active calls to GetScreenAvailability. 33 // stop discovery once there are no active calls to GetScreenAvailability.
14 // |presentation_url| can be specified to help the implementation to filter 34 // |presentation_url| can be specified to help the implementation to filter
15 // out incompatible screens. 35 // out incompatible screens.
16 GetScreenAvailability(string? presentation_url) => (bool available); 36 GetScreenAvailability(string? presentation_url) => (bool available);
17 37
18 // Called when the frame no longer listens to the 38 // Called when the frame no longer listens to the
19 // |availablechange| event. 39 // |availablechange| event.
20 OnScreenAvailabilityListenerRemoved(); 40 OnScreenAvailabilityListenerRemoved();
41
42 // Called when startSession() is called by the frame. The result callback
43 // will return a non-null and valid PresentationSessionInfo if starting the
44 // session succeeded, or null with a PresentationError if starting the
45 // session failed.
46 // The presentation id is always returned along with the initialized
47 // session on success.
48 // If the UA identifies a matching session (same presentation url and id),
49 // the user may choose this existing session and the page will join it
50 // rather than get a new one. An empty presentation id means that the
51 // UA will generate the presentation id.
52 StartSession(string presentation_url, string? presentation_id)
53 => (PresentationSessionInfo? sessionInfo, PresentationError? error);
54
55 // Called when joinSession() is called by the frame. The result callback
56 // works the same as for the method above. JoinSession will join a known
57 // session (i.e. when the page navigates or the user opens another tab)
58 // silently and without user action.
59 JoinSession(string presentation_url, string? presentation_id)
60 => (PresentationSessionInfo? sessionInfo, PresentationError? error);
21 }; 61 };
OLDNEW
« no previous file with comments | « content/common/BUILD.gn ('k') | content/common/presentation/presentation_session.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698