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 * SimLockType: (string|undefined),
146 * SimPresent: (boolean|undefined),
147 * State: !chrome.networkingPrivate.DeviceStateType,
148 * Type: !chrome.networkingPrivate.NetworkType
150 * @see https://developer.chrome.com/extensions/networkingPrivate#type-DeviceStateProperties
152 chrome.networkingPrivate.DeviceStateProperties;
156 * Authentication: string
158 * @see https://developer.chrome.com/extensions/networkingPrivate#type-EthernetStateProperties
160 chrome.networkingPrivate.EthernetStateProperties;
164 * Gateway: (string|undefined),
165 * IPAddress: (string|undefined),
166 * NameServers: (!Array<string>|undefined),
167 * RoutingPrefix: (number|undefined),
168 * Type: (string|undefined),
169 * WebProxyAutoDiscoveryUrl: (string|undefined)
171 * @see https://developer.chrome.com/extensions/networkingPrivate#type-IPConfigProperties
173 chrome.networkingPrivate.IPConfigProperties;
177 * AuthenticationType: string
179 * @see https://developer.chrome.com/extensions/networkingPrivate#type-IPSecProperties
181 chrome.networkingPrivate.IPSecProperties;
188 * @see https://developer.chrome.com/extensions/networkingPrivate#type-ProxyLocation
190 chrome.networkingPrivate.ProxyLocation;
194 * HTTPProxy: (!chrome.networkingPrivate.ProxyLocation|undefined),
195 * SecureHTTPProxy: (!chrome.networkingPrivate.ProxyLocation|undefined),
196 * FTPProxy: (!chrome.networkingPrivate.ProxyLocation|undefined),
197 * SOCKS: (!chrome.networkingPrivate.ProxyLocation|undefined)
199 * @see https://developer.chrome.com/extensions/networkingPrivate#type-ManualProxySettings
201 chrome.networkingPrivate.ManualProxySettings;
205 * Type: !chrome.networkingPrivate.ProxySettingsType,
206 * Manual: (!chrome.networkingPrivate.ManualProxySettings|undefined),
207 * ExcludeDomains: (!Array<string>|undefined),
208 * PAC: (string|undefined)
210 * @see https://developer.chrome.com/extensions/networkingPrivate#type-ProxySettings
212 chrome.networkingPrivate.ProxySettings;
216 * OTP: (string|undefined),
217 * Password: (string|undefined),
218 * UserAuthenticationType: (string|undefined),
219 * Username: (string|undefined)
221 * @see https://developer.chrome.com/extensions/networkingPrivate#type-OpenVPNProperties
223 chrome.networkingPrivate.OpenVPNProperties;
227 * ExtensionID: string,
228 * ProviderName: (string|undefined)
230 * @see https://developer.chrome.com/extensions/networkingPrivate#type-ThirdPartyVPNProperties
232 chrome.networkingPrivate.ThirdPartyVPNProperties;
236 * AutoConnect: (boolean|undefined),
237 * Host: (string|undefined),
238 * OpenVPN: (!chrome.networkingPrivate.OpenVPNProperties|undefined),
239 * ThirdPartyVPN: (!chrome.networkingPrivate.ThirdPartyVPNProperties|undefined),
240 * Type: (string|undefined)
242 * @see https://developer.chrome.com/extensions/networkingPrivate#type-VPNConfigProperties
244 chrome.networkingPrivate.VPNConfigProperties;
249 * IPsec: (!chrome.networkingPrivate.IPSecProperties|undefined),
250 * ThirdPartyVPN: (!chrome.networkingPrivate.ThirdPartyVPNProperties|undefined)
252 * @see https://developer.chrome.com/extensions/networkingPrivate#type-VPNStateProperties
254 chrome.networkingPrivate.VPNStateProperties;
258 * AutoConnect: (boolean|undefined),
259 * HexSSID: (string|undefined),
260 * HiddenSSID: (boolean|undefined),
261 * Passphrase: (string|undefined),
262 * SSID: (string|undefined),
263 * Security: (string|undefined)
265 * @see https://developer.chrome.com/extensions/networkingPrivate#type-WiFiConfigProperties
267 chrome.networkingPrivate.WiFiConfigProperties;
272 * SignalStrength: (number|undefined)
274 * @see https://developer.chrome.com/extensions/networkingPrivate#type-WiFiStateProperties
276 chrome.networkingPrivate.WiFiStateProperties;
280 * AutoConnect: (boolean|undefined)
282 * @see https://developer.chrome.com/extensions/networkingPrivate#type-WiMaxConfigProperties
284 chrome.networkingPrivate.WiMaxConfigProperties;
288 * SignalStrength: (number|undefined)
290 * @see https://developer.chrome.com/extensions/networkingPrivate#type-WiMAXStateProperties
292 chrome.networkingPrivate.WiMAXStateProperties;
296 * Cellular: (!chrome.networkingPrivate.CellularConfigProperties|undefined),
297 * GUID: (string|undefined),
298 * IPAddressConfigType: (!chrome.networkingPrivate.IPConfigType|undefined),
299 * Name: (string|undefined),
300 * NameServersConfigType: (!chrome.networkingPrivate.IPConfigType|undefined),
301 * Priority: (number|undefined),
302 * ProxySettings: (!chrome.networkingPrivate.ProxySettings|undefined),
303 * StaticIPConfig: (!chrome.networkingPrivate.IPConfigProperties|undefined),
304 * Type: (!chrome.networkingPrivate.NetworkType|undefined),
305 * VPN: (!chrome.networkingPrivate.VPNConfigProperties|undefined),
306 * WiFi: (!chrome.networkingPrivate.WiFiConfigProperties|undefined),
307 * WiMAX: (!chrome.networkingPrivate.WiMaxConfigProperties|undefined)
309 * @see https://developer.chrome.com/extensions/networkingPrivate#type-NetworkConfigProperties
311 chrome.networkingPrivate.NetworkConfigProperties;
315 * Cellular: (!chrome.networkingPrivate.CellularStateProperties|undefined),
316 * Connectable: (boolean|undefined),
317 * ConnectionState: (!chrome.networkingPrivate.ConnectionStateType|undefined),
318 * Ethernet: (!chrome.networkingPrivate.EthernetStateProperties|undefined),
319 * ErrorState: (string|undefined),
321 * Name: (string|undefined),
322 * Priority: (number|undefined),
323 * Source: (string|undefined),
324 * Type: !chrome.networkingPrivate.NetworkType,
325 * VPN: (!chrome.networkingPrivate.VPNStateProperties|undefined),
326 * WiFi: (!chrome.networkingPrivate.WiFiStateProperties|undefined),
327 * WiMAX: (!chrome.networkingPrivate.WiMAXStateProperties|undefined)
329 * @see https://developer.chrome.com/extensions/networkingPrivate#type-NetworkStateProperties
331 chrome.networkingPrivate.NetworkStateProperties;
335 * certificate: string,
336 * intermediateCertificates: (!Array<string>|undefined),
339 * signedData: string,
340 * deviceSerial: string,
341 * deviceSsid: string,
342 * deviceBssid: string
344 * @see https://developer.chrome.com/extensions/networkingPrivate#type-VerificationProperties
346 chrome.networkingPrivate.VerificationProperties;
350 * networkType: !chrome.networkingPrivate.NetworkType,
351 * visible: (boolean|undefined),
352 * configured: (boolean|undefined),
353 * limit: (number|undefined)
355 * @see https://developer.chrome.com/extensions/networkingPrivate#type-NetworkFilter
357 chrome.networkingPrivate.NetworkFilter;
360 * Gets all the properties of the network with id networkGuid. Includes all
361 * properties of the network (read-only and read/write values).
362 * @param {string} networkGuid The GUID of the network to get properties for.
363 * @param {function(Object):void} callback Called with the network properties
365 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getProperties
367 chrome.networkingPrivate.getProperties = function(networkGuid, callback) {};
370 * Gets the merged properties of the network with id networkGuid from the
371 * sources: User settings, shared settings, user policy, device policy and the
372 * currently active settings.
373 * @param {string} networkGuid The GUID of the network to get properties for.
374 * @param {function(Object):void} callback Called with the managed network
375 * properties when received.
376 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getManagedProperties
378 chrome.networkingPrivate.getManagedProperties = function(networkGuid, callback) {};
381 * Gets the cached read-only properties of the network with id networkGuid. This
382 * is meant to be a higher performance function than $(ref:getProperties), which
383 * requires a round trip to query the networking subsystem. The following
384 * properties are returned for all networks: GUID, Type, Name, WiFi.Security.
385 * Additional properties are provided for visible networks: ConnectionState,
386 * ErrorState, WiFi.SignalStrength, Cellular.NetworkTechnology,
387 * Cellular.ActivationState, Cellular.RoamingState.
388 * @param {string} networkGuid The GUID of the network to get properties for.
389 * @param {function(!chrome.networkingPrivate.NetworkStateProperties):void} callback Called immediately with the network state
391 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getState
393 chrome.networkingPrivate.getState = function(networkGuid, callback) {};
396 * Sets the properties of the network with id networkGuid.
397 * @param {string} networkGuid The GUID of the network to set properties for.
398 * @param {!chrome.networkingPrivate.NetworkConfigProperties} properties The
400 * @param {function():void=} callback Called when the operation has completed.
401 * @see https://developer.chrome.com/extensions/networkingPrivate#method-setProperties
403 chrome.networkingPrivate.setProperties = function(networkGuid, properties, callback) {};
406 * Creates a new network configuration from properties. If a matching configured
407 * network already exists, this will fail. Otherwise returns the guid of the new
409 * @param {boolean} shared If true, share this network configuration with other
411 * @param {!chrome.networkingPrivate.NetworkConfigProperties} properties The
412 * properties to configure the new network with.
413 * @param {function(string):void=} callback Called with the GUID for the new
414 * network configuration once the network has been created.
415 * @see https://developer.chrome.com/extensions/networkingPrivate#method-createNetwork
417 chrome.networkingPrivate.createNetwork = function(shared, properties, callback) {};
420 * Forgets a network configuration by clearing any configured properties for the
421 * network with GUID 'networkGuid'. This may also include any other networks
422 * with matching identifiers (e.g. WiFi SSID and Security). If no such
423 * configuration exists, an error will be set and the operation will fail.
424 * @param {string} networkGuid The GUID of the network to forget.
425 * @param {function():void=} callback Called when the operation has completed.
426 * @see https://developer.chrome.com/extensions/networkingPrivate#method-forgetNetwork
428 chrome.networkingPrivate.forgetNetwork = function(networkGuid, callback) {};
431 * Returns a list of network objects with the same properties provided by
432 * $(ref:networkingPrivate.getState). A filter is provided to specify the type
433 * of networks returned and to limit the number of networks. Networks are
434 * ordered by the system based on their priority, with connected or connecting
435 * networks listed first.
436 * @param {!chrome.networkingPrivate.NetworkFilter} filter Describes which
437 * networks to return.
438 * @param {function(!Array<!chrome.networkingPrivate.NetworkStateProperties>):void} callback Called with a dictionary of networks and their state properties
440 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getNetworks
442 chrome.networkingPrivate.getNetworks = function(filter, callback) {};
445 * Deprecated. Please use $(ref:networkingPrivate.getNetworks) with
446 * filter.visible = true instead.
447 * @param {!chrome.networkingPrivate.NetworkType} networkType
448 * @param {function(!Array<!chrome.networkingPrivate.NetworkStateProperties>):void} callback
449 * @deprecated Use getNetworks.
450 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getVisibleNetworks
452 chrome.networkingPrivate.getVisibleNetworks = function(networkType, callback) {};
455 * Deprecated. Please use $(ref:networkingPrivate.getDeviceStates) instead.
456 * @param {function(!Array<!chrome.networkingPrivate.NetworkType>):void} callback
457 * @deprecated Use getDeviceStates.
458 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getEnabledNetworkTypes
460 chrome.networkingPrivate.getEnabledNetworkTypes = function(callback) {};
463 * Returns a list of $(ref:networkingPrivate.DeviceStateProperties) objects.
464 * @param {function(!Array<!chrome.networkingPrivate.DeviceStateProperties>):void} callback Called with a list of devices and
466 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getDeviceStates
468 chrome.networkingPrivate.getDeviceStates = function(callback) {};
471 * Enables any devices matching the specified network type. Note, the type might
472 * represent multiple network types (e.g. 'Wireless').
473 * @param {!chrome.networkingPrivate.NetworkType} networkType The type of
475 * @see https://developer.chrome.com/extensions/networkingPrivate#method-enableNetworkType
477 chrome.networkingPrivate.enableNetworkType = function(networkType) {};
480 * Disables any devices matching the specified network type. See note for
481 * $(ref:networkingPrivate.enableNetworkType).
482 * @param {!chrome.networkingPrivate.NetworkType} networkType The type of
483 * network to disable.
484 * @see https://developer.chrome.com/extensions/networkingPrivate#method-disableNetworkType
486 chrome.networkingPrivate.disableNetworkType = function(networkType) {};
489 * Requests that the networking subsystem scan for new networks and update the
490 * list returned by $(ref:getVisibleNetworks). This is only a request: the
491 * network subsystem can choose to ignore it. If the list is updated, then the
492 * $(ref:onNetworkListChanged) event will be fired.
493 * @see https://developer.chrome.com/extensions/networkingPrivate#method-requestNetworkScan
495 chrome.networkingPrivate.requestNetworkScan = function() {};
498 * Starts a connection to the network with networkGuid.
499 * @param {string} networkGuid The GUID of the network to connect to.
500 * @param {function():void=} callback Called when the connect request has been
501 * sent. Note: the connection may not have completed. Observe
502 * $(ref:onNetworksChanged) to be notified when a network state changes.
503 * @see https://developer.chrome.com/extensions/networkingPrivate#method-startConnect
505 chrome.networkingPrivate.startConnect = function(networkGuid, callback) {};
508 * Starts a disconnect from the network with networkGuid.
509 * @param {string} networkGuid The GUID of the network to disconnect from.
510 * @param {function():void=} callback Called when the disconnect request has
511 * been sent. See note for $(ref:startConnect).
512 * @see https://developer.chrome.com/extensions/networkingPrivate#method-startDisconnect
514 chrome.networkingPrivate.startDisconnect = function(networkGuid, callback) {};
517 * Starts activation of the Cellular network with networkGuid. If called for a
518 * network that is already activated, or for a network with a carrier that can
519 * not be directly activated, this will show the account details page for the
520 * carrier if possible.
521 * @param {string} networkGuid The GUID of the Cellular network to activate.
522 * @param {string=} carrier Optional name of carrier to activate.
523 * @param {function():void=} callback Called when the activation request has
524 * been sent. See note for $(ref:startConnect).
525 * @see https://developer.chrome.com/extensions/networkingPrivate#method-startActivate
527 chrome.networkingPrivate.startActivate = function(networkGuid, carrier, callback) {};
530 * Verifies that the device is a trusted device.
531 * @param {!chrome.networkingPrivate.VerificationProperties} properties
532 * Properties of the destination to use in verifying that it is a
534 * @param {function(boolean):void} callback A callback function that indicates
535 * whether or not the device is a trusted device.
536 * @see https://developer.chrome.com/extensions/networkingPrivate#method-verifyDestination
538 chrome.networkingPrivate.verifyDestination = function(properties, callback) {};
541 * Verifies that the device is a trusted device and retrieves encrypted network
543 * @param {!chrome.networkingPrivate.VerificationProperties} properties
544 * Properties of the destination to use in verifying that it is a
546 * @param {string} networkGuid The GUID of the Cellular network to activate.
547 * @param {function(string):void} callback A callback function that receives
548 * base64-encoded encrypted credential data to send to a trusted device.
549 * @see https://developer.chrome.com/extensions/networkingPrivate#method-verifyAndEncryptCredentials
551 chrome.networkingPrivate.verifyAndEncryptCredentials = function(properties, networkGuid, callback) {};
554 * Verifies that the device is a trusted device and encrypts supplied data with
556 * @param {!chrome.networkingPrivate.VerificationProperties} properties
557 * Properties of the destination to use in verifying that it is a
559 * @param {string} data A string containing the base64-encoded data to encrypt.
560 * @param {function(string):void} callback A callback function that receives
561 * base64-encoded encrypted data to send to a trusted device.
562 * @see https://developer.chrome.com/extensions/networkingPrivate#method-verifyAndEncryptData
564 chrome.networkingPrivate.verifyAndEncryptData = function(properties, data, callback) {};
567 * Enables TDLS for WiFi traffic with a specified peer if available.
568 * @param {string} ip_or_mac_address The IP or MAC address of the peer with
569 * which to enable a TDLS connection. |enabled| If true, enable TDLS,
570 * otherwise disable TDLS.
571 * @param {boolean} enabled
572 * @param {function(string):void=} callback A callback function that receives a
573 * string with an error or the current TDLS status. 'Failed' indicates
574 * that the request failed (e.g. MAC address lookup failed). 'Timeout'
575 * indicates that the lookup timed out. Otherwise a valid status is
576 * returned (see $(ref:getWifiTDLSStatus)).
577 * @see https://developer.chrome.com/extensions/networkingPrivate#method-setWifiTDLSEnabledState
579 chrome.networkingPrivate.setWifiTDLSEnabledState = function(ip_or_mac_address, enabled, callback) {};
582 * Returns the current TDLS status for the specified peer.
583 * @param {string} ip_or_mac_address The IP or MAC address of the peer.
584 * @param {function(string):void} callback A callback function that receives a
585 * string with the current TDLS status which can be 'Connected',
586 * 'Disabled', 'Disconnected', 'Nonexistent', or 'Unknown'.
587 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getWifiTDLSStatus
589 chrome.networkingPrivate.getWifiTDLSStatus = function(ip_or_mac_address, callback) {};
592 * Returns captive portal status for the network matching 'networkGuid'.
593 * @param {string} networkGuid The GUID of the network to get captive portal
595 * @param {function(!chrome.networkingPrivate.CaptivePortalStatus):void} callback A callback function that returns the results of the query for network captive portal status
597 * @see https://developer.chrome.com/extensions/networkingPrivate#method-getCaptivePortalStatus
599 chrome.networkingPrivate.getCaptivePortalStatus = function(networkGuid, callback) {};
602 * Unlocks a Cellular SIM card. * If the SIM is PIN locked, |pin| will be used
603 * to unlock the SIM and the |puk| argument will be ignored if provided. * If
604 * the SIM is PUK locked, |puk| and |pin| must be provided. If the operation
605 * succeds (|puk| is valid), the PIN will be set to |pin|. (If |pin| is empty
606 * or invalid the operation will fail).
607 * @param {string} networkGuid The GUID of the cellular network to unlock.
608 * @param {string} pin The current SIM PIN, or the new PIN if PUK is provided.
609 * @param {string=} puk The operator provided PUK for unblocking a blocked SIM.
610 * @param {function():void=} callback Called when the operation has completed.
611 * @see https://developer.chrome.com/extensions/networkingPrivate#method-unlockCellularSim
613 chrome.networkingPrivate.unlockCellularSim = function(networkGuid, pin, puk, callback) {};
616 * Sets whether or not SIM locking is enabled (i.e a PIN will be required when
617 * the device is powered) and changes the PIN if a new PIN is specified. If the
618 * new PIN is provided but not valid (e.g. too short) the operation will fail.
619 * This will not lock the SIM; that is handled automatically by the device.
620 * NOTE: If the SIM is locked, it must first be unlocked with
621 * unlockCellularSim() before this can be called (otherwise it will fail and
622 * chrome.runtime.lastError will be set to Error.SimLocked).
623 * @param {string} networkGuid The GUID of the cellular network to set the SIM
625 * @param {!chrome.networkingPrivate.CellularSimState} simState The SIM state to
627 * @param {function():void=} callback Called when the operation has completed.
628 * @see https://developer.chrome.com/extensions/networkingPrivate#method-setCellularSimState
630 chrome.networkingPrivate.setCellularSimState = function(networkGuid, simState, callback) {};
633 * Fired when the properties change on any of the networks. Sends a list of
634 * GUIDs for networks whose properties have changed.
635 * @type {!ChromeEvent}
636 * @see https://developer.chrome.com/extensions/networkingPrivate#event-onNetworksChanged
638 chrome.networkingPrivate.onNetworksChanged;
641 * Fired when the list of networks has changed. Sends a complete list of GUIDs
642 * for all the current networks.
643 * @type {!ChromeEvent}
644 * @see https://developer.chrome.com/extensions/networkingPrivate#event-onNetworkListChanged
646 chrome.networkingPrivate.onNetworkListChanged;
649 * Fired when the list of devices has changed or any device state properties
651 * @type {!ChromeEvent}
652 * @see https://developer.chrome.com/extensions/networkingPrivate#event-onDeviceStateListChanged
654 chrome.networkingPrivate.onDeviceStateListChanged;
657 * Fired when a portal detection for a network completes. Sends the guid of the
658 * network and the corresponding captive portal status.
659 * @type {!ChromeEvent}
660 * @see https://developer.chrome.com/extensions/networkingPrivate#event-onPortalDetectionCompleted
662 chrome.networkingPrivate.onPortalDetectionCompleted;