12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- // Copyright 2022 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- module crosapi.mojom;
- import "chromeos/crosapi/mojom/app_service_types.mojom";
- // The source from which the sharesheet was launched from.
- // Based on sharesheet::LaunchSource.
- [Stable, Extensible]
- enum SharesheetLaunchSource {
- [Default] kUnknown = 0,
- kWebShare = 3,
- kOmniboxShare = 5,
- };
- // The result from showing a sharesheet bubble.
- [Stable, Extensible]
- enum SharesheetResult {
- kSuccess, // Successfully passed data to selected target.
- kCancel, // Share was cancelled before completion.
- kErrorAlreadyOpen, // Share failed because the sharesheet is already open.
- kErrorWindowClosed, // Parent window closed before sharesheet could be shown.
- };
- // Interacts with the Sharesheet service. Implemented in ash-chrome.
- // Next version: 2
- // Next method id: 3
- [Stable, Uuid="be0b8049-1fdd-4ba7-a980-997b8c59420e"]
- interface Sharesheet {
- // Displays the dialog (aka bubble) for sharing content (or files) with
- // other applications and targets. |intent| contains the list of the
- // files/content to be shared.
- ShowBubble@0(
- string window_id,
- SharesheetLaunchSource source,
- Intent intent) => (SharesheetResult sharesheet_result);
- // Functions like ShowBubble(), except this invokes a callback when the bubble
- // is closed instead of SharesheetResult.
- [MinVersion=1] ShowBubbleWithOnClosed@1(
- string window_id,
- SharesheetLaunchSource source,
- Intent intent) => ();
- // Closes the Sharesheet dialog associated with the window ID.
- [MinVersion=1] CloseBubble@2(string window_id);
- };
|