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

Side by Side Diff: chrome/browser/resources/options/chromeos/vpn_providers.js

Issue 1026463003: Revert of Allow users to add third-party VPNs from the settings page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@f_3_460428_update_details_dialog
Patch Set: Created 5 years, 9 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 /** 5 /**
6 * @fileoverview A singleton that keeps track of the VPN providers enabled in 6 * @fileoverview A singleton that keeps track of the VPN providers enabled in
7 * the primary user's profile. 7 * the primary user's profile.
8 */ 8 */
9 9
10 cr.define('options', function() { 10 cr.define('options', function() {
11 /** 11 /**
12 * @constructor 12 * @constructor
13 */ 13 */
14 function VPNProviders() { 14 function VPNProviders() {
15 } 15 }
16 16
17 cr.addSingletonGetter(VPNProviders); 17 cr.addSingletonGetter(VPNProviders);
18 18
19 VPNProviders.prototype = { 19 VPNProviders.prototype = {
20 /** 20 /**
21 * The VPN providers enabled in the primary user's profile. Each provider 21 * The VPN providers enabled in the primary user's profile. Each provider
22 * has a name. Third-party VPN providers additionally have an extension ID. 22 * has a name. Third-party VPN providers additionally have an extension ID.
23 * @type {!Array<{name: string, extensionID: ?string}>} 23 * @type {!Array<{name: string, extensionID: ?string}>}
24 * @private 24 * @private
25 */ 25 */
26 providers_: [], 26 providers_: [],
27 27
28 /** 28 /**
29 * Observers who will be notified when the list of VPN providers changes.
30 * @type {!Array<!function()>}
31 */
32 observers_: [],
33
34 /**
35 * The VPN providers enabled in the primary user's profile.
36 * @type {!Array<{name: string, extensionID: ?string}>}
37 */
38 get providers() {
39 return this.providers_;
40 },
41 set providers(providers) {
42 this.providers_ = providers;
43 for (var i = 0; i < this.observers_.length; ++i)
44 this.observers_[i]();
45 },
46
47 /**
48 * Adds an observer to be notified when the list of VPN providers changes.
49 * @param {!function()} observer The observer to add.
50 */
51 addObserver: function(observer) {
52 this.observers_.push(observer);
53 },
54
55 /**
56 * Formats a network name for display purposes. If the network belongs to 29 * Formats a network name for display purposes. If the network belongs to
57 * a third-party VPN provider, the provider name is added to the network 30 * a third-party VPN provider, the provider name is added to the network
58 * name. 31 * name.
59 * @param {cr.onc.OncData} onc ONC data describing this network. 32 * @param {cr.onc.OncData} onc ONC data describing this network.
60 * @return {string} The resulting display name. 33 * @return {string} The resulting display name.
61 * @private 34 * @private
62 */ 35 */
63 formatNetworkName_: function(onc) { 36 formatNetworkName_: function(onc) {
64 var networkName = onc.getTranslatedValue('Name'); 37 var networkName = onc.getTranslatedValue('Name');
65 if (onc.getActiveValue('VPN.Type') != 'ThirdPartyVPN') 38 if (onc.getActiveValue('VPN.Type') != 'ThirdPartyVPN')
66 return networkName; 39 return networkName;
67 var extensionID = onc.getActiveValue('VPN.ThirdPartyVPN.ExtensionID'); 40 var extensionID = onc.getActiveValue('VPN.ThirdPartyVPN.ExtensionID');
68 for (var i = 0; i < this.providers_.length; ++i) { 41 for (var i = 0; i < this.providers_.length; ++i) {
69 if (extensionID == this.providers_[i].extensionID) { 42 if (extensionID == this.providers_[i].extensionID) {
70 return loadTimeData.getStringF('vpnNameTemplate', 43 return loadTimeData.getStringF('vpnNameTemplate',
71 this.providers_[i].name, 44 this.providers_[i].name,
72 networkName); 45 networkName);
73 } 46 }
74 } 47 }
75 return networkName; 48 return networkName;
76 }, 49 },
77 }; 50 };
78 51
79 /** 52 /**
80 * Adds an observer to be notified when the list of VPN providers changes.
81 * @param {!function()} observer The observer to add.
82 */
83 VPNProviders.addObserver = function(observer) {
84 VPNProviders.getInstance().addObserver(observer);
85 };
86
87 /**
88 * Returns the list of VPN providers enabled in the primary user's profile. 53 * Returns the list of VPN providers enabled in the primary user's profile.
89 * @return {!Array<{name: string, extensionID: ?string}>} The list of VPN 54 * @return {!Array<{name: string, extensionID: ?string}>} The list of VPN
90 * providers enabled in the primary user's profile. 55 * providers enabled in the primary user's profile.
91 */ 56 */
92 VPNProviders.getProviders = function() { 57 VPNProviders.getProviders = function() {
93 return VPNProviders.getInstance().providers; 58 return VPNProviders.getInstance().providers_;
94 }; 59 };
95 60
96 /** 61 /**
97 * Replaces the list of VPN providers enabled in the primary user's profile. 62 * Replaces the list of VPN providers enabled in the primary user's profile.
98 * @param {!Array<{name: string, extensionID: ?string}>} providers The list 63 * @param {!Array<{name: string, extensionID: ?string}>} providers The list
99 * of VPN providers enabled in the primary user's profile. 64 * of VPN providers enabled in the primary user's profile.
100 */ 65 */
101 VPNProviders.setProviders = function(providers) { 66 VPNProviders.setProviders = function(providers) {
102 VPNProviders.getInstance().providers = providers; 67 VPNProviders.getInstance().providers_ = providers;
103 }; 68 };
104 69
105 /** 70 /**
106 * Formats a network name for display purposes. If the network belongs to a 71 * Formats a network name for display purposes. If the network belongs to a
107 * third-party VPN provider, the provider name is added to the network name. 72 * third-party VPN provider, the provider name is added to the network name.
108 * @param {cr.onc.OncData} onc ONC data describing this network. 73 * @param {cr.onc.OncData} onc ONC data describing this network.
109 * @return {string} The resulting display name. 74 * @return {string} The resulting display name.
110 */ 75 */
111 VPNProviders.formatNetworkName = function(onc) { 76 VPNProviders.formatNetworkName = function(onc) {
112 return VPNProviders.getInstance().formatNetworkName_(onc); 77 return VPNProviders.getInstance().formatNetworkName_(onc);
113 }; 78 };
114 79
115 // Export 80 // Export
116 return { 81 return {
117 VPNProviders: VPNProviders 82 VPNProviders: VPNProviders
118 }; 83 };
119 }); 84 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698