arc: [30/N] Move //{ => ash}/components/arc/mojom:mojom : batch 4
This CL moves the 4th batch of files for
{ => ash}/components/arc/mojom:mojom
This CL moves a few more mojom files from the top of the dependency
tree.
https://graphviz.corp.google.com/png?graph_id=64927213e30088a9c248b15d84c5aefc
This is part of the LaCrOs directory migration
https://docs.google.com/document/d/1g-98HpzA8XcoGBWUv1gQNr4rbnD5yfvbtYZyPDDbkaE
Bug: b:129295708
Bug: 1164001
Test: CI
Change-Id: If908dcb869bae14a67ecb8c5e98db1903ffa1001
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3308056
Commit-Queue: Yao Li <yaohuali@google.com>
Reviewed-by: James Cook <jamescook@chromium.org>
Owners-Override: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/main@{#946736}
NOKEYCHECK=True
GitOrigin-RevId: eafbabc5f90176a05e7db990f6b257ac07707378
diff --git a/BUILD.gn b/BUILD.gn
index c1525b4..d6b3aff 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -19,16 +19,7 @@
"file_system.mojom",
"intent_common.mojom",
"intent_helper.mojom",
- "lock_screen.mojom",
- "media_session.mojom",
- "memory.mojom",
"metrics.mojom",
- "midis.mojom",
- "nearby_share.mojom",
- "net.mojom",
- "obb_mounter.mojom",
- "payment_app.mojom",
- "pip.mojom",
"policy.mojom",
"power.mojom",
"print_common.mojom",
diff --git a/lock_screen.mojom b/lock_screen.mojom
deleted file mode 100644
index a19bc32..0000000
--- a/lock_screen.mojom
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2017 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.
-//
-// Next MinVersion: 1
-
-module arc.mojom;
-
-// Next method ID: 2
-interface LockScreenInstance {
- // Notifies the container whether the Chrome OS side lock screen is on/off.
- SetDeviceLocked@1(bool is_locked);
-};
diff --git a/media_session.mojom b/media_session.mojom
deleted file mode 100644
index e12dd01..0000000
--- a/media_session.mojom
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2018 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.
-
-// Next MinVersion: 1
-
-module arc.mojom;
-
-import "services/media_session/public/mojom/audio_focus.mojom";
-
-// Next method ID: 3
-interface MediaSessionInstance {
- // Enable audio focus integration on the Android side and register the
- // unified AudioPolicy. The audio policy will send audio focus requests
- // to |service|.
- EnableAudioFocus@1(
- pending_remote<media_session.mojom.AudioFocusManager> service);
-
- // Disable audio focus integration if it is enabled.
- DisableAudioFocus@2();
-};
diff --git a/memory.mojom b/memory.mojom
deleted file mode 100644
index 6d53132..0000000
--- a/memory.mojom
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2021 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.
-// Next MinVersion: 1
-
-module arc.mojom;
-
-// Next method ID: 1
-interface MemoryInstance {
- // Drops the guest kernel's page caches. Returns true on success.
- DropCaches@0() => (bool result);
-};
diff --git a/midis.mojom b/midis.mojom
deleted file mode 100644
index 18d9e40..0000000
--- a/midis.mojom
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2017 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.
-
-// Next MinVersion: 3
-
-// This file defines the mojo interface between Android, Chrome and the
-// Chrome OS daemon for the MIDI implementation used in ARC.
-
-module arc.mojom;
-
-// This struct is used to send information to the client regarding a device
-// which has been (dis)connected, and which the client can use to request
-// subdevice ports from the daemon.
-struct MidisDeviceInfo {
- uint32 card;
- uint32 device_num;
- uint32 num_subdevices;
- uint32 flags;
- string name;
- string manufacturer;
-};
-
-// This struct is used by the client to both request a subdevice port FD, as
-// well as to close all its connections to a particular device. In the latter
-// case, the |subdevice_num| field is left unused.
-struct MidisRequest {
- uint32 card;
- uint32 device_num;
- uint32 subdevice_num;
-};
-
-// This interface is used by the server to send device and other information
-// to the client. It should be implemented by the client, and a handle to it
-// should be passed to the server.
-// Next Method ID: 2
-interface MidisClient {
- OnDeviceAdded@0(MidisDeviceInfo device);
- OnDeviceRemoved@1(MidisDeviceInfo device);
-};
-
-// This interface is used by the client to send messages / requests to the
-// daemon. This should be implemented by midis.
-// Next Method ID: 4
-interface MidisServer {
- // Used to list out the MIDI devices that are currently connected to the
- // midis daemon.
- ListDevices@0() => (array<MidisDeviceInfo> devices);
-
- // This function returns a handle(a Unix FD wrapped in a Mojo Handle)
- // for a subdevice specified by |request|.
- // In the event of an error, returns an empty handle.
- // DEPRECATED: Please use RequestPort@3 instead.
- RequestPortDeprecated@1(MidisRequest request) => (handle port_handle);
- [MinVersion=2]
- RequestPort@3(MidisRequest request) => (handle? port_handle);
-
- // This function closes all open FDs the client may have on the specified
- // device, and removes the client from the device's data structure.
- CloseDevice@2(MidisRequest request);
-};
-
-// This interface is needed to get the midis server interface handle.
-// It is also used to send a handle to the midis client interface (this is
-// used to send messages to the client, and the interface is implemented
-// by the client).
-// Next Method ID: 1
-interface MidisHost {
- Connect@0(
- pending_receiver<MidisServer> server, pending_remote<MidisClient> client);
-};
-
-// MidisInstance is implemented in the ARC MIDI JNI code that
-// runs in Android and handles the Android side of the ArcBridge connection.
-// Next Method ID: 2
-interface MidisInstance {
- // DEPRECATED: Please use Init@1 instead.
- InitDeprecated@0(pending_remote<MidisHost> host_remote);
-
- // Establishes full-duplex communication with the host.
- [MinVersion=1] Init@1(pending_remote<MidisHost> host_remote) => ();
-};
diff --git a/nearby_share.mojom b/nearby_share.mojom
deleted file mode 100644
index 98e0dd1..0000000
--- a/nearby_share.mojom
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2021 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.
-//
-// Next MinVersion: 1
-
-module arc.mojom;
-
-import "url/mojom/url.mojom";
-
-// This mojo file defines the interface that Android apps on ChromeOS will use
-// to allow users to share data (text/files) to nearby share targets, using
-// ChromeOS's NearbyShare view. Nearby share is the ability for a user to share
-// data from a ChromeOS device to another ChromeOS or Android device.
-
-// Represents details about a shared file.
-struct FileInfo {
- url.mojom.Url content_uri; // Content URI for the shared file
- string mime_type; // MIME type for the file
- string name; // File name
- int64 size; // Match Long type in ARC for file size in bytes
-};
-
-// Represents the share information received from an Android app.
-struct ShareIntentInfo {
- string title; // Title of share intent
- string mime_type; // MIME type for the data.
- // (e.g. text/*, text/plain, image/*, etc)
- map<string, string>? extras; // (optional) Metadata from the Android intent
- array<FileInfo>? files; // (optional) Shared file information
-};
-
-// Represents the Chrome side of NearbyShare session. Used by ARC to send
-// NearbyShare messages to Chrome and interact with the ARC Window used
-// for NearbyShare.
-// Closing the interface will close the ARC Window.
-// Next method ID: 0
-interface NearbyShareSessionHost {
-};
-
-// Represents the ARC side of a NearbyShare session. Used by Chrome to send
-// share-related messages to ARC.
-// Next method ID: 1
-interface NearbyShareSessionInstance {
- // Called when Chrome NearbyShare view is closed.
- OnNearbyShareViewClosed@0();
-};
-
-// Interface for Android to communicate with Chrome.
-// Next method ID: 1
-interface NearbyShareHost {
- // Used to create a NearbyShare session.
- StartNearbyShare@0(
- uint32 task_id,
- ShareIntentInfo info,
- pending_remote<NearbyShareSessionInstance> instance)
- => (pending_remote<NearbyShareSessionHost> host);
-};
-
-// Interface for Chrome to communicate with Android.
-// Next method ID: 1
-interface NearbyShareInstance {
- // Establishes full-duplex communication with the host.
- Init@0(pending_remote<NearbyShareHost> host_remote) => ();
-};
diff --git a/net.mojom b/net.mojom
deleted file mode 100644
index f7aaba1..0000000
--- a/net.mojom
+++ /dev/null
@@ -1,655 +0,0 @@
-// Copyright 2015 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.
-
-// Next MinVersion: 17
-
-// This file defines the mojo interface between the ARC networking stack and
-// Chrome OS. There are three different groups of interactions:
-// - WiFi RPCs for scanning and manipulating saved network configurations,
-// - Layer 3 RPCs for configuring and registering IP networks inside ARC,
-// - VPN RPCs for integrating Always-on-VPNs and ARC as a VPN provider.
-
-module arc.mojom;
-
-import "url/mojom/url.mojom";
-
-// Indicates if a request send by ARC to the host has successfully completed.
-[Extensible]
-enum NetworkResult {
- SUCCESS = 0,
- FAILURE = 1,
-};
-
-// Additional argument to GetNetworks to specify the type of networks the
-// host is interested to learn about.
-[Extensible]
-enum GetNetworksRequestType {
- // All configured WiFi networks saved on the host.
- CONFIGURED_ONLY = 0,
- // All WiFi networks currently visible by scanning.
- VISIBLE_ONLY = 1,
- // All networks with an active layer 3 connection for all physical types.
- [MinVersion=10] ACTIVE_ONLY = 2,
-};
-
-// Represents the possible connection states of a network service.
-// It is effectively a subset of the shill::ConnectState enum defined in
-// platform2/shill/service.h. Before adding a new state to shill::ConnectState
-// there must be a valid value in this enum to map it to, or a new value must
-// first be defined in ConnectionStateType and correctly handled by ARC.
-// The mapping from shill::ConnectState must then be updated inside shill in
-// Service::GetStateString (platform2/shill/service.cc) as well as in
-// TranslateConnectionState inside components/arc/net/arc_net_host_impl.cc.
-[Extensible]
-enum ConnectionStateType {
- // An active network that is connected at the physical layer and for which IP
- // provisioning has succeeded for IPv4, or IPv6, or both.
- // This corresponds to shill::ConnectState.kStateConnected.
- CONNECTED = 0,
-
- // The network is still connecting and not ready for IP traffic, but already
- // considered active. This corresponds to kStateAssociating and
- // kStateConfiguring in shill::ConnectState.
- CONNECTING = 1,
-
- // The network is disconnected. This corresponds to kStateUnknown, kStateIdle,
- // and kStateFailure in shill::ConnectState.
- NOT_CONNECTED = 2,
-
- // The network is active and ready for IP traffic, but a captive portal is
- // known to prevent access to the Internet. This corresponds to
- // shill::ConnectState.kStatePortal
- PORTAL = 3,
-
- // The network is active and ready for IP traffic, and there is no known
- // captive portal blocking the traffic to the Internet. This corresponds to
- // shill::ConnectState.kStateOnline
- ONLINE = 4,
-};
-
-// Additional WiFi network information provided by scan results.
-struct VisibleNetworkDetails {
- int32 frequency;
- int32 signal_strength;
- string bssid;
-};
-
-// Additional configuration information needed for creating and saving
-// WiFi network configuration on the host.
-struct ConfiguredNetworkDetails {
- string? passphrase;
- bool autoconnect;
-};
-
-// Passpoint credentials used to connect to matching passpoint networks.
-// This struct should be mirroring 1-to-1 the "passpoint properties" names and
-// types defined in src/platform2/dbus/shill/dbus-constants.h.
-struct PasspointCredentials {
- // All home service provider fully qualified domain name(s).
- array<string> domains@0;
-
- // The realm associated with this credential. It will be used to determine
- // if this credential can be used to authenticate with a given hotspot by
- // comparing the realm specified in that hotspot's Access Network Query
- // Protocol (ANQP) element.
- string realm@1;
-
- // List of Home Organization Identifiers (OIs) used for determining if this
- // credentials match a given Hotspot provider. Matching of any OIs in this
- // list with an OI in the Roaming Consortium advertised by a Hotspot means
- // that successful authentication with such Hotspot is possible.
- array<uint64> home_ois@2;
-
- // List of Home Organization Identifiers (OIs) used for determining if a
- // provider is a member of a given Hotspot provider. Every OIs in this list
- // are required to match an OI in the the Roaming Consortium advertised by a
- // Hotspot in order to support authentication with this credentials.
- array<uint64> required_home_ois@3;
-
- // Roaming consortium Organization Identifiers (OIs) used to determine which
- // access points support authentication with this credentials.
- array<uint64> roaming_consortium_ois@4;
-
- // Set of EAP credentials (TLS or TTLS only) used to connect to a network
- // that matched these credentials.
- EapCredentials eap@5;
-
- // True if the user or App specified any network provisioned
- // with these credentials should be considered as metered.
- bool metered@6;
-
- // Package name of the App that provided these credentials.
- string package_name@7;
-};
-
-// The EAP method that will be used when connecting to a 802.1x WiFi network or
-// Passpoint WiFi network.
-[Extensible]
-enum EapMethod {
- kNone = 0,
- kLeap = 1,
- kPeap = 2,
- kTls = 3,
- kTtls = 4,
-};
-
-// The authentication methods that will be on the inside of a PEAP or EAP-TTLS
-// tunnel.
-[Extensible]
-enum EapPhase2Method {
- kNone = 0,
- kPap = 1,
- kMschap = 2,
- kMschapv2 = 3,
-};
-
-// Recognized key management schemes.
-[Extensible]
-enum KeyManagement {
- kNone = 0,
- kIeee8021X = 1,
- kFtEap = 2,
- kFtPsk = 3,
- kFtSae = 4,
- kWpaEap = 5,
- kWpaEapSha256 = 6,
- kWpaPsk = 7,
- kSae = 8,
-};
-
-// EAP credential used to connect to a 802.1x WiFi network or Passpoint WiFi
-// network that matched the credentials.
-// This struct should be mirroring 1-to-1 the "EAP properties" names and types
-// defined in src/platform2/system_api/dbus/shill/dbus-constants.h.
-// ARC is responsible for filling / hardcoding any field that the Android APIs
-// do not provide directly, so that ArcNetHostImpl can be a dumb data transfer
-// layer with no other logic.
-struct EapCredentials {
- // The outer or only EAP authentication type.
- EapMethod method@0;
-
- // The inner EAP authentication type.
- EapPhase2Method phase2_method@1;
-
- // When there is an inner EAP type, use this identity for the outer.
- string? anonymous_identity@2;
-
- // Who we identify ourselves as to the EAP authenticator.
- string? identity@3;
-
- // Password to use for EAP methods which require one.
- string? password@4;
-
- // Key management algorithm to use after EAP succeeds.
- KeyManagement key_management@5;
-
- // PEM formatted contents of the CA certificate(s).
- array<string>? ca_certificate_pem@6;
-
- // PEM formatted contents of the client certificate(s).
- array<string>? client_certificate_pem@7;
-
- // PEM formatted contents of the client private key.
- string? client_certificate_key@8;
-
- // If non-empty, string to match remote subject against before connecting.
- string? subject_match@9;
-
- // A list of serialized subject alternative names (SANs) to be matched against
- // the alternative subject name of the authentication server certificate. When
- // multiple match strings are specified, a match with any one of the values is
- // considered a sufficient match for the server certificate.
- array<string>? subject_alternative_name_match_list@10;
-
- // A list of constraints for the server domain name. If set, the entries will
- // be used as suffix match requirements against the DNS name element(s) of the
- // alternative subject name of an authentication server. When multiple match
- // strings are specified, a match with any one of the values is considered a
- // sufficient match for the server certificate.
- array<string>? domain_suffix_match_list@11;
-
- // The highest TLS version supplicant is allowed to negotiate.
- string? tls_version_max@12;
-
- // If true, use the system-wide certificate authority database to authenticate
- // the remote.
- bool use_system_cas@13;
-
- // If true, use per network proactive key caching.
- bool use_proactive_key_caching@14;
-
- // If true, use the user's stored login password as the password.
- bool use_login_password@15;
-};
-
-union NetworkDetails {
- VisibleNetworkDetails visible;
- ConfiguredNetworkDetails configured;
-};
-
-// The two possible Internet Procol families.
-[Extensible]
-enum IPAddressType {
- IPV4,
- IPV6,
-};
-
-// Deprecated. Individual fields added to NetworkConfiguration in version 13 of
-// this file should be used instead.
-struct IPConfiguration {
-
- // Literal representation of the IP address of the ARC gateway.
- string gateway;
-
- // Literal representation of the IP address of ARC for that network.
- string ip_address;
-
- // List of literal IP addresses of name servers to use on that network.
- array<string> name_servers;
-
- // Length of the routing prefix.
- int32 routing_prefix;
-
- // IP family for that configuration
- IPAddressType type;
-
- // URL of the HTTP proxy to use for that network.
- string web_proxy_auto_discovery_url;
-};
-
-// The subset of wireless security protocols that Android defines in
-// android.net.wifi.WifiConfiguration and that can be supported by the
-// host.
-[Extensible]
-enum SecurityType {
- NONE,
- WEP_PSK,
- WEP_8021X,
- WPA_PSK,
- WPA_EAP,
-};
-
-// Deprecated enum. |is_metered| in NetworkConfiguration should be
-// used instead.
-[Extensible]
-enum TetheringClientState {
- // Tethering state is detected and confirmed.
- CONFIRMED,
-
- // Tethering state is not detected.
- NOT_DETECTED,
-
- // Tethering data is suspected and can be |CONFIRMED| in the future.
- SUSPECTED,
-};
-
-// Describes properties of a WiFi networks used to create Android's
-// android.net.wifi.Wificonfiguration objects and android.net.wifi.WifiInfo
-// objects.
-struct WiFi {
- // The network BSSID in the format of an Ethernet MAC address.
- string bssid;
-
- // The frequency of this network, in MHz.
- int32 frequency;
-
- // The network SSID encoded as an hexadecimal string.
- string hex_ssid;
-
- // True if the network does not broadcast its ssid.
- bool hidden_ssid;
-
- // The type of wireless security protocol used by this network.
- SecurityType security;
-
- // The current RSSI of this network. Updates for this value are not sent to
- // ARC for connected WiFi networks and should be considered precise only for
- // scanning results.
- int32 signal_strength;
-
- // True if the network represents a Passpoint network.
- [MinVersion=16] bool is_passpoint;
-
- // Fully qualified domain name (FQDN) of a Passpoint configuration.
- [MinVersion=16] string? fqdn;
-};
-
-// The physical network types exposed to ARC by the host,
-// corresponding to a subset of shill technology types defined
-// in platform2/system_api/dbus/shill/dbus-constants.h.
-// The missing shill technology types are:
-// - WiMAX: obsolete WiFi standard, deprecated in Chrome OS in Q2 2019.
-// - Bluetooth: ARC does not support host IP networks over Bluetooth.
-// - PPPoE: ARC does not support host Point to Point networks.
-// Next Enum ID: 5
-// ID 4 was previously assigned to WiMAX.
-[Extensible]
-enum NetworkType {
- CELLULAR = 0,
- ETHERNET = 1,
- VPN = 2,
- WIFI = 3,
-};
-
-// Used by ARC to request a network configuration to be created on the host.
-struct NetworkConfiguration {
- // The connection state of the network service.
- ConnectionStateType connection_state;
-
- // A string token that uniquely identifies this network service.
- string guid;
-
- // Deprecated. Individual fields added to NetworkConfiguration in version 13
- // of this file should be used instead.
- array<IPConfiguration>? deprecated_ip_configs;
-
- // Deprecated field unused from ARC P and later.
- string? deprecated_mac_address;
-
- // The type of the underlying physical network.
- NetworkType type;
-
- // Additional WiFi properties for WiFi network services.
- WiFi? wifi;
-
- // Deprecated field. Uses |is_metered| instead.
- [MinVersion=8] TetheringClientState deprecated_tethering_client_state;
-
- // The name of the network interface on the host.
- [MinVersion=10] string? network_interface;
-
- // True if this network is the host default network.
- [MinVersion=11] bool is_default_network;
-
- // The name of the shill service associated with this network connection.
- [MinVersion=12] string? service_name;
-
- // This is the network MTU value (device kIpConfigsProperty) or the
- // native VPN MTU value (service property), or 0 if undefined.
- [MinVersion=13] uint32 host_mtu;
-
- // Prefix length of the host IPv4 subnet, or 0 for an IPv6 only network.
- [MinVersion=13] uint32 host_ipv4_prefix_length;
-
- // IPv4 address assigned to the host, or empty for an IPv6 only network.
- [MinVersion=13] string? host_ipv4_address;
-
- // IPv4 address of the local gateway, or empty for an IPv6 only network.
- [MinVersion=13] string? host_ipv4_gateway;
-
- // Prefix length of the host IPv6 subnet, or 0 for an IPv4 only network.
- [MinVersion=13] uint32 host_ipv6_prefix_length;
-
- // Global unicast IPv6 addresses assigned to the host, or empty for an IPv4
- // only network. The link local address and unique local addresses are
- // ignored.
- [MinVersion=13] array<string>? host_ipv6_global_addresses;
-
- // IPv6 address of the local gateway, or empty for an IPv4 only network.
- [MinVersion=13] string? host_ipv6_gateway;
-
- // All IPv4 and IPv6 addresses of name servers for the network,
- // either obtained by DHCPv4, by IPv6 RA RDNSS, or set statically.
- [MinVersion=13] array<string>? host_dns_addresses;
-
- // All search domains set for the host for the network, either obtained by
- // DHCPv4, by IPv6 RA DNSSL, or set statically. Search domains are set as an
- // explicit array of strings instead of a comma separated list embedded into
- // a single string.
- [MinVersion=13] array<string>? host_search_domains;
-
- // The following four fields specify the static IPv4 configuration for the
- // virtual network exposed inside ARC environment by arc-networkd, and
- // attached to this host network. These values are defined even if the
- // host network is an IPv6 only network.
-
- // Prefix length of the IPv4 subnet assigned to the ARC virtual network.
- [MinVersion=13] uint32 arc_ipv4_prefix_length;
-
- // IPv4 address assigned to the ARC guest.
- [MinVersion=13] string? arc_ipv4_address;
-
- // IPv4 address of the gateway for the ARC virtual network.
- [MinVersion=13] string? arc_ipv4_gateway;
-
- // The name of the network interface matching the virtual interface exposed
- // to ARC and associated with the network service. This can be different
- // from the name of the real physical interface managed by shill.
- [MinVersion=13] string? arc_network_interface;
-
- // True if the network has been autodetected by the platform as a metered
- // network or if the user explicitly marked the network as metered in the UI.
- [MinVersion=14] bool is_metered;
-};
-
-// Describes a Wifi network configuration that ARC has requested the host to
-// create.
-struct WifiConfiguration {
- // These correspond to ONC properties returned by
- // chrome.networkingPrivate.getNetworks() and createNetwork().
- // See components/onc/docs/onc_spec.html
-
- // SSID encoded as a series of hex bytes, e.g. "61626364"
- // This allows for handling SSIDs which are not valid UTF-8 strings.
- [MinVersion=2] string? hexssid@6;
-
- [MinVersion=1] string? guid@5;
- string security@4;
-
- // Fields specific to either visible or configured networks.
- [MinVersion=2] NetworkDetails? details@7;
-
- // Deprecated. These will be removed when both sides support NetworkDetails.
- int32 frequency@1;
- int32 signal_strength@2;
- string bssid@3;
-
- // Deprecated. |hexssid| will be used, going forward.
- string ssid@0;
-
- // Set of EAP credentials used to connect to a network that matched these
- // credentials.
- [MinVersion=16] EapCredentials? eap@8;
-};
-
-// Response object sent back to ARC when it queries existing networks on
-// Chrome OS side. The kind of networks returned by Chrome OS is specified
-// with the GetNetworksRequestType enum.
-struct GetNetworksResponseType {
- NetworkResult status;
- array<NetworkConfiguration> networks;
-};
-
-struct AndroidVpnConfiguration {
- // The canonical name of the VPN app (e.g. "com.android.myvpn").
- string app_name@0;
-
- // The human-readable name of the VPN app (e.g. "OpenVPN").
- string app_label@1;
-
- // The name of the VPN session, as set by the app using setSession().
- // The app does not need to call setSession() so this may be empty.
- string session_name@2;
-
- // True if Chrome browser traffic should be sent through the VPN.
- bool tunnel_chrome_traffic@3;
-
- // The next hop for IPv4 traffic originating on the host. Currently this
- // will be set to arc0's IP address.
- string ipv4_gateway@4;
-
- // A list of IPv4 and IPv6 ranges to route through the VPN. e.g.
- // ["0.0.0.0/0"] or ["192.168.1.0/24", "10.1.0.0/16"].
- array<string> split_include@5;
-
- // A list of IPv4 and IPv6 ranges to exclude from the VPN. If specified,
- // all traffic that does not fall into these ranges will use the VPN.
- array<string> split_exclude@6;
-
- // A list of DNS servers.
- array<string> nameservers@7;
-
- // A list of search domains for DNS resolution.
- array<string> domains@8;
-};
-
-// Result object that is returned to the caller of the ARC DNS
-// Resolution test. Contains information regarding the test result.
-struct ArcDnsResolutionTestResult {
- // True if the test passed successfully.
- bool is_successful;
-
- // RCODE of the DNS response as defined by rfc2929#section-2.3.
- int32 response_code;
-
- // Time elapsed for the DNS resolution (milliseconds).
- int64 duration_ms;
-};
-
-// Result object that is returned to the caller of the ARC HTTP
-// test. Contains information regarding the test result.
-struct ArcHttpTestResult {
- // True if the HTTP request completed successfully.
- bool is_successful;
-
- // Status code of the HTTP response header.
- int32 status_code;
-
- // HTTP response header fields.
- map<string, string> response_header_fields;
-
- // Time elapsed for the HTTP request and response (milliseconds).
- int64 duration_ms;
-};
-
-// Result object that is returned to the caller of the ARC
-// Ping test. Contains information regarding the test result.
-struct ArcPingTestResult {
- // True if the test passed successfully.
- bool is_successful;
-
- // Time elapsed for the ping (milliseconds).
- int64 duration_ms;
-};
-
-// Next Method ID: 16
-// IDs 3 and 9 are missing as they belonged to deprecated methods.
-interface NetHost {
- // Sends a request to get enabled / disabled status of WiFi.
- GetWifiEnabledState@1() => (bool is_enabled);
-
- // Sends a request to start scan of WiFi APs.
- [MinVersion=1] StartScan@2();
-
- // Sends a request to enable or disable WiFi. The |result| is true when the
- // the state has been successfully set or WiFi is already in the desired
- // state. It is false if WiFi manipulation is prohibited due to a policy or
- // its current state.
- [MinVersion=3] SetWifiEnabledState@4(bool is_enabled) => (bool result);
-
- // Creates a new network and returns the GUID. If an error occurs,
- // |guid| will be an empty string.
- [MinVersion=4] CreateNetwork@5(WifiConfiguration cfg) => (string guid);
-
- // Deletes an existing network.
- [MinVersion=4] ForgetNetwork@6(string guid) => (NetworkResult status);
-
- // Initiates a network connection. If called when connected to a different
- // network, it will drop the current connection first.
- [MinVersion=4] StartConnect@7(string guid) => (NetworkResult status);
-
- // Disconnects from network |guid|.
- [MinVersion=4] StartDisconnect@8(string guid) => (NetworkResult status);
-
- // Sends a request to get the subset of network services existing on Chrome OS
- // that match the kind specified with GetNetworksRequestType. This call
- // supports three usages:
- // - Querying the list of saved WiFi network configurations for implementing
- // WifiManager public APIs for accessing saved WiFi profiles.
- // - Querying visible WiFi networks for implementing Android WifiManager
- // public scanning APIs.
- // - Querying the list of all networks with an active layer 3 connection,
- // which is used for the initial registration of IP networks to Android
- // connectivity stack. This includes all physical types of networks.
- [MinVersion=6] GetNetworks@10(GetNetworksRequestType type) =>
- (GetNetworksResponseType response);
-
- // Inform Chrome OS that a VPN has connected.
- [MinVersion=7] AndroidVpnConnected@11(AndroidVpnConfiguration cfg);
-
- // Inform Chrome OS that a VPN is disconnected, reconnecting, or reconnected.
- [MinVersion=7] AndroidVpnStateChanged@12(ConnectionStateType state);
-
- // Tells Chrome OS that network traffic should go through a certain VPN
- // connection. |vpnPackage| is the package name of the Android VPN app. If
- // |lockdown| is true and the VPN connection is down, traffic is blackholed to
- // prevent circumventing the VPN connection. This applies to Chrome traffic
- // (users 'chronos' and 'debugd'), not other system traffic like the
- // update engine.
- // TODO(b/111201944): Add Chrome UI to enable the user to escape the lockdown,
- // unless the lockdown is dictated via policy.
- // Call with empty string as |vpnPackage| to lift the restriction.
- [MinVersion=9] SetAlwaysOnVpn@13(string vpnPackage, bool lockdown);
-
- // Adds a PasspointCredentials block provided by an Android App onto the host
- // platform.
- [MinVersion=16] AddPasspointCredentials@14(PasspointCredentials credentials);
-
- // Removes all PasspointCredentials blocks provided by an Android App.
- // Calling this will also revoke all associated WiFi Services provisioned
- // with the credentials blocks.
- [MinVersion=16] RemovePasspointCredentials@15(string package_name);
-};
-
-// Next Method ID: 11
-// ID 2 is missing as it belonged to deprecated method.
-interface NetInstance {
- // DEPRECATED: Please use Init@6 instead.
- InitDeprecated@0(pending_remote<NetHost> host_remote);
-
- // Establishes full-duplex communication with the host.
- [MinVersion=8] Init@6(pending_remote<NetHost> host_remote) => ();
-
- // Notifies the instance of a WiFI AP scan being completed.
- [MinVersion=1] ScanCompleted@1();
-
- // Notifies the instance of a change in the state of WiFi on the host.
- [MinVersion=3] WifiEnabledStateChanged@3(bool is_enabled);
-
- // Ask Android to disconnect the VPN, per user request.
- [MinVersion=7] DisconnectAndroidVpn@4();
-
- // Ask Android to pop up a VPN configuration dialog, per user request.
- [MinVersion=7] ConfigureAndroidVpn@5();
-
- // Notifies the instance of a change in one active network service.
- // Updates are only sent for active networks with an active layer 3
- // connection or networks in the process of connecting, corresponding to
- // CONNECTING, CONNECTED, PORTAL, and ONLINE ConnectionStateType values.
- // TODO(b/77293260): Notifications should only be sent for updates to
- // properties and data visible in NetworkConfiguration, and not for all shill
- // property updates.
- [MinVersion=10] ActiveNetworksChanged@7(array<NetworkConfiguration> network);
-
- // Does a DNS query from within ARC and returns result.
- // The test is bound to the ARC network corresponding to the host transport
- // name |transport_name|.
- [MinVersion=15] DnsResolutionTest@8(string transport_name,
- string host_name) => (ArcDnsResolutionTestResult result);
-
- // Does an HTTP GET request from within ARC and returns result.
- // Only HTTP and HTTPS are supported and the connection does not use any
- // caches/cookie jars/etc. that might exist on the Android side.
- // The test is bound to the ARC network corresponding to the host transport
- // name |transport_name|.
- [MinVersion=15] HttpTest@9(string transport_name, url.mojom.Url url)
- => (ArcHttpTestResult result);
-
- // Sends an ICMP echo request from within ARC to the given IP address and
- // returns result.
- // The test is bound to the ARC network corresponding to the host transport
- // name |transport_name|.
- [MinVersion=15] PingTest@10(string transport_name, string ip_address)
- => (ArcPingTestResult result);
-};
diff --git a/obb_mounter.mojom b/obb_mounter.mojom
deleted file mode 100644
index 403522c..0000000
--- a/obb_mounter.mojom
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2016 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.
-
-// Next MinVersion: 2
-
-module arc.mojom;
-
-// Next Method ID: 2
-interface ObbMounterHost {
- // Mounts the specified OBB file to the target path, the owner GID will be set
- // to the specified value.
- MountObb@0(string obb_file,
- string target_path,
- int32 owner_gid) => (bool success);
-
- // Unmounts the OBB file mounted to the specifed path.
- UnmountObb@1(string target_path) => (bool success);
-};
-
-// Next Method ID: 2
-interface ObbMounterInstance {
- // DEPRECATED: Please use Init@1 instead.
- InitDeprecated@0(pending_remote<ObbMounterHost> host_remote);
-
- // Establishes full-duplex communication with the host.
- [MinVersion=1] Init@1(pending_remote<ObbMounterHost> host_remote) => ();
-};
diff --git a/payment_app.mojom b/payment_app.mojom
deleted file mode 100644
index d206f0d..0000000
--- a/payment_app.mojom
+++ /dev/null
@@ -1,183 +0,0 @@
-// Copyright 2020 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.
-
-// Next MinVersion: 4
-
-module arc.mojom;
-
-// After the browser calls IsPaymentImplemented(), ARC sends back this result
-// if there are no errors.
-struct IsPaymentImplementedValidResult {
- // The list of activities with intent filter for
- // org.chromium.intent.action.PAY action and "https://play.google.com/billing"
- // in either "org.chromium.default_payment_method_name" or
- // "org.chromium.payment_method_names" metadata. Other payment methods are
- // ignored for now.
- // Example activity name: "com.example.app.PaymentActivity".
- array<string> activity_names;
-
- // The list of services with intent filter for
- // org.chromium.intent.action.IS_READY_TO_PAY. Example service name:
- // "com.example.app.IsReadyToPayService".
- array<string> service_names;
-};
-
-// After the browser calls IsPaymentImplemented(), ARC sends back this result.
-union IsPaymentImplementedResult {
- IsPaymentImplementedValidResult valid;
- string error;
-};
-
-// The common payment parameters for the browser to pass to ARC in both
-// PaymentAppInstance.IsReadyToPayService() and
-// PaymentAppInstance.InvokePaymentApp() Mojo methods. ARC will forward this
-// data to either WebPaymentIntentHelper.createIsReadyToPayIntent() or
-// WebPaymentIntentHelper.createPayIntent(), depending on which method of
-// PaymentApp Mojo IPC service was invoked.
-//
-// WebPaymentIntentHelper in ARC should be used only with the
-// "https://play.google.com/billing" payment method identifier at this time.
-struct PaymentParameters {
- // The TWA package name, e.g., "com.example.app". This is the "String
- // packageName" parameter to createIsReadyToPayIntent() and createPayIntent()
- // methods.
- string package_name;
-
- // The name of the IS_READY_TO_PAY service to query or PAY activity to invoke,
- // depending on whether this struct is passed into IsReadyToPay() or
- // InvokePaymentApp() method. For example,
- // "com.example.app.IsReadyToPayService" or "com.example.app.PaymentActivity".
- // This is the "String serviceName" parameter to createIsReadyToPayIntent() or
- // "String activityName" parameter to createPayIntent().
- string activity_or_service_name;
-
- // The JSON serialization of the JavaScript object "data" in the
- // PaymentRequest API. For example:
- //
- // {"productId": "test_product_id"}
- //
- // This string is serialized in Blink and is parsed in the TWA. The browser
- // does not parse this string. This string goes into the value of the
- // "methodDataMap" parameter of createIsReadyToPayIntent() and
- // createPayIntent() methods, i.e.:
- //
- // methodDataMap.put("https://play.google.com/billing",
- // new PaymentMethodData("https://play.google.com/billing",
- // stringified_method_data));
- string stringified_method_data;
-
- // (Host, optional port) tuple that cannot be an opaque origin. For example:
- // "shop.com". This is the "String schemelessOrigin" parameter to
- // createIsReadyToPayIntent() and createPayIntent() methods.
- string top_level_origin;
-
- // (Host, optional port) tuple that cannot be an opaque origin. For
- // example: "payment-service-provider.com". This is the "String
- // schemelessIframeOrigin" parameter to createIsReadyToPayIntent() and
- // createPayIntent() methods.
- string payment_request_origin;
-
- // The free-form identifier for this pending transaction as set either by the
- // merchant website in PaymentRequest() constructor in JavaScript, or (more
- // commonly) a browser-generated GUID string. This is the "String id"
- // parameter to createPayIntent() method. The createIsReadyToPayIntent() does
- // not currently need this parameter.
- [MinVersion=2]
- string? payment_request_id;
-
- // Opaque, browser-generated identifier for this payment request. Used to
- // identify a particular request across calls.
- [MinVersion=3]
- string? request_token;
-};
-
-// After the browser calls IsReadyToPay(), ARC sends back this result.
-union IsReadyToPayResult {
- bool response;
- string error;
-};
-
-// After the browser calls InvokePaymentApp(), ARC sends back this result, if
-// there are no errors.
-struct InvokePaymentAppValidResult {
- // Whether the intent return status is Activity.RESULT_OK.
- bool is_activity_result_ok;
-
- // The JSON serialization of a JavaScript object that's the response to
- // PaymentRequest API. For example:
- //
- // {"receiptIdentifier": "test_receipt_identifier"}
- //
- // This string is serialized in TWA and is parsed in Blink. The browser does
- // not parse this string.
- string stringified_details;
-};
-
-// After the browser calls InvokePaymentApp(), ARC sends back this result.
-union InvokePaymentAppResult {
- InvokePaymentAppValidResult valid;
- string error;
-};
-
-// The service that runs in ARC and allows the browser to invoke the TWA payment
-// app that is installed in ARC, if it implements payment intents as described
-// in https://web.dev/android-payment-apps-overview/. At first, only
-// "https://play.google.com/billing" payment method is supported.
-//
-// -------------------- --------------------------------------------------
-// | Browser | | ARC |
-// | | | |
-// | --------------- | | -------------- ------- ---------------- |
-// | | Web Payment |<-|------|->| PaymentApp |<-->| TWA |<-->| Play Billing | |
-// | --------------- | | -------------- ------- ---------------- |
-// | | | |
-// -------------------- --------------------------------------------------
-//
-// Next method ID: 3
-interface PaymentAppInstance {
- // Called by the browser to check whether the TWA with |package_name| (e.g.,
- // "com.example.app") in ARC has intent filters for
- // org.chromium.intent.action.PAY and
- // org.chromium.intent.action.IS_READY_TO_PAY with
- // "https://play.google.com/billing" in either
- // "org.chromium.default_payment_method_name" or
- // "org.chromium.payment_method_names" metadata of the PAY intent filter.
- // Other payment methods are ignored for now.
- //
- // Should not invoke any of the TWA activities or connect to any of its
- // services, because this method may be invoked when off the record, e.g.,
- // incognito mode or guest mode.
- IsPaymentImplemented@0(string package_name)
- => (IsPaymentImplementedResult response);
-
- // Forwards the request to IsReadyToPayServiceHelper.query(), which queries
- // the payment app. The payment app should return true if payments can be
- // made. This should not be invoked when off the record, e.g., incognito mode
- // or guest mode.
- [MinVersion=1]
- IsReadyToPay@1(PaymentParameters parameters)
- => (IsReadyToPayResult response);
-
- // Forwards the request to WebPaymentIntentHelper.createPayIntent() and fires
- // the resulting intent. This invokes the payment flow.
- //
- // The "String merchantName" parameter to createPayIntent() should be empty
- // (but not null).
- //
- // The total amount for createPayIntent() should always be "0" with currency
- // "ZZZ".
- [MinVersion=2]
- InvokePaymentApp@2(PaymentParameters parameters)
- => (InvokePaymentAppResult response);
-
- // Requests to abort a previous payment flow (identified by |request_token|)
- // which was opened with InvokePaymentApp().
- //
- // This may be called by the website if a payment should no longer be made
- // (e.g., when an item goes out of stock), or by the browser if the payment is
- // no longer available (e.g., the page was refreshed).
- [MinVersion=3]
- AbortPaymentApp@3(string request_token)
- => (bool aborted);
-};
diff --git a/pip.mojom b/pip.mojom
deleted file mode 100644
index 8d38010..0000000
--- a/pip.mojom
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2018 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.
-//
-// 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);
-};