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
3 // found in the LICENSE file.
5 // This file was generated by:
6 // ./tools/json_schema_compiler/compiler.py.
7 // NOTE: The format of types has changed. 'FooType' is now
8 // 'chrome.networkingPrivate.FooType'.
9 // Please run the closure compiler before committing changes.
10 // See https://code.google.com/p/chromium/wiki/ClosureCompilation.
12 /** @fileoverview Externs generated from namespace: networkingPrivate */
17 chrome.networkingPrivate = {};
21 * @see https://developer.chrome.com/extensions/networkingPrivate#type-ActivationStateType
23 chrome.networkingPrivate.ActivationStateType = {
24 ACTIVATED: 'Activated',
25 ACTIVATING: 'Activating',
26 NOT_ACTIVATED: 'NotActivated',
27 PARTIALLY_ACTIVATED: 'PartiallyActivated',
32 * @see https://developer.chrome.com/extensions/networkingPrivate#type-CaptivePortalStatus
34 chrome.networkingPrivate.CaptivePortalStatus = {
39 PROXY_AUTH_REQUIRED: 'ProxyAuthRequired',
44 * @see https://developer.chrome.com/extensions/networkingPrivate#type-ConnectionStateType
46 chrome.networkingPrivate.ConnectionStateType = {
47 CONNECTED: 'Connected',
48 CONNECTING: 'Connecting',
49 NOT_CONNECTED: 'NotConnected',
54 * @see https://developer.chrome.com/extensions/networkingPrivate#type-DeviceStateType
56 chrome.networkingPrivate.DeviceStateType = {
57 UNINITIALIZED: 'Uninitialized',
65 * @see https://developer.chrome.com/extensions/networkingPrivate#type-IPConfigType
67 chrome.networkingPrivate.IPConfigType = {
74 * @see https://developer.chrome.com/extensions/networkingPrivate#type-NetworkType
76 chrome.networkingPrivate.NetworkType = {
88 * @see https://developer.chrome.com/extensions/networkingPrivate#type-ProxySettingsType
90 chrome.networkingPrivate.ProxySettingsType = {
99 * AccessPointName: string,
100 * Language: (string|undefined),
101 * LocalizedName: (string|undefined),
102 * Name: (string|undefined),
103 * Password: (string|undefined),
104 * Username: (string|undefined)
106 * @see https://developer.chrome.com/extensions/networkingPrivate#type-APNProperties
108 chrome.networkingPrivate.APNProperties;
112 * AutoConnect: (boolean|undefined),
113 * APN: (!chrome.networkingPrivate.APNProperties|undefined),
114 * Carrier: (string|undefined)
116 * @see https://developer.chrome.com/extensions/networkingPrivate#type-CellularConfigProperties
118 chrome.networkingPrivate.CellularConfigProperties;
122 * requirePin: boolean,
123 * currentPin: string,
124 * newPin: (string|undefined)
126 * @see https://developer.chrome.com/extensions/networkingPrivate#type-CellularSimState
128 chrome.networkingPrivate.CellularSimState;
132 * ActivationState: (!chrome.networkingPrivate.ActivationStateType|undefined),
133 * NetworkTechnology: (string|undefined),
134 * RoamingState: (string|undefined),
135 * SIMPresent: (boolean|undefined),
136 * SignalStrength: (number|undefined)
138 * @see https://developer.chrome.com/extensions/networkingPrivate#type-CellularStateProperties
140 chrome.networkingPrivate.CellularStateProperties;
144 * Scanning: (boolean|undefined),
145 * State: !chrome.networkingPrivate.DeviceStateType,
146 * Type: !chrome.networkingPrivate.NetworkType
148 * @see https://developer.chrome.com/extensions/networkingPrivate#type-DeviceStateProperties
150 chrome.networkingPrivate.DeviceStateProperties;
154 * Authentication: string
156 * @see https://developer.chrome.com/extensions/networkingPrivate#type-EthernetStateProperties
158 chrome.networkingPrivate.EthernetStateProperties;
162 * Gateway: (string|undefined),
163 * IPAddress: (string|undefined),
164 * NameServers: (!Array<string>|undefined),
165 * RoutingPrefix: (number|undefined),
166 * Type: (string|undefined),
167 * WebProxyAutoDiscoveryUrl: (string|undefined)
169 * @see https://developer.chrome.com/extensions/networkingPrivate#type-IPConfigProperties
171 chrome.networkingPrivate.IPConfigProperties;
175 * AuthenticationType: string
177 * @see https://developer.chrome.com/extensions/networkingPrivate#type-IPSecProperties
179 chrome.networkingPrivate.IPSecProperties;
186 * @see https://developer.chrome.com/extensions/networkingPrivate#type-ProxyLocation
188 chrome.networkingPrivate.ProxyLocation;
192 * HTTPProxy: (!chrome.networkingPrivate.ProxyLocation|undefined),
193 * SecureHTTPProxy: (!chrome.networkingPrivate.ProxyLocation|undefined),
194 * FTPProxy: (!chrome.networkingPrivate.ProxyLocation|undefined),
195 * SOCKS: (!chrome.networkingPrivate.ProxyLocation|undefined)
197 * @see https://developer.chrome.com/extensions/networkingPrivate#type-ManualProxySettings
199 chrome.networkingPrivate.ManualProxySettings;
203 * Type: !chrome.networkingPrivate.ProxySettingsType,
204 * Manual: (!chrome.networkingPrivate.ManualProxySettings|undefined),
205 * ExcludeDomains: (!Array<string>|undefined),
206 * PAC: (string|undefined)
208 * @see https://developer.chrome.com/extensions/networkingPrivate#type-ProxySettings
210 chrome.networkingPrivate.ProxySettings;
214 * OTP: (string|undefined),
215 * Password: (string|undefined),
216 * UserAuthenticationType: (string|undefined),
217 * Username: (string|undefined)
219 * @see https://developer.chrome.com/extensions/networkingPrivate#type-OpenVPNProperties
221 chrome.networkingPrivate.OpenVPNProperties;
225 * ExtensionID: string
227 * @see https://developer.chrome.com/extensions/networkingPrivate#type-ThirdPartyVPNProperties
229 chrome.networkingPrivate.ThirdPartyVPNProperties;
233 * AutoConnect: (boolean|undefined),
234 * Host: (string|undefined),
235 * OpenVPN: (!chrome.networkingPrivate.OpenVPNProperties|undefined),
236 * ThirdPartyVPN: (!chrome.networkingPrivate.ThirdPartyVPNProperties|undefined),
237 * Type: (string|undefined)
239 * @see https://developer.chrome.com/extensions/networkingPrivate#type-VPNConfigProperties
241 chrome.networkingPrivate.VPNConfigProperties;
246 * IPsec: (!chrome.networkingPrivate.IPSecProperties|undefined),
247 * ThirdPartyVPN: (!chrome.networkingPrivate.ThirdPartyVPNProperties|undefined)
249 * @see https://developer.chrome.com/extensions/networkingPrivate#type-VPNStateProperties
251 chrome.networkingPrivate.VPNStateProperties;
255 * AutoConnect: (boolean|undefined),
256 * HexSSID: (string|undefined),
257 * HiddenSSID: (boolean|undefined),
258 * Passphrase: (string|undefined),
259 * SSID: (string|undefined),
260 * Security: (string|undefined)
262 * @see https://developer.chrome.com/extensions/networkingPrivate#type-WiFiConfigProperties
264 chrome.networkingPrivate.WiFiConfigProperties;
269 * SignalStrength: (number|undefined)
271 * @see https://developer.chrome.com/extensions/networkingPrivate#type-WiFiStateProperties
273 chrome.networkingPrivate.WiFiStateProperties;
277 * AutoConnect: (boolean|undefined)
279 * @see https://developer.chrome.com/extensions/networkingPrivate#type-WiMaxConfigProperties
281 chrome.networkingPrivate.WiMaxConfigProperties;
285 * SignalStrength: (number|undefined)
287 * @see https://developer.chrome.com/extensions/networkingPrivate#type-WiMAXStateProperties
289 chrome.networkingPrivate.WiMAXStateProperties;
293 * Cellular: (!chrome.networkingPrivate.CellularConfigProperties|undefined),
294 * GUID: (string|undefined),
295 * IPAddressConfigType: (!chrome.networkingPrivate.IPConfigType|undefined),
296 * Name: (string|undefined),
297 * NameServersConfigType: (!chrome.networkingPrivate.IPConfigType|undefined),
298 * Priority: (number|undefined),
299 * ProxySettings: (!chrome.networkingPrivate.ProxySettings|undefined),
300 * StaticIPConfig: (!chrome.networkingPrivate.IPConfigProperties|undefined),
301 * Type: (!chrome.networkingPrivate.NetworkType|undefined),
302 * VPN: (!chrome.networkingPrivate.VPNConfigProperties|undefined),
303 * WiFi: (!chrome.networkingPrivate.WiFiConfigProperties|undefined),
304 * WiMAX: (!chrome.networkingPrivate.WiMaxConfigProperties|undefined)
306 * @see https://developer.chrome.com/extensions/networkingPrivate#type-NetworkConfigProperties
308 chrome.networkingPrivate.NetworkConfigProperties;
312 * Cellular: (!chrome.networkingPrivate.CellularStateProperties|undefined),
313 * Connectable: (boolean|undefined),
314 * ConnectionState: (!chrome.networkingPrivate.ConnectionStateType|undefined),
315 * Ethernet: (!chrome.networkingPrivate.EthernetStateProperties|undefined),
316 * ErrorState: (string|undefined),
318 * Name: (string|undefined),
319 * Priority: (number|undefined),
320 * Source: (string|undefined),
321 * Type: !chrome.networkingPrivate.NetworkType,
322 * VPN: (!chrome.networkingPrivate.VPNStateProperties|undefined),
323 * WiFi: (!chrome.networkingPrivate.WiFiStateProperties|undefined),
324 * WiMAX: (!chrome.networkingPrivate.WiMAXStateProperties|undefined)
326 * @see https://developer.chrome.com/extensions/networkingPrivate#type-NetworkStateProperties
328 chrome.networkingPrivate.NetworkStateProperties;
332 * certificate: string,
333 * intermediateCertificates: (!Array<string>|undefined),
336 * signedData: string,
337 * deviceSerial: string,
338 * deviceSsid: string,
339 * deviceBssid: string
341 * @see https://developer.chrome.com/extensions/networkingPrivate#type-VerificationProperties
343 chrome.networkingPrivate.VerificationProperties;
347 * networkType: !chrome.networkingPrivate.NetworkType,
348 * visible: (boolean|undefined),
349 * configured: (boolean|undefined),
350 * limit: (number|undefined)
352 * @see https://developer.chrome.com/extensions/networkingPrivate#type-NetworkFilter
354 chrome.networkingPrivate.NetworkFilter;
357 * Gets all the properties of the network with id networkGuid. Includes all
358 * properties of the network (read-only and read/write values).
359 * @param {string} networkGuid The GUID of the network to get properties for.
360 * @param {function(Object):void} callback Called with the network properties
362 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getProperties
364 chrome.networkingPrivate.getProperties = function(networkGuid, callback) {};
367 * Gets the merged properties of the network with id networkGuid from the
368 * sources: User settings, shared settings, user policy, device policy and the
369 * currently active settings.
370 * @param {string} networkGuid The GUID of the network to get properties for.
371 * @param {function(Object):void} callback Called with the managed network
372 * properties when received.
373 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getManagedProperties
375 chrome.networkingPrivate.getManagedProperties = function(networkGuid, callback) {};
378 * Gets the cached read-only properties of the network with id networkGuid. This
379 * is meant to be a higher performance function than $(ref:getProperties), which
380 * requires a round trip to query the networking subsystem. The following
381 * properties are returned for all networks: GUID, Type, Name, WiFi.Security.
382 * Additional properties are provided for visible networks: ConnectionState,
383 * ErrorState, WiFi.SignalStrength, Cellular.NetworkTechnology,
384 * Cellular.ActivationState, Cellular.RoamingState.
385 * @param {string} networkGuid The GUID of the network to get properties for.
386 * @param {function(!chrome.networkingPrivate.NetworkStateProperties):void} callback Called immediately with the network state
388 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getState
390 chrome.networkingPrivate.getState = function(networkGuid, callback) {};
393 * Sets the properties of the network with id networkGuid.
394 * @param {string} networkGuid The GUID of the network to set properties for.
395 * @param {!chrome.networkingPrivate.NetworkConfigProperties} properties The
397 * @param {function():void=} callback Called when the operation has completed.
398 * @see https://developer.chrome.com/extensions/networkingPrivate#method-setProperties
400 chrome.networkingPrivate.setProperties = function(networkGuid, properties, callback) {};
403 * Creates a new network configuration from properties. If a matching configured
404 * network already exists, this will fail. Otherwise returns the guid of the new
406 * @param {boolean} shared If true, share this network configuration with other
408 * @param {!chrome.networkingPrivate.NetworkConfigProperties} properties The
409 * properties to configure the new network with.
410 * @param {function(string):void=} callback Called with the GUID for the new
411 * network configuration once the network has been created.
412 * @see https://developer.chrome.com/extensions/networkingPrivate#method-createNetwork
414 chrome.networkingPrivate.createNetwork = function(shared, properties, callback) {};
417 * Forgets a network configuration by clearing any configured properties for the
418 * network with GUID 'networkGuid'. This may also include any other networks
419 * with matching identifiers (e.g. WiFi SSID and Security). If no such
420 * configuration exists, an error will be set and the operation will fail.
421 * @param {string} networkGuid The GUID of the network to forget.
422 * @param {function():void=} callback Called when the operation has completed.
423 * @see https://developer.chrome.com/extensions/networkingPrivate#method-forgetNetwork
425 chrome.networkingPrivate.forgetNetwork = function(networkGuid, callback) {};
428 * Returns a list of network objects with the same properties provided by
429 * $(ref:networkingPrivate.getState). A filter is provided to specify the type
430 * of networks returned and to limit the number of networks. Networks are
431 * ordered by the system based on their priority, with connected or connecting
432 * networks listed first.
433 * @param {!chrome.networkingPrivate.NetworkFilter} filter Describes which
434 * networks to return.
435 * @param {function(!Array<!chrome.networkingPrivate.NetworkStateProperties>):void} callback Called with a dictionary of networks and their state properties
437 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getNetworks
439 chrome.networkingPrivate.getNetworks = function(filter, callback) {};
442 * Deprecated. Please use $(ref:networkingPrivate.getNetworks) with
443 * filter.visible = true instead.
444 * @param {!chrome.networkingPrivate.NetworkType} networkType
445 * @param {function(!Array<!chrome.networkingPrivate.NetworkStateProperties>):void} callback
446 * @deprecated Use getNetworks.
447 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getVisibleNetworks
449 chrome.networkingPrivate.getVisibleNetworks = function(networkType, callback) {};
452 * Deprecated. Please use $(ref:networkingPrivate.getDeviceStates) instead.
453 * @param {function(!Array<!chrome.networkingPrivate.NetworkType>):void} callback
454 * @deprecated Use getDeviceStates.
455 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getEnabledNetworkTypes
457 chrome.networkingPrivate.getEnabledNetworkTypes = function(callback) {};
460 * Returns a list of $(ref:networkingPrivate.DeviceStateProperties) objects.
461 * @param {function(!Array<!chrome.networkingPrivate.DeviceStateProperties>):void} callback Called with a list of devices and
463 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getDeviceStates
465 chrome.networkingPrivate.getDeviceStates = function(callback) {};
468 * Enables any devices matching the specified network type. Note, the type might
469 * represent multiple network types (e.g. 'Wireless').
470 * @param {!chrome.networkingPrivate.NetworkType} networkType The type of
472 * @see https://developer.chrome.com/extensions/networkingPrivate#method-enableNetworkType
474 chrome.networkingPrivate.enableNetworkType = function(networkType) {};
477 * Disables any devices matching the specified network type. See note for
478 * $(ref:networkingPrivate.enableNetworkType).
479 * @param {!chrome.networkingPrivate.NetworkType} networkType The type of
480 * network to disable.
481 * @see https://developer.chrome.com/extensions/networkingPrivate#method-disableNetworkType
483 chrome.networkingPrivate.disableNetworkType = function(networkType) {};
486 * Requests that the networking subsystem scan for new networks and update the
487 * list returned by $(ref:getVisibleNetworks). This is only a request: the
488 * network subsystem can choose to ignore it. If the list is updated, then the
489 * $(ref:onNetworkListChanged) event will be fired.
490 * @see https://developer.chrome.com/extensions/networkingPrivate#method-requestNetworkScan
492 chrome.networkingPrivate.requestNetworkScan = function() {};
495 * Starts a connection to the network with networkGuid.
496 * @param {string} networkGuid The GUID of the network to connect to.
497 * @param {function():void=} callback Called when the connect request has been
498 * sent. Note: the connection may not have completed. Observe
499 * $(ref:onNetworksChanged) to be notified when a network state changes.
500 * @see https://developer.chrome.com/extensions/networkingPrivate#method-startConnect
502 chrome.networkingPrivate.startConnect = function(networkGuid, callback) {};
505 * Starts a disconnect from the network with networkGuid.
506 * @param {string} networkGuid The GUID of the network to disconnect from.
507 * @param {function():void=} callback Called when the disconnect request has
508 * been sent. See note for $(ref:startConnect).
509 * @see https://developer.chrome.com/extensions/networkingPrivate#method-startDisconnect
511 chrome.networkingPrivate.startDisconnect = function(networkGuid, callback) {};
514 * Starts activation of the Cellular network with networkGuid. If called for a
515 * network that is already activated, or for a network with a carrier that can
516 * not be directly activated, this will show the account details page for the
517 * carrier if possible.
518 * @param {string} networkGuid The GUID of the Cellular network to activate.
519 * @param {string=} carrier Optional name of carrier to activate.
520 * @param {function():void=} callback Called when the activation request has
521 * been sent. See note for $(ref:startConnect).
522 * @see https://developer.chrome.com/extensions/networkingPrivate#method-startActivate
524 chrome.networkingPrivate.startActivate = function(networkGuid, carrier, callback) {};
527 * Verifies that the device is a trusted device.
528 * @param {!chrome.networkingPrivate.VerificationProperties} properties
529 * Properties of the destination to use in verifying that it is a
531 * @param {function(boolean):void} callback A callback function that indicates
532 * whether or not the device is a trusted device.
533 * @see https://developer.chrome.com/extensions/networkingPrivate#method-verifyDestination
535 chrome.networkingPrivate.verifyDestination = function(properties, callback) {};
538 * Verifies that the device is a trusted device and retrieves encrypted network
540 * @param {!chrome.networkingPrivate.VerificationProperties} properties
541 * Properties of the destination to use in verifying that it is a
543 * @param {string} networkGuid The GUID of the Cellular network to activate.
544 * @param {function(string):void} callback A callback function that receives
545 * base64-encoded encrypted credential data to send to a trusted device.
546 * @see https://developer.chrome.com/extensions/networkingPrivate#method-verifyAndEncryptCredentials
548 chrome.networkingPrivate.verifyAndEncryptCredentials = function(properties, networkGuid, callback) {};
551 * Verifies that the device is a trusted device and encrypts supplied data with
553 * @param {!chrome.networkingPrivate.VerificationProperties} properties
554 * Properties of the destination to use in verifying that it is a
556 * @param {string} data A string containing the base64-encoded data to encrypt.
557 * @param {function(string):void} callback A callback function that receives
558 * base64-encoded encrypted data to send to a trusted device.
559 * @see https://developer.chrome.com/extensions/networkingPrivate#method-verifyAndEncryptData
561 chrome.networkingPrivate.verifyAndEncryptData = function(properties, data, callback) {};
564 * Enables TDLS for WiFi traffic with a specified peer if available.
565 * @param {string} ip_or_mac_address The IP or MAC address of the peer with
566 * which to enable a TDLS connection. |enabled| If true, enable TDLS,
567 * otherwise disable TDLS.
568 * @param {boolean} enabled
569 * @param {function(string):void=} callback A callback function that receives a
570 * string with an error or the current TDLS status. 'Failed' indicates
571 * that the request failed (e.g. MAC address lookup failed). 'Timeout'
572 * indicates that the lookup timed out. Otherwise a valid status is
573 * returned (see $(ref:getWifiTDLSStatus)).
574 * @see https://developer.chrome.com/extensions/networkingPrivate#method-setWifiTDLSEnabledState
576 chrome.networkingPrivate.setWifiTDLSEnabledState = function(ip_or_mac_address, enabled, callback) {};
579 * Returns the current TDLS status for the specified peer.
580 * @param {string} ip_or_mac_address The IP or MAC address of the peer.
581 * @param {function(string):void} callback A callback function that receives a
582 * string with the current TDLS status which can be 'Connected',
583 * 'Disabled', 'Disconnected', 'Nonexistent', or 'Unknown'.
584 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getWifiTDLSStatus
586 chrome.networkingPrivate.getWifiTDLSStatus = function(ip_or_mac_address, callback) {};
589 * Returns captive portal status for the network matching 'networkGuid'.
590 * @param {string} networkGuid The GUID of the network to get captive portal
592 * @param {function(!chrome.networkingPrivate.CaptivePortalStatus):void} callback A callback function that returns the results of the query for network captive portal status
594 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getCaptivePortalStatus
596 chrome.networkingPrivate.getCaptivePortalStatus = function(networkGuid, callback) {};
599 * Unlocks a Cellular SIM card. * If the SIM is PIN locked, |pin| will be used
600 * to unlock the SIM and the |puk| argument will be ignored if provided. * If
601 * the SIM is PUK locked, |puk| and |pin| must be provided. If the operation
602 * succeds (|puk| is valid), the PIN will be set to |pin|. (If |pin| is empty
603 * or invalid the operation will fail).
604 * @param {string} networkGuid The GUID of the cellular network to unlock.
605 * @param {string} pin The current SIM PIN, or the new PIN if PUK is provided.
606 * @param {string=} puk The operator provided PUK for unblocking a blocked SIM.
607 * @param {function():void=} callback Called when the operation has completed.
608 * @see https://developer.chrome.com/extensions/networkingPrivate#method-unlockCellularSim
610 chrome.networkingPrivate.unlockCellularSim = function(networkGuid, pin, puk, callback) {};
613 * Sets whether or not SIM locking is enabled (i.e a PIN will be required when
614 * the device is powered) and changes the PIN if a new PIN is specified. If the
615 * new PIN is provided but not valid (e.g. too short) the operation will fail.
616 * This will not lock the SIM; that is handled automatically by the device.
617 * NOTE: If the SIM is locked, it must first be unlocked with
618 * unlockCellularSim() before this can be called (otherwise it will fail and
619 * chrome.runtime.lastError will be set to Error.SimLocked).
620 * @param {string} networkGuid The GUID of the cellular network to set the SIM
622 * @param {!chrome.networkingPrivate.CellularSimState} simState The SIM state to
624 * @param {function():void=} callback Called when the operation has completed.
625 * @see https://developer.chrome.com/extensions/networkingPrivate#method-setCellularSimState
627 chrome.networkingPrivate.setCellularSimState = function(networkGuid, simState, callback) {};
630 * Fired when the properties change on any of the networks. Sends a list of
631 * GUIDs for networks whose properties have changed.
632 * @type {!ChromeEvent}
633 * @see https://developer.chrome.com/extensions/networkingPrivate#event-onNetworksChanged
635 chrome.networkingPrivate.onNetworksChanged;
638 * Fired when the list of networks has changed. Sends a complete list of GUIDs
639 * for all the current networks.
640 * @type {!ChromeEvent}
641 * @see https://developer.chrome.com/extensions/networkingPrivate#event-onNetworkListChanged
643 chrome.networkingPrivate.onNetworkListChanged;
646 * Fired when the list of devices has changed or any device state properties
648 * @type {!ChromeEvent}
649 * @see https://developer.chrome.com/extensions/networkingPrivate#event-onDeviceStateListChanged
651 chrome.networkingPrivate.onDeviceStateListChanged;
654 * Fired when a portal detection for a network completes. Sends the guid of the
655 * network and the corresponding captive portal status.
656 * @type {!ChromeEvent}
657 * @see https://developer.chrome.com/extensions/networkingPrivate#event-onPortalDetectionCompleted
659 chrome.networkingPrivate.onPortalDetectionCompleted;