Commit 7bfe4e9e authored by lgcheng's avatar lgcheng Committed by Commit Bot

Add internet_page_browser_proxy

Add internet_page_browser_proxy to hold Chrome.send() for external VPN
providers which are not going to be depericated.

Bug: 784573
Test: Manual
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: Icfcab81de857864611c4a0cde89245853513bcc5
Reviewed-on: https://chromium-review.googlesource.com/779712
Commit-Queue: Long Cheng <lgcheng@google.com>
Reviewed-by: default avatarSteven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519936}
parent bb5c024f
...@@ -16,6 +16,14 @@ ...@@ -16,6 +16,14 @@
'<(EXTERNS_GYP):networking_private', '<(EXTERNS_GYP):networking_private',
'<(INTERFACES_GYP):networking_private_interface', '<(INTERFACES_GYP):networking_private_interface',
'internet_config', 'internet_config',
'internet_page_browser_proxy',
],
'includes': ['../../../../../third_party/closure_compiler/compile_js2.gypi'],
},
{
'target_name': 'internet_page_browser_proxy',
'dependencies': [
'<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:cr',
], ],
'includes': ['../../../../../third_party/closure_compiler/compile_js2.gypi'], 'includes': ['../../../../../third_party/closure_compiler/compile_js2.gypi'],
}, },
...@@ -45,6 +53,7 @@ ...@@ -45,6 +53,7 @@
'<(EXTERNS_GYP):networking_private', '<(EXTERNS_GYP):networking_private',
'<(INTERFACES_GYP):networking_private_interface', '<(INTERFACES_GYP):networking_private_interface',
'tether_connection_dialog', 'tether_connection_dialog',
'internet_page_browser_proxy',
], ],
'includes': ['../../../../../third_party/closure_compiler/compile_js2.gypi'], 'includes': ['../../../../../third_party/closure_compiler/compile_js2.gypi'],
}, },
...@@ -70,6 +79,7 @@ ...@@ -70,6 +79,7 @@
'<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:i18n_behavior', '<(DEPTH)/ui/webui/resources/js/compiled_resources2.gyp:i18n_behavior',
'<(EXTERNS_GYP):networking_private', '<(EXTERNS_GYP):networking_private',
'<(INTERFACES_GYP):networking_private_interface', '<(INTERFACES_GYP):networking_private_interface',
'internet_page_browser_proxy',
], ],
'includes': ['../../../../../third_party/closure_compiler/compile_js2.gypi'], 'includes': ['../../../../../third_party/closure_compiler/compile_js2.gypi'],
}, },
......
...@@ -128,6 +128,14 @@ Polymer({ ...@@ -128,6 +128,14 @@ Polymer({
/** @private {Function} */ /** @private {Function} */
onExtensionDisabledListener_: null, onExtensionDisabledListener_: null,
/** @private {settings.InternetPageBrowserProxy} */
browserProxy_: null,
/** @override */
created: function() {
this.browserProxy_ = settings.InternetPageBrowserProxyImpl.getInstance();
},
/** @override */ /** @override */
attached: function() { attached: function() {
this.networkListChangedListener_ = this.networkListChangedListener_ || this.networkListChangedListener_ = this.networkListChangedListener_ ||
...@@ -375,7 +383,7 @@ Polymer({ ...@@ -375,7 +383,7 @@ Polymer({
*/ */
onAddThirdPartyVpnTap_: function(event) { onAddThirdPartyVpnTap_: function(event) {
var provider = event.model.item; var provider = event.model.item;
chrome.send('addNetwork', [CrOnc.Type.VPN, provider.ExtensionID]); this.browserProxy_.addThirdPartyVpn(CrOnc.Type.VPN, provider.ExtensionID);
}, },
/** /**
......
<link rel="import" href="chrome://resources/html/cr.html">
<script src="internet_page_browser_proxy.js"></script>
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/** @fileoverview A helper object used for Internet page. */
cr.exportPath('settings');
cr.define('settings', function() {
/** @interface */
class InternetPageBrowserProxy {
/**
* Shows configuration of connnected external VPN network.
* @param {string} guid
*/
showNetworkConfigure(guid) {}
/**
* Sends add VPN request to external VPN provider.
* @param {string} networkType
* @param {string} appId
*/
addThirdPartyVpn(networkType, appId) {}
}
/**
* @implements {settings.InternetPageBrowserProxy}
*/
class InternetPageBrowserProxyImpl {
/** @override */
showNetworkConfigure(guid) {
chrome.send('configureNetwork', [guid]);
}
/** @override */
addThirdPartyVpn(networkType, appId) {
chrome.send('addNetwork', [networkType, appId]);
}
}
cr.addSingletonGetter(InternetPageBrowserProxyImpl);
return {
InternetPageBrowserProxy: InternetPageBrowserProxy,
InternetPageBrowserProxyImpl: InternetPageBrowserProxyImpl,
};
});
<link rel="import" href="../settings_shared_css.html"> <link rel="import" href="../settings_shared_css.html">
<link rel="import" href="internet_page_browser_proxy.html">
<!-- Common styles for Internet settings. --> <!-- Common styles for Internet settings. -->
<dom-module id="internet-shared"> <dom-module id="internet-shared">
......
...@@ -91,6 +91,14 @@ Polymer({ ...@@ -91,6 +91,14 @@ Polymer({
/** @private {number|null} */ /** @private {number|null} */
scanIntervalId_: null, scanIntervalId_: null,
/** @private {settings.InternetPageBrowserProxy} */
browserProxy_: null,
/** @override */
created: function() {
this.browserProxy_ = settings.InternetPageBrowserProxyImpl.getInstance();
},
/** override */ /** override */
detached: function() { detached: function() {
this.stopScanning_(); this.stopScanning_();
...@@ -347,7 +355,7 @@ Polymer({ ...@@ -347,7 +355,7 @@ Polymer({
*/ */
onAddThirdPartyVpnTap_: function(event) { onAddThirdPartyVpnTap_: function(event) {
var provider = event.model.item; var provider = event.model.item;
chrome.send('addNetwork', [CrOnc.Type.VPN, provider.ExtensionID]); this.browserProxy_.addThirdPartyVpn(CrOnc.Type.VPN, provider.ExtensionID);
}, },
/** /**
......
...@@ -1158,6 +1158,12 @@ ...@@ -1158,6 +1158,12 @@
<structure name="IDR_SETTINGS_INTERNET_KNOWN_NETWORKS_PAGE_JS" <structure name="IDR_SETTINGS_INTERNET_KNOWN_NETWORKS_PAGE_JS"
file="internet_page/internet_known_networks_page.js" file="internet_page/internet_known_networks_page.js"
type="chrome_html" /> type="chrome_html" />
<structure name="IDR_SETTINGS_INTERNET_PAGE_BROWSER_PROXY_HTML"
file="internet_page/internet_page_browser_proxy.html"
type="chrome_html" />
<structure name="IDR_SETTINGS_INTERNET_PAGE_BROWSER_PROXY_JS"
file="internet_page/internet_page_browser_proxy.js"
type="chrome_html" />
<structure name="IDR_SETTINGS_INTERNET_PAGE_HTML" <structure name="IDR_SETTINGS_INTERNET_PAGE_HTML"
file="internet_page/internet_page.html" file="internet_page/internet_page.html"
type="chrome_html" /> type="chrome_html" />
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment