OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "chrome/browser/chromeos/options/vpn_config_view.h" | 5 #include "chrome/browser/chromeos/options/vpn_config_view.h" |
6 | 6 |
7 #include "ash/system/chromeos/network/network_connect.h" | 7 #include "ash/system/chromeos/network/network_connect.h" |
8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 | 39 |
40 namespace { | 40 namespace { |
41 | 41 |
42 enum ProviderTypeIndex { | 42 enum ProviderTypeIndex { |
43 PROVIDER_TYPE_INDEX_L2TP_IPSEC_PSK = 0, | 43 PROVIDER_TYPE_INDEX_L2TP_IPSEC_PSK = 0, |
44 PROVIDER_TYPE_INDEX_L2TP_IPSEC_USER_CERT = 1, | 44 PROVIDER_TYPE_INDEX_L2TP_IPSEC_USER_CERT = 1, |
45 PROVIDER_TYPE_INDEX_OPEN_VPN = 2, | 45 PROVIDER_TYPE_INDEX_OPEN_VPN = 2, |
46 PROVIDER_TYPE_INDEX_MAX = 3, | 46 PROVIDER_TYPE_INDEX_MAX = 3, |
47 }; | 47 }; |
48 | 48 |
49 string16 ProviderTypeIndexToString(int index) { | 49 base::string16 ProviderTypeIndexToString(int index) { |
50 switch (index) { | 50 switch (index) { |
51 case PROVIDER_TYPE_INDEX_L2TP_IPSEC_PSK: | 51 case PROVIDER_TYPE_INDEX_L2TP_IPSEC_PSK: |
52 return l10n_util::GetStringUTF16( | 52 return l10n_util::GetStringUTF16( |
53 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_L2TP_IPSEC_PSK); | 53 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_L2TP_IPSEC_PSK); |
54 case PROVIDER_TYPE_INDEX_L2TP_IPSEC_USER_CERT: | 54 case PROVIDER_TYPE_INDEX_L2TP_IPSEC_USER_CERT: |
55 return l10n_util::GetStringUTF16( | 55 return l10n_util::GetStringUTF16( |
56 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_L2TP_IPSEC_USER_CERT); | 56 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_L2TP_IPSEC_USER_CERT); |
57 case PROVIDER_TYPE_INDEX_OPEN_VPN: | 57 case PROVIDER_TYPE_INDEX_OPEN_VPN: |
58 return l10n_util::GetStringUTF16( | 58 return l10n_util::GetStringUTF16( |
59 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_OPEN_VPN); | 59 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_OPEN_VPN); |
60 } | 60 } |
61 NOTREACHED(); | 61 NOTREACHED(); |
62 return string16(); | 62 return base::string16(); |
63 } | 63 } |
64 | 64 |
65 int ProviderTypeToIndex(const std::string& provider_type, | 65 int ProviderTypeToIndex(const std::string& provider_type, |
66 const std::string& client_cert_id) { | 66 const std::string& client_cert_id) { |
67 if (provider_type == shill::kProviderL2tpIpsec) { | 67 if (provider_type == shill::kProviderL2tpIpsec) { |
68 if (!client_cert_id.empty()) | 68 if (!client_cert_id.empty()) |
69 return PROVIDER_TYPE_INDEX_L2TP_IPSEC_USER_CERT; | 69 return PROVIDER_TYPE_INDEX_L2TP_IPSEC_USER_CERT; |
70 else | 70 else |
71 return PROVIDER_TYPE_INDEX_L2TP_IPSEC_PSK; | 71 return PROVIDER_TYPE_INDEX_L2TP_IPSEC_PSK; |
72 } else { | 72 } else { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 | 106 |
107 namespace internal { | 107 namespace internal { |
108 | 108 |
109 class ProviderTypeComboboxModel : public ui::ComboboxModel { | 109 class ProviderTypeComboboxModel : public ui::ComboboxModel { |
110 public: | 110 public: |
111 ProviderTypeComboboxModel(); | 111 ProviderTypeComboboxModel(); |
112 virtual ~ProviderTypeComboboxModel(); | 112 virtual ~ProviderTypeComboboxModel(); |
113 | 113 |
114 // Overridden from ui::ComboboxModel: | 114 // Overridden from ui::ComboboxModel: |
115 virtual int GetItemCount() const OVERRIDE; | 115 virtual int GetItemCount() const OVERRIDE; |
116 virtual string16 GetItemAt(int index) OVERRIDE; | 116 virtual base::string16 GetItemAt(int index) OVERRIDE; |
117 | 117 |
118 private: | 118 private: |
119 DISALLOW_COPY_AND_ASSIGN(ProviderTypeComboboxModel); | 119 DISALLOW_COPY_AND_ASSIGN(ProviderTypeComboboxModel); |
120 }; | 120 }; |
121 | 121 |
122 class VpnServerCACertComboboxModel : public ui::ComboboxModel { | 122 class VpnServerCACertComboboxModel : public ui::ComboboxModel { |
123 public: | 123 public: |
124 VpnServerCACertComboboxModel(); | 124 VpnServerCACertComboboxModel(); |
125 virtual ~VpnServerCACertComboboxModel(); | 125 virtual ~VpnServerCACertComboboxModel(); |
126 | 126 |
127 // Overridden from ui::ComboboxModel: | 127 // Overridden from ui::ComboboxModel: |
128 virtual int GetItemCount() const OVERRIDE; | 128 virtual int GetItemCount() const OVERRIDE; |
129 virtual string16 GetItemAt(int index) OVERRIDE; | 129 virtual base::string16 GetItemAt(int index) OVERRIDE; |
130 | 130 |
131 private: | 131 private: |
132 DISALLOW_COPY_AND_ASSIGN(VpnServerCACertComboboxModel); | 132 DISALLOW_COPY_AND_ASSIGN(VpnServerCACertComboboxModel); |
133 }; | 133 }; |
134 | 134 |
135 class VpnUserCertComboboxModel : public ui::ComboboxModel { | 135 class VpnUserCertComboboxModel : public ui::ComboboxModel { |
136 public: | 136 public: |
137 VpnUserCertComboboxModel(); | 137 VpnUserCertComboboxModel(); |
138 virtual ~VpnUserCertComboboxModel(); | 138 virtual ~VpnUserCertComboboxModel(); |
139 | 139 |
140 // Overridden from ui::ComboboxModel: | 140 // Overridden from ui::ComboboxModel: |
141 virtual int GetItemCount() const OVERRIDE; | 141 virtual int GetItemCount() const OVERRIDE; |
142 virtual string16 GetItemAt(int index) OVERRIDE; | 142 virtual base::string16 GetItemAt(int index) OVERRIDE; |
143 | 143 |
144 private: | 144 private: |
145 DISALLOW_COPY_AND_ASSIGN(VpnUserCertComboboxModel); | 145 DISALLOW_COPY_AND_ASSIGN(VpnUserCertComboboxModel); |
146 }; | 146 }; |
147 | 147 |
148 // ProviderTypeComboboxModel --------------------------------------------------- | 148 // ProviderTypeComboboxModel --------------------------------------------------- |
149 | 149 |
150 ProviderTypeComboboxModel::ProviderTypeComboboxModel() { | 150 ProviderTypeComboboxModel::ProviderTypeComboboxModel() { |
151 } | 151 } |
152 | 152 |
153 ProviderTypeComboboxModel::~ProviderTypeComboboxModel() { | 153 ProviderTypeComboboxModel::~ProviderTypeComboboxModel() { |
154 } | 154 } |
155 | 155 |
156 int ProviderTypeComboboxModel::GetItemCount() const { | 156 int ProviderTypeComboboxModel::GetItemCount() const { |
157 return PROVIDER_TYPE_INDEX_MAX; | 157 return PROVIDER_TYPE_INDEX_MAX; |
158 } | 158 } |
159 | 159 |
160 string16 ProviderTypeComboboxModel::GetItemAt(int index) { | 160 base::string16 ProviderTypeComboboxModel::GetItemAt(int index) { |
161 return ProviderTypeIndexToString(index); | 161 return ProviderTypeIndexToString(index); |
162 } | 162 } |
163 | 163 |
164 // VpnServerCACertComboboxModel ------------------------------------------------ | 164 // VpnServerCACertComboboxModel ------------------------------------------------ |
165 | 165 |
166 VpnServerCACertComboboxModel::VpnServerCACertComboboxModel() { | 166 VpnServerCACertComboboxModel::VpnServerCACertComboboxModel() { |
167 } | 167 } |
168 | 168 |
169 VpnServerCACertComboboxModel::~VpnServerCACertComboboxModel() { | 169 VpnServerCACertComboboxModel::~VpnServerCACertComboboxModel() { |
170 } | 170 } |
171 | 171 |
172 int VpnServerCACertComboboxModel::GetItemCount() const { | 172 int VpnServerCACertComboboxModel::GetItemCount() const { |
173 if (CertLibrary::Get()->CertificatesLoading()) | 173 if (CertLibrary::Get()->CertificatesLoading()) |
174 return 1; // "Loading" | 174 return 1; // "Loading" |
175 // "Default" + certs. | 175 // "Default" + certs. |
176 return CertLibrary::Get()->NumCertificates( | 176 return CertLibrary::Get()->NumCertificates( |
177 CertLibrary::CERT_TYPE_SERVER_CA) + 1; | 177 CertLibrary::CERT_TYPE_SERVER_CA) + 1; |
178 } | 178 } |
179 | 179 |
180 string16 VpnServerCACertComboboxModel::GetItemAt(int index) { | 180 base::string16 VpnServerCACertComboboxModel::GetItemAt(int index) { |
181 if (CertLibrary::Get()->CertificatesLoading()) | 181 if (CertLibrary::Get()->CertificatesLoading()) |
182 return l10n_util::GetStringUTF16( | 182 return l10n_util::GetStringUTF16( |
183 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_LOADING); | 183 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_LOADING); |
184 if (index == 0) | 184 if (index == 0) |
185 return l10n_util::GetStringUTF16( | 185 return l10n_util::GetStringUTF16( |
186 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_SERVER_CA_DEFAULT); | 186 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_SERVER_CA_DEFAULT); |
187 int cert_index = index - 1; | 187 int cert_index = index - 1; |
188 return CertLibrary::Get()->GetCertDisplayStringAt( | 188 return CertLibrary::Get()->GetCertDisplayStringAt( |
189 CertLibrary::CERT_TYPE_SERVER_CA, cert_index); | 189 CertLibrary::CERT_TYPE_SERVER_CA, cert_index); |
190 } | 190 } |
191 | 191 |
192 // VpnUserCertComboboxModel ---------------------------------------------------- | 192 // VpnUserCertComboboxModel ---------------------------------------------------- |
193 | 193 |
194 VpnUserCertComboboxModel::VpnUserCertComboboxModel() { | 194 VpnUserCertComboboxModel::VpnUserCertComboboxModel() { |
195 } | 195 } |
196 | 196 |
197 VpnUserCertComboboxModel::~VpnUserCertComboboxModel() { | 197 VpnUserCertComboboxModel::~VpnUserCertComboboxModel() { |
198 } | 198 } |
199 | 199 |
200 int VpnUserCertComboboxModel::GetItemCount() const { | 200 int VpnUserCertComboboxModel::GetItemCount() const { |
201 if (CertLibrary::Get()->CertificatesLoading()) | 201 if (CertLibrary::Get()->CertificatesLoading()) |
202 return 1; // "Loading" | 202 return 1; // "Loading" |
203 int num_certs = | 203 int num_certs = |
204 CertLibrary::Get()->NumCertificates(CertLibrary::CERT_TYPE_USER); | 204 CertLibrary::Get()->NumCertificates(CertLibrary::CERT_TYPE_USER); |
205 if (num_certs == 0) | 205 if (num_certs == 0) |
206 return 1; // "None installed" | 206 return 1; // "None installed" |
207 return num_certs; | 207 return num_certs; |
208 } | 208 } |
209 | 209 |
210 string16 VpnUserCertComboboxModel::GetItemAt(int index) { | 210 base::string16 VpnUserCertComboboxModel::GetItemAt(int index) { |
211 if (CertLibrary::Get()->CertificatesLoading()) { | 211 if (CertLibrary::Get()->CertificatesLoading()) { |
212 return l10n_util::GetStringUTF16( | 212 return l10n_util::GetStringUTF16( |
213 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_LOADING); | 213 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CERT_LOADING); |
214 } | 214 } |
215 if (CertLibrary::Get()->NumCertificates(CertLibrary::CERT_TYPE_USER) == 0) { | 215 if (CertLibrary::Get()->NumCertificates(CertLibrary::CERT_TYPE_USER) == 0) { |
216 return l10n_util::GetStringUTF16( | 216 return l10n_util::GetStringUTF16( |
217 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_USER_CERT_NONE_INSTALLED); | 217 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_USER_CERT_NONE_INSTALLED); |
218 } | 218 } |
219 return CertLibrary::Get()->GetCertDisplayStringAt( | 219 return CertLibrary::Get()->GetCertDisplayStringAt( |
220 CertLibrary::CERT_TYPE_USER, index); | 220 CertLibrary::CERT_TYPE_USER, index); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 provider_type_index_(PROVIDER_TYPE_INDEX_MAX), | 255 provider_type_index_(PROVIDER_TYPE_INDEX_MAX), |
256 weak_ptr_factory_(this) { | 256 weak_ptr_factory_(this) { |
257 Init(); | 257 Init(); |
258 } | 258 } |
259 | 259 |
260 VPNConfigView::~VPNConfigView() { | 260 VPNConfigView::~VPNConfigView() { |
261 RemoveAllChildViews(true); // Destroy children before models | 261 RemoveAllChildViews(true); // Destroy children before models |
262 CertLibrary::Get()->RemoveObserver(this); | 262 CertLibrary::Get()->RemoveObserver(this); |
263 } | 263 } |
264 | 264 |
265 string16 VPNConfigView::GetTitle() const { | 265 base::string16 VPNConfigView::GetTitle() const { |
266 DCHECK_NE(title_, 0); | 266 DCHECK_NE(title_, 0); |
267 return l10n_util::GetStringUTF16(title_); | 267 return l10n_util::GetStringUTF16(title_); |
268 } | 268 } |
269 | 269 |
270 views::View* VPNConfigView::GetInitiallyFocusedView() { | 270 views::View* VPNConfigView::GetInitiallyFocusedView() { |
271 if (service_path_.empty()) { | 271 if (service_path_.empty()) { |
272 // Put focus in the first editable field. | 272 // Put focus in the first editable field. |
273 if (server_textfield_) | 273 if (server_textfield_) |
274 return server_textfield_; | 274 return server_textfield_; |
275 else if (service_textfield_) | 275 else if (service_textfield_) |
(...skipping 27 matching lines...) Expand all Loading... |
303 // Block login if certs are required but user has none. | 303 // Block login if certs are required but user has none. |
304 bool cert_required = | 304 bool cert_required = |
305 GetProviderTypeIndex() == PROVIDER_TYPE_INDEX_L2TP_IPSEC_USER_CERT; | 305 GetProviderTypeIndex() == PROVIDER_TYPE_INDEX_L2TP_IPSEC_USER_CERT; |
306 if (cert_required && (!HaveUserCerts() || !IsUserCertValid())) | 306 if (cert_required && (!HaveUserCerts() || !IsUserCertValid())) |
307 return false; | 307 return false; |
308 | 308 |
309 return true; | 309 return true; |
310 } | 310 } |
311 | 311 |
312 void VPNConfigView::ContentsChanged(views::Textfield* sender, | 312 void VPNConfigView::ContentsChanged(views::Textfield* sender, |
313 const string16& new_contents) { | 313 const base::string16& new_contents) { |
314 if (sender == server_textfield_ && !service_text_modified_) { | 314 if (sender == server_textfield_ && !service_text_modified_) { |
315 // Set the service name to the server name up to '.', unless it has | 315 // Set the service name to the server name up to '.', unless it has |
316 // been explicitly set by the user. | 316 // been explicitly set by the user. |
317 string16 server = server_textfield_->text(); | 317 base::string16 server = server_textfield_->text(); |
318 string16::size_type n = server.find_first_of(L'.'); | 318 base::string16::size_type n = server.find_first_of(L'.'); |
319 service_name_from_server_ = server.substr(0, n); | 319 service_name_from_server_ = server.substr(0, n); |
320 service_textfield_->SetText(service_name_from_server_); | 320 service_textfield_->SetText(service_name_from_server_); |
321 } | 321 } |
322 if (sender == service_textfield_) { | 322 if (sender == service_textfield_) { |
323 if (new_contents.empty()) | 323 if (new_contents.empty()) |
324 service_text_modified_ = false; | 324 service_text_modified_ = false; |
325 else if (new_contents != service_name_from_server_) | 325 else if (new_contents != service_name_from_server_) |
326 service_text_modified_ = true; | 326 service_text_modified_ = true; |
327 } | 327 } |
328 UpdateCanLogin(); | 328 UpdateCanLogin(); |
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
964 | 964 |
965 if (group_name_label_) | 965 if (group_name_label_) |
966 group_name_label_->SetEnabled(enable_group_name_); | 966 group_name_label_->SetEnabled(enable_group_name_); |
967 if (group_name_textfield_) | 967 if (group_name_textfield_) |
968 group_name_textfield_->SetEnabled(enable_group_name_ && | 968 group_name_textfield_->SetEnabled(enable_group_name_ && |
969 group_name_ui_data_.IsEditable()); | 969 group_name_ui_data_.IsEditable()); |
970 } | 970 } |
971 | 971 |
972 void VPNConfigView::UpdateErrorLabel() { | 972 void VPNConfigView::UpdateErrorLabel() { |
973 // Error message. | 973 // Error message. |
974 string16 error_msg; | 974 base::string16 error_msg; |
975 bool cert_required = | 975 bool cert_required = |
976 GetProviderTypeIndex() == PROVIDER_TYPE_INDEX_L2TP_IPSEC_USER_CERT; | 976 GetProviderTypeIndex() == PROVIDER_TYPE_INDEX_L2TP_IPSEC_USER_CERT; |
977 if (cert_required && CertLibrary::Get()->CertificatesLoaded()) { | 977 if (cert_required && CertLibrary::Get()->CertificatesLoaded()) { |
978 if (!HaveUserCerts()) { | 978 if (!HaveUserCerts()) { |
979 error_msg = l10n_util::GetStringUTF16( | 979 error_msg = l10n_util::GetStringUTF16( |
980 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PLEASE_INSTALL_USER_CERT); | 980 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_PLEASE_INSTALL_USER_CERT); |
981 } else if (!IsUserCertValid()) { | 981 } else if (!IsUserCertValid()) { |
982 error_msg = l10n_util::GetStringUTF16( | 982 error_msg = l10n_util::GetStringUTF16( |
983 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_REQUIRE_HARDWARE_BACKED); | 983 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_REQUIRE_HARDWARE_BACKED); |
984 } | 984 } |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1052 property_ui_data->ParseOncProperty( | 1052 property_ui_data->ParseOncProperty( |
1053 onc_source, | 1053 onc_source, |
1054 onc, | 1054 onc, |
1055 base::StringPrintf("%s.%s.%s", | 1055 base::StringPrintf("%s.%s.%s", |
1056 ::onc::network_config::kVPN, | 1056 ::onc::network_config::kVPN, |
1057 dict_key.c_str(), | 1057 dict_key.c_str(), |
1058 key.c_str())); | 1058 key.c_str())); |
1059 } | 1059 } |
1060 | 1060 |
1061 } // namespace chromeos | 1061 } // namespace chromeos |
OLD | NEW |