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 cr.define('options.internet', function() { | 5 cr.define('options.internet', function() { |
6 var OptionsPage = options.OptionsPage; | 6 var OptionsPage = options.OptionsPage; |
7 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; | 7 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; |
8 /** @const */ var IPAddressField = options.internet.IPAddressField; | 8 /** @const */ var IPAddressField = options.internet.IPAddressField; |
9 | 9 |
10 /** | 10 /** |
(...skipping 957 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
968 detailsPage.vpn = true; | 968 detailsPage.vpn = true; |
969 detailsPage.ethernet = false; | 969 detailsPage.ethernet = false; |
970 detailsPage.cellular = false; | 970 detailsPage.cellular = false; |
971 detailsPage.gsm = false; | 971 detailsPage.gsm = false; |
972 $('inet-service-name').textContent = data.service_name; | 972 $('inet-service-name').textContent = data.service_name; |
973 $('inet-provider-type').textContent = data.provider_type; | 973 $('inet-provider-type').textContent = data.provider_type; |
974 $('inet-username').textContent = data.username; | 974 $('inet-username').textContent = data.username; |
975 var inetServerHostname = $('inet-server-hostname'); | 975 var inetServerHostname = $('inet-server-hostname'); |
976 inetServerHostname.value = data.serverHostname.value; | 976 inetServerHostname.value = data.serverHostname.value; |
977 inetServerHostname.resetHandler = function() { | 977 inetServerHostname.resetHandler = function() { |
978 inetServerHostname.value = data.serverHostname.default; | 978 OptionsPage.hideBubble(); |
| 979 inetServerHostname.value = data.serverHostname.recommendedValue; |
979 }; | 980 }; |
980 } else { | 981 } else { |
981 OptionsPage.showTab($('internet-nav-tab')); | 982 OptionsPage.showTab($('internet-nav-tab')); |
982 detailsPage.ethernet = true; | 983 detailsPage.ethernet = true; |
983 detailsPage.wireless = false; | 984 detailsPage.wireless = false; |
984 detailsPage.wimax = false; | 985 detailsPage.wimax = false; |
985 detailsPage.vpn = false; | 986 detailsPage.vpn = false; |
986 detailsPage.cellular = false; | 987 detailsPage.cellular = false; |
987 detailsPage.gsm = false; | 988 detailsPage.gsm = false; |
988 } | 989 } |
989 | 990 |
990 // Update controlled option indicators. | 991 // Update controlled option indicators. |
991 indicators = cr.doc.querySelectorAll( | 992 indicators = cr.doc.querySelectorAll( |
992 '#details-internet-page .controlled-setting-indicator'); | 993 '#details-internet-page .controlled-setting-indicator'); |
993 for (var i = 0; i < indicators.length; i++) { | 994 for (var i = 0; i < indicators.length; i++) { |
994 var dataProperty = indicators[i].getAttribute('data'); | 995 var propName = indicators[i].getAttribute('data'); |
995 if (dataProperty && data[dataProperty]) { | 996 if (!propName || !data[propName]) |
996 var controlledBy = data[dataProperty].controlledBy; | 997 continue; |
997 if (controlledBy) { | 998 var propData = data[propName]; |
998 indicators[i].controlledBy = controlledBy; | 999 // Create a synthetic pref change event decorated as |
999 var forElement = $(indicators[i].getAttribute('for')); | 1000 // CoreOptionsHandler::CreateValueForPref() does. |
1000 if (forElement) { | 1001 var event = new cr.Event(name); |
1001 forElement.disabled = controlledBy != 'recommended'; | 1002 event.value = { |
1002 if (forElement.type == 'radio' && !forElement.checked) | 1003 value: propData.value, |
1003 indicators[i].hidden = true; | 1004 controlledBy: propData.controlledBy, |
1004 if (forElement.resetHandler) | 1005 recommendedValue: propData.recommendedValue, |
1005 indicators[i].resetHandler = forElement.resetHandler; | 1006 }; |
1006 } | 1007 indicators[i].handlePrefChange(event); |
1007 } else { | 1008 var forElement = $(indicators[i].getAttribute('for')); |
1008 indicators[i].controlledBy = null; | 1009 if (forElement) { |
1009 } | 1010 forElement.disabled = propData.controlledBy == 'policy'; |
| 1011 if (forElement.resetHandler) |
| 1012 indicators[i].resetHandler = forElement.resetHandler; |
1010 } | 1013 } |
1011 } | 1014 } |
1012 | 1015 |
1013 detailsPage.updateControls(); | 1016 detailsPage.updateControls(); |
1014 | 1017 |
1015 // Don't show page name in address bar and in history to prevent people | 1018 // Don't show page name in address bar and in history to prevent people |
1016 // navigate here by hand and solve issue with page session restore. | 1019 // navigate here by hand and solve issue with page session restore. |
1017 OptionsPage.showPageByName('detailsInternetPage', false); | 1020 OptionsPage.showPageByName('detailsInternetPage', false); |
1018 }; | 1021 }; |
1019 | 1022 |
1020 return { | 1023 return { |
1021 DetailsInternetPage: DetailsInternetPage | 1024 DetailsInternetPage: DetailsInternetPage |
1022 }; | 1025 }; |
1023 }); | 1026 }); |
OLD | NEW |