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

Unified Diff: extensions/common/api/networking_private.idl

Issue 1030963003: Use networkingPrivate types in JS (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Extract unrelated chnages 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 side-by-side diff with in-line comments
Download patch
Index: extensions/common/api/networking_private.idl
diff --git a/extensions/common/api/networking_private.idl b/extensions/common/api/networking_private.idl
new file mode 100644
index 0000000000000000000000000000000000000000..8e83c49a73f0d73a6c471152a8d9d1da6cae60fb
--- /dev/null
+++ b/extensions/common/api/networking_private.idl
@@ -0,0 +1,363 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
pneubeck (no reviews) 2015/03/26 16:56:47 you should run chrome/common/extensions/docs/serve
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// The <code>chrome.networkingPrivate</code> API is used for configuring
+// network connections (Cellular, Ethernet, VPN, WiFi" or WiMAX). This private
pneubeck (no reviews) 2015/03/26 16:56:47 nit: remove orphaned "
+// API is only valid if called from a browser or app associated with the
+// primary user. See the ONC documentation for descriptions of properties.
+// TODO(stevenjb/pneubeck): Merge the ONC documentation with this document and
+// use it as the ONC specification.
+
+namespace networkingPrivate {
+ enum ActivationStateType {
+ Activated, Activating, NotActivated, PartiallyActivated
+ };
+
+ enum CaptivePortalStatus {
+ Unknown, Offline, Online, Portal, ProxyAuthRequired
+ };
+
+ enum ConnectionStateType {
+ Connected, Connecting, NotConnected
+ };
+
+ enum IPConfigType {
+ DHCP, Static
+ };
+
+ enum NetworkType {
+ All, Bluetooth, Cellular, Ethernet, VPN, Wireless, WiFi, WiMAX
+ };
+
+ dictionary APNProperties {
pneubeck (no reviews) 2015/03/26 16:56:47 if you don't need for any of these the generated C
+ DOMString? AccessPointName;
+ DOMString? Name;
+ DOMString? Username;
+ DOMString? Password;
+ };
+
+ dictionary CellularConfigProperties {
+ boolean? AutoConnect;
+ APNProperties? APN;
+ };
+
+ dictionary CellularStateProperties {
+ long? SignalStrength;
+ boolean? OutOfCredits;
+ DOMString? RoamingState;
+ ActivationStateType? ActivationState;
+ DOMString? NetworkTechnology;
+ };
+
+ dictionary EthernetStateProperties {
+ DOMString? Authentication;
+ };
+
+ dictionary IPConfigProperties {
+ DOMString? Gateway;
+ DOMString? IPAddress;
+ DOMString[]? NameServers;
+ DOMString? Type;
+ long? RoutingPrefix;
+ };
+
+ dictionary IPSecProperties {
+ DOMString? AuthenticationType;
+ };
+
+ dictionary VPNConfigProperties {
+ boolean? AutoConnect;
+ DOMString? Type;
+ DOMString? Host;
+ };
+
+ dictionary VPNStateProperties {
+ DOMString? Type;
+ IPSecProperties? IPsec;
+ };
+
+ dictionary WiFiConfigProperties {
+ boolean? AutoConnect;
+ };
+
+ dictionary WiFiStateProperties {
+ DOMString? Security;
+ long? SignalStrength;
+ };
+
+ dictionary WiMaxConfigProperties {
+ boolean? AutoConnect;
+ };
+
+ dictionary WiMAXStateProperties {
+ long? SignalStrength;
+ };
+
+ dictionary NetworkConfigProperties {
+ CellularConfigProperties? Cellular;
+ DOMString? GUID;
+ IPConfigType? IPAddressConfigType;
+ DOMString? Name;
+ IPConfigType? NameServersConfigType;
+ long? Priority;
+ IPConfigProperties? StaticIPConfig;
+ NetworkType? Type;
+ VPNConfigProperties? VPN;
+ WiFiConfigProperties? WiFi;
+ WiMaxConfigProperties? WiMAX;
+ };
+
+ dictionary NetworkStateProperties {
+ CellularStateProperties? Cellular;
+ boolean? Connectable;
+ ConnectionStateType? ConnectionState;
+ EthernetStateProperties? Ethernet;
+ DOMString? ErrorState;
+ DOMString GUID;
+ DOMString? Name;
+ long? Priority;
+ DOMString? Source;
+ NetworkType Type;
+ VPNStateProperties? VPN;
+ WiFiStateProperties? WiFi;
+ WiMAXStateProperties? WiMAX;
+ };
+
+ dictionary VerificationProperties {
+ // A string containing a PEM-encoded (including the 'BEGIN CERTIFICATE'
+ // header and 'END CERTIFICATE' footer) X.509 certificate for use in
+ // verifying the signed data.
+ DOMString certificate;
+
+ // An array of PEM-encoded X.509 intermediate certificate authority
+ // certificates. Each PEM-encoded certificate is expected to have the
+ // 'BEGIN CERTIFICATE' header and 'END CERTIFICATE' footer.
+ DOMString[]? intermediateCertificates;
+
+ // A string containing a Base64-encoded RSAPublicKey ASN.1 structure,
+ // representing the public key to be used by verifyAndEncryptCredentials and
+ // verifyAndEncryptData methods.
+ DOMString publicKey;
+
+ // A string containing a base64-encoded random binary data for use in
+ // verifying the signed data.
+ DOMString nonce;
+
+ // A string containing the identifying data string signed by the device.
+ DOMString signedData;
+
+ // A string containing the serial number of the device.
+ DOMString deviceSerial;
+
+ // A string containing the SSID of the device. Should be empty for new
+ // configurations.
+ DOMString deviceSsid;
+
+ // A string containing the BSSID of the device. Should be empty for new
+ // configurations.
+ DOMString deviceBssid;
+ };
+
+ dictionary NetworkFilter {
+ // The type of networks to return.
+ NetworkType networkType;
+
+ // If true, only include visible (physically connected or in-range)
+ // networks. Defaults to 'false'.
+ boolean? visible;
+
+ // If true, only include configured (saved) networks. Defaults to 'false'.
+ boolean? configured;
+
+ // Maximum number of networks to return. Defaults to 1000. Use 0 for no
+ // limit.
+ long? limit;
+ };
+
+ callback VoidCallback = void();
+ callback BooleanCallback = void(boolean result);
+ callback StringCallback = void(DOMString result);
+ // TODO(stevenjb): Use NetworkProperties for |result| once defined.
+ callback GetPropertiesCallback = void(object result);
+ // TODO(stevenjb): Use ManagedNetworkProperties for |result| once defined.
+ callback GetManagedPropertiesCallback = void(object result);
+ callback GetStatePropertiesCallback = void(NetworkStateProperties result);
+ callback GetNetworksCallback = void(NetworkStateProperties[] result);
+ callback GetEnabledNetwrokTypesCallback = void(NetworkType[] result);
+ callback CaptivePortalStatusCallback = void(CaptivePortalStatus result);
+
+ // These functions all report failures via chrome.runtime.lastError.
+ interface Functions {
+ // Gets all the properties of the network with id networkGuid. Includes all
+ // properties of the network (read-only and read/write values).
+ // |networkGuid|: The identifier of the network to get properties for.
+ // |callback|: Returns the properties of the network.
+ static void getProperties(DOMString networkGuid,
+ GetPropertiesCallback callback);
+
+ // Gets the merged properties of the network with id networkGuid from the
+ // sources: User settings, shared settings, user policy, device policy and
+ // the currently active settings.
+ // |networkGuid|: The identifier of the network to get properties for.
+ // |callback|: Returns the managed properties of the network.
+ static void getManagedProperties(DOMString networkGuid,
+ GetManagedPropertiesCallback callback);
+
+ // Gets the cached read-only properties of the network with id networkGuid.
+ // This is meant to be a higher performance function than getProperties,
+ // which requires a round trip to query the networking subsystem. The
+ // following properties are returned for all networks: GUID, Type, Name,
+ // WiFi.Security. Additional properties are provided for visible networks:
+ // ConnectionState, ErrorState, WiFi.SignalStrength,
+ // Cellular.NetworkTechnology, Cellular.ActivationState,
+ // Cellular.RoamingState, Cellular.OutOfCredits.
+ // |networkGuid|: The identifier of the network to get properties for.
+ // |callback|: Returns the managed properties of the network.
+ static void getState(DOMString networkGuid,
+ GetStatePropertiesCallback callback);
+
+ // Sets the properties of the network with id networkGuid.
+ // |networkGuid|: The identifier of the network to set properties for.
+ // |properties|: The ONC properties to set.
+ // |callback|: Called when the operation has completed.
+ static void setProperties(DOMString networkGuid,
+ NetworkConfigProperties properties,
+ optional VoidCallback callback);
+
+ // Creates a new network configuration from properties. If a matching
+ // configured network already exists, this will fail. Otherwise returns the
+ // guid of the new network.
+ // |shared|: If true, share this network configuration with other users.
+ // |properties|: The ONC properties to configure the new network with.
+ // |callback|: Returns the identifier of the created network.
+ static void createNetwork(boolean shared,
+ NetworkConfigProperties properties,
+ optional StringCallback callback);
+
+ // Returns a list of network objects with the same properties provided by
+ // getState. A filter is provided to specify the type of networks returned
+ // and to limit the number of networks. Networks are ordered by the system
+ // based on their priority, with connected or connecting networks listed
+ // first. static void getNetworks();
+ // |filter|: Describes which networks to return.
+ // |callback|: Returns the network state properties.
+ static void getNetworks(NetworkFilter filter,
+ GetNetworksCallback callback);
+
+ // Deprecated. Please use $(ref:networkingPrivate.getNetworks) with
+ // filter.visble = true instead.
+ [deprecated="Use getNetworks."] static void getVisibleNetworks(
+ NetworkType networkType,
+ GetNetworksCallback callback);
+
+ // Returns a list of the enabled network types. Note: this only returns
+ // discrete types that can be enabled or disabled: Cellular, Ethernet, WiFi,
+ // Wimax.
+ static void getEnabledNetworkTypes(GetEnabledNetwrokTypesCallback callback);
+
+ // Enable the specified network type. Note, the type might represent
+ // multiple network types (e.g. 'Wireless').
+ static void enableNetworkType(NetworkType networkType);
+
+ // Disable the specified network type. See note for
+ // $(ref:networkingPrivate.enableNetworkType).
+ static void disableNetworkType(NetworkType networkType);
+
+ // Requests that the networking subsystem scan for new networks and
+ // update the list returned by getVisibleNetworks. This is only a
+ // request: the network subsystem can choose to ignore it. If the list
+ // is updated, then the onNetworkListChanged event will be fired.
+ static void requestNetworkScan();
+
+ // Starts a connection to the network with networkGuid.
+ // |networkGuid|: The identifier of the network to connect to.
+ static void startConnect(DOMString networkGuid,
+ optional VoidCallback callback);
+
+ // Starts a disconnect from the network with networkGuid.
+ // |networkGuid|: The identifier of the network to disconnect from.
+ static void startDisconnect(DOMString networkGuid,
+ optional VoidCallback callback);
+
+ // Starts activation of the Cellular network with networkGuid.
+ // |networkGuid|: The identifier of the Cellular network to activate.
+ // |carrier|: Optional name of carrier to activate.
+ static void startActivate(DOMString networkGuid,
+ optional DOMString carrier,
+ optional VoidCallback callback);
+
+ // Verifies that the device is a trusted device.
+ // |properties|: Properties of the destination to use in verifying that it
+ // is a trusted device.
+ // |callback|: A callback function that indicates whether or not the device
+ // is a trusted device.
+ static void verifyDestination(VerificationProperties properties,
+ BooleanCallback callback);
+
+ // Verifies that the device is a trusted device and retrieves encrypted
+ // network credentials.
+ // |properties|: Properties of the destination to use in verifying that it
+ // is a trusted device.
+ // |networkGuid|: The identifier of the Cellular network to activate.
+ // |callback|: A callback function that receives base64-encoded encrypted
+ // credential data to send to a trusted device.
+ static void verifyAndEncryptCredentials(VerificationProperties properties,
+ DOMString networkGuid,
+ StringCallback callback);
+
+ // Verifies that the device is a trusted device and encrypts supplied
+ // data with device public key.
+ // |properties|: Properties of the destination to use in verifying that it
+ // is a trusted device.
+ // |data|: A string containing the base64-encoded data to encrypt.
+ // |callback|: A callback function that receives base64-encoded encrypted
+ // data to send to a trusted device.
+ static void verifyAndEncryptData(VerificationProperties properties,
+ DOMString data,
+ StringCallback callback);
+
+ // Enables TDLS for wifi traffic with a specified peer if available.
+ // |ip_or_mac_address|: The IP or MAC address of the peer with which to
+ // enable a TDLS connection.
+ // |enabled| If true, enable TDLS, otherwise disable TDLS.
+ // |calback|: A callback function that receives a string with an error or
+ // the current TDLS status. 'Failed' indicates that the request failed
+ // (e.g. MAC address lookup failed). 'Timeout' indicates that the lookup
+ // timed out. Otherwise a valid status is returned (see
+ // getWifiTDLSStatus).
+ static void setWifiTDLSEnabledState(DOMString ip_or_mac_address,
+ boolean enabled,
+ StringCallback callback);
+
+ // Returns the current TDLS status for the specified peer.
+ // |ip_or_mac_address|: The IP or MAC address of the peer.
+ // |calback|: A callback function that receives a string with the current
+ // TDLS status which can be 'Connected', 'Disabled', 'Disconnected',
+ // 'Nonexistent', or 'Unknown'.
+ static void getWifiTDLSStatus(DOMString ip_or_mac_address,
+ StringCallback callback);
+
+ // Returns captive portal status for the network matching 'guid'.
+ // |networkGuid|: The identifier of the network to get the captive portal
+ // status for.
+ // |calback|: Results of the query for network captive portal status.
+ static void getCaptivePortalStatus(DOMString networkGuid,
+ CaptivePortalStatusCallback callback);
+ };
+
+ interface Events {
+ // Fired when the properties change on any of the networks. Sends a list of
+ // identifiers for networks whose properties have changed.
+ static void onNetworksChanged(DOMString[] changes);
+
+ // Fired when the list of networks has changed. Sends a complete list of
+ // identifiers for all the current networks.
+ static void onNetworkListChanged(DOMString[] changes);
+
+ // Fired when a portal detection for a network completes. Sends the guid of
+ // the network and the corresponding captive portal status.
+ static void onPortalDetectionCompleted(DOMString networkGuid,
+ CaptivePortalStatus status);
+ };
+};

Powered by Google App Engine
This is Rietveld 408576698