1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
ash / components / arc / mojom / pip.mojom [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Next MinVersion: 2
module arc.mojom;
// Contains the types of PIP events that happened in Android that we may want
// to react to on the Chrome side. Currently, this only contains the ENTER
// event, but if we want to signal other events later, we can add
// a new event type here (e.g. media started/stopped playing).
[Extensible]
enum ArcPipEvent {
ENTER = 0,
};
// Interface for Android communicating to Chrome.
// Next Method ID: 1
interface PipHost {
// Tells Chrome about the status of the Android PIP window. If Android
// opens a PIP window, we may want to close any existing Chrome-side PIP
// windows.
OnPipEvent@0(ArcPipEvent event);
};
// Interface for communicating to Android.
// Next Method ID: 3
interface PipInstance {
// Establishes full-duplex communication with the host.
Init@0(pending_remote<PipHost> host_remote) => ();
// Instruct Android to close the current Android PIP window, if it exists.
// This is used if the user initiates a Chrome side PIP window, since we
// want to avoid showing two PIP windows at the same time.
ClosePip@1();
// Updates the suppression status of PIP. True to suppress PIP windows, or
// false not to suppress. Setting this flag also closes existing PIP window.
[MinVersion=1]
SetPipSuppressionStatus@2(bool suppressed);
};