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

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

Issue 1036033002: Add types to networkigPrivate IDL (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@issue_470262_networking_private_idl_1
Patch Set: Feedback, Fix and add some types 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
index e96ec4be75c512d13001055ffd32033195e435ea..13259b9ca64fb65046ae3791e77e8fe743456f5f 100644
--- a/extensions/common/api/networking_private.idl
+++ b/extensions/common/api/networking_private.idl
@@ -9,18 +9,151 @@
// descriptions of properties:
// src/components/onc/docs/onc_spec.html, also available at
// http://www.chromium.org/chromium-os/chromiumos-design-docs/open-network-configuration
pneubeck (no reviews) 2015/03/27 19:13:43 please check what the notation for urls was
stevenjb 2015/03/27 22:11:14 Done.
+//
+// NOTE: Most dictionary properties and enum values use UpperCamelCase to match
+// the ONC spec instead of the JavaScript lowerCamelCase convention.
+//
+// "State" properties describe just the ONC properties returned by
pneubeck (no reviews) 2015/03/27 19:13:43 an alternative naming scheme to StateProperties vs
stevenjb 2015/03/27 22:11:15 I think I prefer the 'Properties'. It makes it a l
+// $(ref:networkingPrivate.getState) and $(ref:networkingPrivate.getNetworks).
+//
+// "Config" properties describe just the ONC properties that can be configured
pneubeck (no reviews) 2015/03/27 19:13:43 we'll really have to add the dictionary inheritanc
stevenjb 2015/03/27 22:11:15 We should discuss this at some point, but it fact
+// through this API. NOTE: Not all configuration propertes are exposed at this
pneubeck (no reviews) 2015/03/27 19:13:43 propertes -> properties
stevenjb 2015/03/27 22:11:14 Done.
+// time, only those currently required by the Chrome Settings UI.
+// TODO(stevenjb): Provide all configuration properties and types,
+// crbug.com/380937.
+//
// 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/27 19:13:43 neither Config* nor StateProperties but this is ma
stevenjb 2015/03/27 22:11:15 For sub-dictionaries that can be used in either I
+ DOMString? AccessPointName;
+ DOMString? Language;
+ DOMString? LocalizedName;
+ DOMString? Name;
+ DOMString? Password;
+ DOMString? Username;
+ };
+
+ dictionary CellularConfigProperties {
+ boolean? AutoConnect;
+ APNProperties? APN;
+ };
+
+ dictionary CellularStateProperties {
+ ActivationStateType? ActivationState;
+ DOMString? NetworkTechnology;
+ boolean? OutOfCredits;
pneubeck (no reviews) 2015/03/27 19:13:43 can't find this in onc_signature.cc nor onc_spec
stevenjb 2015/03/27 22:11:15 Looks like we don't translate it. I think we used
+ DOMString? RoamingState;
+ long? SignalStrength;
+ };
+
+ dictionary EthernetStateProperties {
+ DOMString? Authentication;
pneubeck (no reviews) 2015/03/27 19:13:44 mandatory
stevenjb 2015/03/27 22:11:15 Done.
+ };
+
+ dictionary IPConfigProperties {
pneubeck (no reviews) 2015/03/27 19:13:43 neither Config* nor StateProperties but this is ma
stevenjb 2015/03/27 22:11:15 Yeah, "IPConfig" is unfortunately named. I think w
+ DOMString? Gateway;
+ DOMString? IPAddress;
+ DOMString[]? NameServers;
+ long? RoutingPrefix;
+ DOMString? Type;
+ DOMString? WebProxyAutoDiscoveryUrl;
+ };
+
+ dictionary IPSecProperties {
pneubeck (no reviews) 2015/03/27 19:13:44 neither Config* nor StateProperties but this is ma
stevenjb 2015/03/27 22:11:15 Also on purpose.
+ DOMString? AuthenticationType;
pneubeck (no reviews) 2015/03/27 19:13:44 mandatory in state
stevenjb 2015/03/27 22:11:15 Done.
+ };
+
+ dictionary ThirdPartyVPNProperties {
pneubeck (no reviews) 2015/03/27 19:13:44 neither Config* nor StateProperties but this is ma
stevenjb 2015/03/27 22:11:14 Correct.
+ DOMString ExtensionID;
+ };
+
+ dictionary VPNConfigProperties {
+ boolean? AutoConnect;
+ DOMString? Host;
+ ThirdPartyVPNProperties? ThirdPartyVPN;
+ DOMString? Type;
+ };
+
+ dictionary VPNStateProperties {
+ DOMString? Type;
pneubeck (no reviews) 2015/03/27 19:13:43 mandatory
stevenjb 2015/03/27 22:11:15 Done.
+ IPSecProperties? IPsec;
+ ThirdPartyVPNProperties? ThirdPartyVPN;
+ };
+
+ dictionary WiFiConfigProperties {
+ boolean? AutoConnect;
+ DOMString? HexSSID;
+ DOMString? HiddenSSID;
pneubeck (no reviews) 2015/03/27 19:13:43 must be bool not string
stevenjb 2015/03/27 22:11:14 Oops. Done.
+ DOMString? Passphrase;
+ DOMString? SSID;
+ DOMString? Security;
+ };
+
+ dictionary WiFiStateProperties {
+ DOMString? Security;
pneubeck (no reviews) 2015/03/27 19:13:43 mandatory
stevenjb 2015/03/27 22:11:15 Done.
+ long? SignalStrength;
pneubeck (no reviews) 2015/03/27 19:13:44 wasn't this always set, i.e. 0 for not-visible the
stevenjb 2015/03/27 22:11:15 Actually, for non-visible networks we don't provid
+ };
+
+ dictionary WiMaxConfigProperties {
+ boolean? AutoConnect;
+ };
+
+ dictionary WiMAXStateProperties {
+ long? SignalStrength;
pneubeck (no reviews) 2015/03/27 19:13:44 same as for wifi
stevenjb 2015/03/27 22:11:15 Ditto.
+ };
+
+ 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
@@ -79,8 +212,8 @@ namespace networkingPrivate {
callback GetPropertiesCallback = void(object result);
// TODO(stevenjb): Use ManagedNetworkProperties for |result| once defined.
callback GetManagedPropertiesCallback = void(object result);
- callback GetStatePropertiesCallback = void(object result);
- callback GetNetworksCallback = void(object[] result);
+ callback GetStatePropertiesCallback = void(NetworkStateProperties result);
+ callback GetNetworksCallback = void(NetworkStateProperties[] result);
callback GetEnabledNetworkTypesCallback = void(NetworkType[] result);
callback CaptivePortalStatusCallback = void(CaptivePortalStatus result);
@@ -119,7 +252,7 @@ namespace networkingPrivate {
// |properties|: The ONC properties to set.
// |callback|: Called when the operation has completed.
static void setProperties(DOMString networkGuid,
- object properties,
+ NetworkConfigProperties properties,
optional VoidCallback callback);
// Creates a new network configuration from properties. If a matching
@@ -129,7 +262,7 @@ namespace networkingPrivate {
// |properties|: The ONC properties to configure the new network with.
// |callback|: Returns the identifier of the created network.
static void createNetwork(boolean shared,
- object properties,
+ NetworkConfigProperties properties,
optional StringCallback callback);
// Forgets a network configuration by clearing any configured properties for

Powered by Google App Engine
This is Rietveld 408576698