summaryrefslogtreecommitdiffstats
path: root/extensions/common
diff options
context:
space:
mode:
authorcernekee <cernekee@chromium.org>2016-03-16 15:18:56 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-16 22:22:12 +0000
commit7288268a683040968054a3dcfedef28d9151bc1d (patch)
tree4d0622077d1a0ffbc623a06b39fe87c3595fa34c /extensions/common
parentd4793d5841f84175a0d069391fd612f9cc3f1345 (diff)
downloadchromium_src-7288268a683040968054a3dcfedef28d9151bc1d.zip
chromium_src-7288268a683040968054a3dcfedef28d9151bc1d.tar.gz
chromium_src-7288268a683040968054a3dcfedef28d9151bc1d.tar.bz2
Extend vpnProvider to allow reconnections
Upcoming changes in the Chrome OS networking daemon (shill) will allow third party VPNs to transition "backwards" from Online->Configuring if the default physical connection changes. Add a "reconnect" flag so that VPN apps can signal their compatibility with this new scheme, and add the necessary UI changes so that Chrome can identify reconnections and present them to the user in a sensible way. Also, change the UI so that users can cancel VPN reconnections (and connections) using the "Disconnect" button. BUG=514343 Review URL: https://codereview.chromium.org/1722453002 Cr-Commit-Position: refs/heads/master@{#381566}
Diffstat (limited to 'extensions/common')
-rw-r--r--extensions/common/api/vpn_provider.idl28
1 files changed, 27 insertions, 1 deletions
diff --git a/extensions/common/api/vpn_provider.idl b/extensions/common/api/vpn_provider.idl
index a826522..75bd873 100644
--- a/extensions/common/api/vpn_provider.idl
+++ b/extensions/common/api/vpn_provider.idl
@@ -40,6 +40,19 @@ namespace vpnProvider {
DOMString[]? domainSearch;
// A list of IPs for the DNS servers.
DOMString[] dnsServers;
+ // Whether or not the VPN extension implements auto-reconnection.
+ //
+ // If true, the <code>linkDown</code>, <code>linkUp</code>,
+ // <code>linkChanged</code>, <code>suspend</code>, and <code>resume</code>
+ // platform messages will be used to signal the respective events.
+ // If false, the system will forcibly disconnect the VPN if the network
+ // topology changes, and the user will need to reconnect manually.
+ // (default: false)
+ //
+ // This property is new in Chrome 51; it will generate an exception in
+ // earlier versions. try/catch can be used to conditionally enable the
+ // feature based on browser support.
+ DOMString? reconnect;
};
// The enum is used by the platform to notify the client of the VPN session
@@ -52,7 +65,20 @@ namespace vpnProvider {
// An error occurred in VPN connection, for example a timeout. A description
// of the error is give as the <ahref="#property-onPlatformMessage-error">
// error argument to onPlatformMessage</a>.
- error
+ error,
+ // The default physical network connection is down.
+ linkDown,
+ // The default physical network connection is back up.
+ linkUp,
+ // The default physical network connection changed, e.g. wifi-&gt;mobile.
+ linkChanged,
+ // The OS is preparing to suspend, so the VPN should drop its connection.
+ // The extension is not guaranteed to receive this event prior to
+ // suspending.
+ suspend,
+ // The OS has resumed and the user has logged back in, so the VPN should
+ // try to reconnect.
+ resume
};
// The enum is used by the VPN client to inform the platform