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

Side by Side 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, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // The <code>chrome.networkingPrivate</code> API is used for configuring 5 // The <code>chrome.networkingPrivate</code> API is used for configuring
6 // network connections (Cellular, Ethernet, VPN, WiFi or WiMAX). This private 6 // network connections (Cellular, Ethernet, VPN, WiFi or WiMAX). This private
7 // API is only valid if called from a browser or app associated with the 7 // API is only valid if called from a browser or app associated with the
8 // primary user. See the Open Network Configuration (ONC) documentation for 8 // primary user. See the Open Network Configuration (ONC) documentation for
9 // descriptions of properties: 9 // descriptions of properties:
10 // src/components/onc/docs/onc_spec.html, also available at 10 // src/components/onc/docs/onc_spec.html, also available at
11 // http://www.chromium.org/chromium-os/chromiumos-design-docs/open-network-confi guration 11 // http://www.chromium.org/chromium-os/chromiumos-design-docs/open-network-confi guration
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.
12 //
13 // NOTE: Most dictionary properties and enum values use UpperCamelCase to match
14 // the ONC spec instead of the JavaScript lowerCamelCase convention.
15 //
16 // "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
17 // $(ref:networkingPrivate.getState) and $(ref:networkingPrivate.getNetworks).
18 //
19 // "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
20 // 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.
21 // time, only those currently required by the Chrome Settings UI.
22 // TODO(stevenjb): Provide all configuration properties and types,
23 // crbug.com/380937.
24 //
12 // TODO(stevenjb/pneubeck): Merge the ONC documentation with this document and 25 // TODO(stevenjb/pneubeck): Merge the ONC documentation with this document and
13 // use it as the ONC specification. 26 // use it as the ONC specification.
14 27
15 namespace networkingPrivate { 28 namespace networkingPrivate {
29 enum ActivationStateType {
30 Activated, Activating, NotActivated, PartiallyActivated
31 };
32
16 enum CaptivePortalStatus { 33 enum CaptivePortalStatus {
17 Unknown, Offline, Online, Portal, ProxyAuthRequired 34 Unknown, Offline, Online, Portal, ProxyAuthRequired
18 }; 35 };
19 36
37 enum ConnectionStateType {
38 Connected, Connecting, NotConnected
39 };
40
41 enum IPConfigType {
42 DHCP, Static
43 };
44
20 enum NetworkType { 45 enum NetworkType {
21 All, Bluetooth, Cellular, Ethernet, VPN, Wireless, WiFi, WiMAX 46 All, Bluetooth, Cellular, Ethernet, VPN, Wireless, WiFi, WiMAX
22 }; 47 };
23 48
49 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
50 DOMString? AccessPointName;
51 DOMString? Language;
52 DOMString? LocalizedName;
53 DOMString? Name;
54 DOMString? Password;
55 DOMString? Username;
56 };
57
58 dictionary CellularConfigProperties {
59 boolean? AutoConnect;
60 APNProperties? APN;
61 };
62
63 dictionary CellularStateProperties {
64 ActivationStateType? ActivationState;
65 DOMString? NetworkTechnology;
66 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
67 DOMString? RoamingState;
68 long? SignalStrength;
69 };
70
71 dictionary EthernetStateProperties {
72 DOMString? Authentication;
pneubeck (no reviews) 2015/03/27 19:13:44 mandatory
stevenjb 2015/03/27 22:11:15 Done.
73 };
74
75 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
76 DOMString? Gateway;
77 DOMString? IPAddress;
78 DOMString[]? NameServers;
79 long? RoutingPrefix;
80 DOMString? Type;
81 DOMString? WebProxyAutoDiscoveryUrl;
82 };
83
84 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.
85 DOMString? AuthenticationType;
pneubeck (no reviews) 2015/03/27 19:13:44 mandatory in state
stevenjb 2015/03/27 22:11:15 Done.
86 };
87
88 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.
89 DOMString ExtensionID;
90 };
91
92 dictionary VPNConfigProperties {
93 boolean? AutoConnect;
94 DOMString? Host;
95 ThirdPartyVPNProperties? ThirdPartyVPN;
96 DOMString? Type;
97 };
98
99 dictionary VPNStateProperties {
100 DOMString? Type;
pneubeck (no reviews) 2015/03/27 19:13:43 mandatory
stevenjb 2015/03/27 22:11:15 Done.
101 IPSecProperties? IPsec;
102 ThirdPartyVPNProperties? ThirdPartyVPN;
103 };
104
105 dictionary WiFiConfigProperties {
106 boolean? AutoConnect;
107 DOMString? HexSSID;
108 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.
109 DOMString? Passphrase;
110 DOMString? SSID;
111 DOMString? Security;
112 };
113
114 dictionary WiFiStateProperties {
115 DOMString? Security;
pneubeck (no reviews) 2015/03/27 19:13:43 mandatory
stevenjb 2015/03/27 22:11:15 Done.
116 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
117 };
118
119 dictionary WiMaxConfigProperties {
120 boolean? AutoConnect;
121 };
122
123 dictionary WiMAXStateProperties {
124 long? SignalStrength;
pneubeck (no reviews) 2015/03/27 19:13:44 same as for wifi
stevenjb 2015/03/27 22:11:15 Ditto.
125 };
126
127 dictionary NetworkConfigProperties {
128 CellularConfigProperties? Cellular;
129 DOMString? GUID;
130 IPConfigType? IPAddressConfigType;
131 DOMString? Name;
132 IPConfigType? NameServersConfigType;
133 long? Priority;
134 IPConfigProperties? StaticIPConfig;
135 NetworkType? Type;
136 VPNConfigProperties? VPN;
137 WiFiConfigProperties? WiFi;
138 WiMaxConfigProperties? WiMAX;
139 };
140
141 dictionary NetworkStateProperties {
142 CellularStateProperties? Cellular;
143 boolean? Connectable;
144 ConnectionStateType? ConnectionState;
145 EthernetStateProperties? Ethernet;
146 DOMString? ErrorState;
147 DOMString GUID;
148 DOMString? Name;
149 long? Priority;
150 DOMString? Source;
151 NetworkType Type;
152 VPNStateProperties? VPN;
153 WiFiStateProperties? WiFi;
154 WiMAXStateProperties? WiMAX;
155 };
156
24 dictionary VerificationProperties { 157 dictionary VerificationProperties {
25 // A string containing a PEM-encoded (including the 'BEGIN CERTIFICATE' 158 // A string containing a PEM-encoded (including the 'BEGIN CERTIFICATE'
26 // header and 'END CERTIFICATE' footer) X.509 certificate for use in 159 // header and 'END CERTIFICATE' footer) X.509 certificate for use in
27 // verifying the signed data. 160 // verifying the signed data.
28 DOMString certificate; 161 DOMString certificate;
29 162
30 // An array of PEM-encoded X.509 intermediate certificate authority 163 // An array of PEM-encoded X.509 intermediate certificate authority
31 // certificates. Each PEM-encoded certificate is expected to have the 164 // certificates. Each PEM-encoded certificate is expected to have the
32 // 'BEGIN CERTIFICATE' header and 'END CERTIFICATE' footer. 165 // 'BEGIN CERTIFICATE' header and 'END CERTIFICATE' footer.
33 DOMString[]? intermediateCertificates; 166 DOMString[]? intermediateCertificates;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 long? limit; 205 long? limit;
73 }; 206 };
74 207
75 callback VoidCallback = void(); 208 callback VoidCallback = void();
76 callback BooleanCallback = void(boolean result); 209 callback BooleanCallback = void(boolean result);
77 callback StringCallback = void(DOMString result); 210 callback StringCallback = void(DOMString result);
78 // TODO(stevenjb): Use NetworkProperties for |result| once defined. 211 // TODO(stevenjb): Use NetworkProperties for |result| once defined.
79 callback GetPropertiesCallback = void(object result); 212 callback GetPropertiesCallback = void(object result);
80 // TODO(stevenjb): Use ManagedNetworkProperties for |result| once defined. 213 // TODO(stevenjb): Use ManagedNetworkProperties for |result| once defined.
81 callback GetManagedPropertiesCallback = void(object result); 214 callback GetManagedPropertiesCallback = void(object result);
82 callback GetStatePropertiesCallback = void(object result); 215 callback GetStatePropertiesCallback = void(NetworkStateProperties result);
83 callback GetNetworksCallback = void(object[] result); 216 callback GetNetworksCallback = void(NetworkStateProperties[] result);
84 callback GetEnabledNetworkTypesCallback = void(NetworkType[] result); 217 callback GetEnabledNetworkTypesCallback = void(NetworkType[] result);
85 callback CaptivePortalStatusCallback = void(CaptivePortalStatus result); 218 callback CaptivePortalStatusCallback = void(CaptivePortalStatus result);
86 219
87 // These functions all report failures via chrome.runtime.lastError. 220 // These functions all report failures via chrome.runtime.lastError.
88 interface Functions { 221 interface Functions {
89 // Gets all the properties of the network with id networkGuid. Includes all 222 // Gets all the properties of the network with id networkGuid. Includes all
90 // properties of the network (read-only and read/write values). 223 // properties of the network (read-only and read/write values).
91 // |networkGuid|: The identifier of the network to get properties for. 224 // |networkGuid|: The identifier of the network to get properties for.
92 // |callback|: Returns the properties of the network. 225 // |callback|: Returns the properties of the network.
93 static void getProperties(DOMString networkGuid, 226 static void getProperties(DOMString networkGuid,
(...skipping 18 matching lines...) Expand all
112 // |networkGuid|: The identifier of the network to get properties for. 245 // |networkGuid|: The identifier of the network to get properties for.
113 // |callback|: Returns the managed properties of the network. 246 // |callback|: Returns the managed properties of the network.
114 static void getState(DOMString networkGuid, 247 static void getState(DOMString networkGuid,
115 GetStatePropertiesCallback callback); 248 GetStatePropertiesCallback callback);
116 249
117 // Sets the properties of the network with id networkGuid. 250 // Sets the properties of the network with id networkGuid.
118 // |networkGuid|: The identifier of the network to set properties for. 251 // |networkGuid|: The identifier of the network to set properties for.
119 // |properties|: The ONC properties to set. 252 // |properties|: The ONC properties to set.
120 // |callback|: Called when the operation has completed. 253 // |callback|: Called when the operation has completed.
121 static void setProperties(DOMString networkGuid, 254 static void setProperties(DOMString networkGuid,
122 object properties, 255 NetworkConfigProperties properties,
123 optional VoidCallback callback); 256 optional VoidCallback callback);
124 257
125 // Creates a new network configuration from properties. If a matching 258 // Creates a new network configuration from properties. If a matching
126 // configured network already exists, this will fail. Otherwise returns the 259 // configured network already exists, this will fail. Otherwise returns the
127 // guid of the new network. 260 // guid of the new network.
128 // |shared|: If true, share this network configuration with other users. 261 // |shared|: If true, share this network configuration with other users.
129 // |properties|: The ONC properties to configure the new network with. 262 // |properties|: The ONC properties to configure the new network with.
130 // |callback|: Returns the identifier of the created network. 263 // |callback|: Returns the identifier of the created network.
131 static void createNetwork(boolean shared, 264 static void createNetwork(boolean shared,
132 object properties, 265 NetworkConfigProperties properties,
133 optional StringCallback callback); 266 optional StringCallback callback);
134 267
135 // Forgets a network configuration by clearing any configured properties for 268 // Forgets a network configuration by clearing any configured properties for
136 // the network with GUID 'networkGuid'. This may also include any other 269 // the network with GUID 'networkGuid'. This may also include any other
137 // networks with matching identifiers (e.g. WiFi SSID and Security). If no 270 // networks with matching identifiers (e.g. WiFi SSID and Security). If no
138 // such configuration exists, an error will be set and the operation will 271 // such configuration exists, an error will be set and the operation will
139 // fail. 272 // fail.
140 static void forgetNetwork(DOMString networkGuid, 273 static void forgetNetwork(DOMString networkGuid,
141 optional VoidCallback callback); 274 optional VoidCallback callback);
142 275
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 // Fired when the list of networks has changed. Sends a complete list of 392 // Fired when the list of networks has changed. Sends a complete list of
260 // identifiers for all the current networks. 393 // identifiers for all the current networks.
261 static void onNetworkListChanged(DOMString[] changes); 394 static void onNetworkListChanged(DOMString[] changes);
262 395
263 // Fired when a portal detection for a network completes. Sends the guid of 396 // Fired when a portal detection for a network completes. Sends the guid of
264 // the network and the corresponding captive portal status. 397 // the network and the corresponding captive portal status.
265 static void onPortalDetectionCompleted(DOMString networkGuid, 398 static void onPortalDetectionCompleted(DOMString networkGuid,
266 CaptivePortalStatus status); 399 CaptivePortalStatus status);
267 }; 400 };
268 }; 401 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698