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 // NOTE(stevenjb): This code is in the process of being converted to be | 5 // NOTE(stevenjb): This code is in the process of being converted to be |
6 // compatible with the networkingPrivate extension API: | 6 // compatible with the networkingPrivate extension API: |
7 // * The network property dictionaries are being converted to use ONC values. | 7 // * The network property dictionaries are being converted to use ONC values. |
8 // * chrome.send calls will be replaced with an API object that simulates the | 8 // * chrome.send calls will be replaced with an API object that simulates the |
9 // networkingPrivate API. See network_config.js. | 9 // networkingPrivate API. See network_config.js. |
10 // See crbug.com/279351 for more info. | 10 // See crbug.com/279351 for more info. |
(...skipping 18 matching lines...) Expand all Loading... | |
29 * @param {string} key The property key. | 29 * @param {string} key The property key. |
30 * @param {string} type (Optional) The type of property to get as defined in | 30 * @param {string} type (Optional) The type of property to get as defined in |
31 * GetManagedTypes: | 31 * GetManagedTypes: |
32 * 'ACTIVE' (default) - gets the active value | 32 * 'ACTIVE' (default) - gets the active value |
33 * 'TRANSLATED' - gets the traslated or active value | 33 * 'TRANSLATED' - gets the traslated or active value |
34 * 'RECOMMENDED' - gets the recommended value | 34 * 'RECOMMENDED' - gets the recommended value |
35 * @return {*} The property value or undefined. | 35 * @return {*} The property value or undefined. |
36 */ | 36 */ |
37 function getManagedValue(data, key, type) { | 37 function getManagedValue(data, key, type) { |
38 var property = getManagedProperty(data, key); | 38 var property = getManagedProperty(data, key); |
39 if (typeof property != 'object') | 39 if (Array.isArray(property) || typeof property != 'object') |
40 return property; | 40 return property; |
41 if (type == GetManagedTypes.RECOMMENDED) | 41 if (type == GetManagedTypes.RECOMMENDED) |
42 return getRecommendedValue(property); | 42 return getRecommendedValue(property); |
43 if (type == GetManagedTypes.TRANSLATED && 'Translated' in property) | 43 if (type == GetManagedTypes.TRANSLATED && 'Translated' in property) |
44 return property['Translated']; | 44 return property['Translated']; |
45 // Otherwise get the Active value (defalt behavior). | 45 // Otherwise get the Active value (defalt behavior). |
46 if ('Active' in property) | 46 if ('Active' in property) |
47 return property['Active']; | 47 return property['Active']; |
48 // If no Active value is defined, return the effective value. | 48 // If no Active value is defined, return the effective value if present. |
49 return getEffectiveValue(property); | 49 var effective = getEffectiveValue(property); |
50 if (effective != undefined) | |
51 return effective; | |
52 // Otherwise this is an Object but not a Managed one. | |
53 return property; | |
50 } | 54 } |
51 | 55 |
52 /** | 56 /** |
53 * Get the recommended value from a Managed property ONC dictionary. | 57 * Get the recommended value from a Managed property ONC dictionary. |
54 * @param {object} property The managed property ONC dictionary. | 58 * @param {object} property The managed property ONC dictionary. |
55 * @return {*} the effective value or undefined. | 59 * @return {*} the effective value or undefined. |
56 */ | 60 */ |
57 function getRecommendedValue(property) { | 61 function getRecommendedValue(property) { |
58 if (property['UserEditable']) | 62 if (property['UserEditable']) |
59 return property['UserPolicy']; | 63 return property['UserPolicy']; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
94 var keyComponent = key.substr(0, index); | 98 var keyComponent = key.substr(0, index); |
95 if (!(keyComponent in data)) | 99 if (!(keyComponent in data)) |
96 return undefined; | 100 return undefined; |
97 data = data[keyComponent]; | 101 data = data[keyComponent]; |
98 key = key.substr(index + 1); | 102 key = key.substr(index + 1); |
99 } | 103 } |
100 return data[key]; | 104 return data[key]; |
101 } | 105 } |
102 | 106 |
103 /** | 107 /** |
108 * Set the value of a property in dictionary |data| that includes ONC | |
109 * managed properties, e.g. setManagedValue(data, 'Name', 'MyNetwork'). | |
110 * See notes for getManagedProperty. | |
111 * @param {object} data The properties dictionary. | |
112 * @param {string} key The property key. | |
113 * @param {string} value The property value to set. | |
114 */ | |
115 function setManagedProperty(data, key, value) { | |
116 while (true) { | |
117 var index = key.indexOf('.'); | |
118 if (index < 0) | |
119 break; | |
120 var keyComponent = key.substr(0, index); | |
121 if (!(keyComponent in data)) | |
122 data[keyComponent] = {}; | |
123 data = data[keyComponent]; | |
124 key = key.substr(index + 1); | |
125 } | |
126 if (!(key in data) || | |
127 (typeof data[key] != 'object') || | |
128 (!('Active' in data[key]) && !('Effective' in data[key]))) { | |
129 data[key] = value; | |
130 } else { | |
131 var effective = data[key]['Effective']; | |
132 assert(effective != 'UserPolicy' || data[key]['UserEditable']); | |
133 assert(effective != 'DevicePolicy' || data[key]['DeviceEditable']); | |
134 // For now, just uodare the active value. TODO(stevenjb): Eventually we | |
135 // should update the 'UserSetting' and 'Effective' properties correctly | |
136 // and send that back to Chrome. | |
137 data[key]['Active'] = value; | |
138 } | |
139 } | |
140 | |
141 /** | |
104 * Helper function to set hidden attribute for elements matching a selector. | 142 * Helper function to set hidden attribute for elements matching a selector. |
105 * @param {string} selector CSS selector for extracting a list of elements. | 143 * @param {string} selector CSS selector for extracting a list of elements. |
106 * @param {bool} hidden New hidden value. | 144 * @param {bool} hidden New hidden value. |
107 */ | 145 */ |
108 function updateHidden(selector, hidden) { | 146 function updateHidden(selector, hidden) { |
109 var elements = cr.doc.querySelectorAll(selector); | 147 var elements = cr.doc.querySelectorAll(selector); |
110 for (var i = 0, el; el = elements[i]; i++) { | 148 for (var i = 0, el; el = elements[i]; i++) { |
111 el.hidden = hidden; | 149 el.hidden = hidden; |
112 } | 150 } |
113 } | 151 } |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
265 | 303 |
266 $('cellular-apn-use-default').addEventListener('click', function(event) { | 304 $('cellular-apn-use-default').addEventListener('click', function(event) { |
267 var data = $('connection-state').data; | 305 var data = $('connection-state').data; |
268 var apnSelector = $('select-apn'); | 306 var apnSelector = $('select-apn'); |
269 | 307 |
270 if (data.userApnIndex != -1) { | 308 if (data.userApnIndex != -1) { |
271 apnSelector.remove(data.userApnIndex); | 309 apnSelector.remove(data.userApnIndex); |
272 data.userApnIndex = -1; | 310 data.userApnIndex = -1; |
273 } | 311 } |
274 | 312 |
275 if (data.providerApnList.value.length > 0) { | 313 var activeApn; |
276 var iApn = 0; | 314 var iApn = -1; |
277 var defaultApn = data.providerApnList.value[iApn]; | 315 var apnList = getManagedValue(data, 'Cellular.APNList'); |
278 data.apn.apn = stringFromValue(defaultApn.apn); | 316 if (apnList != undefined && apnList.length > 0) { |
279 data.apn.username = stringFromValue(defaultApn.username); | 317 iApn = 0; |
280 data.apn.password = stringFromValue(defaultApn.password); | 318 var defaultApn = apnList[iApn]; |
319 activeApn['AccessPointName'] = | |
Vitaly Pavlenko
2014/09/07 05:25:15
Could you please explain, why |activeApn| is defin
stevenjb
2014/09/08 17:48:22
activeApn will either be 'undefined' or will be a
Dan Beam
2014/09/08 20:32:14
i think what vitalyp@ means is:
var activeApn;
stevenjb
2014/09/09 00:47:49
Ah, I see, right, we have to define activeApn as a
| |
320 stringFromValue(defaultApn['AccessPointName']); | |
321 activeApn['Username'] = stringFromValue(defaultApn['Username']); | |
322 activeApn['Password'] = stringFromValue(defaultApn['Password']); | |
281 chrome.send('setApn', [data.servicePath, | 323 chrome.send('setApn', [data.servicePath, |
282 data.apn.apn, | 324 activeApn['AccessPointName'], |
283 data.apn.username, | 325 activeApn['Username'], |
284 data.apn.password]); | 326 activeApn['Password']]); |
285 apnSelector.selectedIndex = iApn; | |
286 data.selectedApn = iApn; | |
287 } else { | |
288 data.apn.apn = ''; | |
289 data.apn.username = ''; | |
290 data.apn.password = ''; | |
291 apnSelector.selectedIndex = -1; | |
292 data.selectedApn = -1; | |
293 } | 327 } |
328 setManagedProperty(data, 'Cellular.APN', activeApn); | |
329 apnSelector.selectedIndex = iApn; | |
330 data.selectedApn = iApn; | |
331 | |
294 updateHidden('.apn-list-view', false); | 332 updateHidden('.apn-list-view', false); |
295 updateHidden('.apn-details-view', true); | 333 updateHidden('.apn-details-view', true); |
296 }); | 334 }); |
297 | 335 |
298 $('cellular-apn-set').addEventListener('click', function(event) { | 336 $('cellular-apn-set').addEventListener('click', function(event) { |
299 if ($('cellular-apn').value == '') | 337 if ($('cellular-apn').value == '') |
300 return; | 338 return; |
301 | 339 |
302 var data = $('connection-state').data; | 340 var data = $('connection-state').data; |
303 var apnSelector = $('select-apn'); | 341 var apnSelector = $('select-apn'); |
304 | 342 |
305 data.apn.apn = stringFromValue($('cellular-apn').value); | 343 var activeApn = {}; |
306 data.apn.username = stringFromValue($('cellular-apn-username').value); | 344 activeApn['AccessPointName'] = |
307 data.apn.password = stringFromValue($('cellular-apn-password').value); | 345 stringFromValue($('cellular-apn').value); |
308 data.userApn = { | 346 activeApn['Username'] = |
309 'apn': data.apn.apn, | 347 stringFromValue($('cellular-apn-username').value); |
310 'username': data.apn.username, | 348 activeApn['Password'] = |
311 'password': data.apn.password | 349 stringFromValue($('cellular-apn-password').value); |
312 }; | 350 setManagedProperty(data, 'Cellular.APN', activeApn); |
351 data.userApn = activeApn; | |
313 chrome.send('setApn', [data.servicePath, | 352 chrome.send('setApn', [data.servicePath, |
314 data.apn.apn, | 353 activeApn['AccessPointName'], |
315 data.apn.username, | 354 activeApn['Username'], |
316 data.apn.password]); | 355 activeApn['Password']]); |
317 | 356 |
318 if (data.userApnIndex != -1) { | 357 if (data.userApnIndex != -1) { |
319 apnSelector.remove(data.userApnIndex); | 358 apnSelector.remove(data.userApnIndex); |
320 data.userApnIndex = -1; | 359 data.userApnIndex = -1; |
321 } | 360 } |
322 | 361 |
323 var option = document.createElement('option'); | 362 var option = document.createElement('option'); |
324 option.textContent = data.apn.apn; | 363 option.textContent = activeApn['AccessPointName']; |
325 option.value = -1; | 364 option.value = -1; |
326 option.selected = true; | 365 option.selected = true; |
327 apnSelector.add(option, apnSelector[apnSelector.length - 1]); | 366 apnSelector.add(option, apnSelector[apnSelector.length - 1]); |
328 data.userApnIndex = apnSelector.length - 2; | 367 data.userApnIndex = apnSelector.length - 2; |
329 data.selectedApn = data.userApnIndex; | 368 data.selectedApn = data.userApnIndex; |
330 | 369 |
331 updateHidden('.apn-list-view', false); | 370 updateHidden('.apn-list-view', false); |
332 updateHidden('.apn-details-view', true); | 371 updateHidden('.apn-details-view', true); |
333 }); | 372 }); |
334 | 373 |
335 $('cellular-apn-cancel').addEventListener('click', function(event) { | 374 $('cellular-apn-cancel').addEventListener('click', function(event) { |
336 $('select-apn').selectedIndex = $('connection-state').data.selectedApn; | 375 $('select-apn').selectedIndex = $('connection-state').data.selectedApn; |
337 updateHidden('.apn-list-view', false); | 376 updateHidden('.apn-list-view', false); |
338 updateHidden('.apn-details-view', true); | 377 updateHidden('.apn-details-view', true); |
339 }); | 378 }); |
340 | 379 |
341 $('select-apn').addEventListener('change', function(event) { | 380 $('select-apn').addEventListener('change', function(event) { |
342 var data = $('connection-state').data; | 381 var data = $('connection-state').data; |
343 var apnSelector = $('select-apn'); | 382 var apnSelector = $('select-apn'); |
383 var apnDict; | |
344 if (apnSelector[apnSelector.selectedIndex].value != -1) { | 384 if (apnSelector[apnSelector.selectedIndex].value != -1) { |
345 var apnList = data.providerApnList.value; | 385 var apnList = getManagedValue(data, 'Cellular.APNList'); |
386 var apnIndex = apnSelector.selectedIndex; | |
387 assert(apnIndex < apnList.length); | |
388 apnDict = apnList[apnIndex]; | |
346 chrome.send('setApn', [data.servicePath, | 389 chrome.send('setApn', [data.servicePath, |
347 stringFromValue(apnList[apnSelector.selectedIndex].apn), | 390 stringFromValue(apnDict['AccessPointName']), |
348 stringFromValue(apnList[apnSelector.selectedIndex].username), | 391 stringFromValue(apnDict['Username']), |
349 stringFromValue(apnList[apnSelector.selectedIndex].password)] | 392 stringFromValue(apnDict['Password'])]); |
350 ); | 393 data.selectedApn = apnIndex; |
351 data.selectedApn = apnSelector.selectedIndex; | |
352 } else if (apnSelector.selectedIndex == data.userApnIndex) { | 394 } else if (apnSelector.selectedIndex == data.userApnIndex) { |
395 apnDict = data.userApn; | |
353 chrome.send('setApn', [data.servicePath, | 396 chrome.send('setApn', [data.servicePath, |
354 stringFromValue(data.userApn.apn), | 397 stringFromValue(apnDict['AccessPointName']), |
355 stringFromValue(data.userApn.username), | 398 stringFromValue(apnDict['Username']), |
356 stringFromValue(data.userApn.password)]); | 399 stringFromValue(apnDict['Password'])]); |
357 data.selectedApn = apnSelector.selectedIndex; | 400 data.selectedApn = apnSelector.selectedIndex; |
358 } else { | 401 } else { |
359 $('cellular-apn').value = stringFromValue(data.apn.apn); | 402 apnDict = getManagedValue(data, 'Cellular.APN'); |
360 $('cellular-apn-username').value = stringFromValue(data.apn.username); | 403 $('cellular-apn').value = stringFromValue(apnDict['AccessPointName']); |
361 $('cellular-apn-password').value = stringFromValue(data.apn.password); | 404 $('cellular-apn-username').value = |
405 stringFromValue(apnDict['Username']); | |
406 $('cellular-apn-password').value = | |
407 stringFromValue(apnDict['Password']); | |
362 | 408 |
363 updateHidden('.apn-list-view', true); | 409 updateHidden('.apn-list-view', true); |
364 updateHidden('.apn-details-view', false); | 410 updateHidden('.apn-details-view', false); |
365 } | 411 } |
366 }); | 412 }); |
367 | 413 |
368 $('sim-card-lock-enabled').addEventListener('click', function(event) { | 414 $('sim-card-lock-enabled').addEventListener('click', function(event) { |
369 var newValue = $('sim-card-lock-enabled').checked; | 415 var newValue = $('sim-card-lock-enabled').checked; |
370 // Leave value as is because user needs to enter PIN code first. | 416 // Leave value as is because user needs to enter PIN code first. |
371 // When PIN will be entered and value changed, | 417 // When PIN will be entered and value changed, |
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1010 $('activation-state').textContent = data.activationState; | 1056 $('activation-state').textContent = data.activationState; |
1011 | 1057 |
1012 $('buyplan-details').hidden = !data.showBuyButton; | 1058 $('buyplan-details').hidden = !data.showBuyButton; |
1013 $('view-account-details').hidden = !data.showViewAccountButton; | 1059 $('view-account-details').hidden = !data.showViewAccountButton; |
1014 | 1060 |
1015 $('activate-details').hidden = !data.showActivateButton; | 1061 $('activate-details').hidden = !data.showActivateButton; |
1016 if (data.showActivateButton) | 1062 if (data.showActivateButton) |
1017 $('details-internet-login').hidden = true; | 1063 $('details-internet-login').hidden = true; |
1018 | 1064 |
1019 if (detailsPage.gsm) { | 1065 if (detailsPage.gsm) { |
1020 // TODO(stevenjb): Use managed properties for policy controlled values. | 1066 var lockEnabled = |
1021 var lockEnabled = data.simCardLockEnabled.value; | 1067 getManagedValue(data, 'Cellular.SIMLockStatus.LockEnabled'); |
1022 $('sim-card-lock-enabled').checked = lockEnabled; | 1068 $('sim-card-lock-enabled').checked = lockEnabled; |
1023 $('change-pin').hidden = !lockEnabled; | 1069 $('change-pin').hidden = !lockEnabled; |
1024 } | 1070 } |
1025 } | 1071 } |
1026 | 1072 |
1027 $('connection-state').data = data; | 1073 $('connection-state').data = data; |
1028 }; | 1074 }; |
1029 | 1075 |
1030 DetailsInternetPage.showDetailedInfo = function(data) { | 1076 DetailsInternetPage.showDetailedInfo = function(data) { |
1031 var detailsPage = DetailsInternetPage.getInstance(); | 1077 var detailsPage = DetailsInternetPage.getInstance(); |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1321 $('iccid').textContent = getManagedValue(data, 'Cellular.ICCID'); | 1367 $('iccid').textContent = getManagedValue(data, 'Cellular.ICCID'); |
1322 $('imsi').textContent = getManagedValue(data, 'Cellular.IMSI'); | 1368 $('imsi').textContent = getManagedValue(data, 'Cellular.IMSI'); |
1323 | 1369 |
1324 var apnSelector = $('select-apn'); | 1370 var apnSelector = $('select-apn'); |
1325 // Clear APN lists, keep only last element that "other". | 1371 // Clear APN lists, keep only last element that "other". |
1326 while (apnSelector.length != 1) | 1372 while (apnSelector.length != 1) |
1327 apnSelector.remove(0); | 1373 apnSelector.remove(0); |
1328 var otherOption = apnSelector[0]; | 1374 var otherOption = apnSelector[0]; |
1329 data.selectedApn = -1; | 1375 data.selectedApn = -1; |
1330 data.userApnIndex = -1; | 1376 data.userApnIndex = -1; |
1331 var apnList = data.providerApnList.value; | 1377 var activeApn = getManagedValue(data, 'Cellular.APN'); |
pneubeck (no reviews)
2014/10/20 16:48:04
while looking for the VPN hostname cause, I saw th
stevenjb
2014/10/20 18:11:21
crbug.com/425164
| |
1378 var lastGoodApn = getManagedValue(data, 'Cellular.LastGoodAPN'); | |
1379 var apnList = getManagedValue(data, 'Cellular.APNList'); | |
1332 for (var i = 0; i < apnList.length; i++) { | 1380 for (var i = 0; i < apnList.length; i++) { |
1381 var apnDict = apnList[i]; | |
1333 var option = document.createElement('option'); | 1382 var option = document.createElement('option'); |
1334 var localizedName = apnList[i].localizedName; | 1383 var localizedName = apnDict['LocalizedName']; |
1335 var name = localizedName ? localizedName : apnList[i].name; | 1384 var name = localizedName ? localizedName : apnDict['Name']; |
1336 var apn = apnList[i].apn; | 1385 var accessPointName = apnDict['AccessPointName']; |
1337 option.textContent = name ? (name + ' (' + apn + ')') : apn; | 1386 option.textContent = |
1387 name ? (name + ' (' + accessPointName + ')') : accessPointName; | |
1338 option.value = i; | 1388 option.value = i; |
1339 // data.apn and data.lastGoodApn will always be defined, however | 1389 // If this matches the active Apn, or LastGoodApn, set it as the |
1340 // data.apn.apn and data.lastGoodApn.apn may not be. This is not a | 1390 // selected Apn. |
1341 // problem, as apnList[i].apn will always be defined and the | 1391 if ((activeApn != undefined && |
1342 // comparisons below will work as expected. | 1392 activeApn['AccessPointName'] == accessPointName && |
1343 if ((data.apn.apn == apn && | 1393 activeApn['Username'] == apnDict['Username'] && |
1344 data.apn.username == apnList[i].username && | 1394 activeApn['Password'] == apnDict['Password']) || |
1345 data.apn.password == apnList[i].password) || | 1395 ((activeApn == undefined || !activeApn['AccessPointName']) && |
1346 (!data.apn.apn && | 1396 lastGoodApn != undefined && |
1347 data.lastGoodApn.apn == apn && | 1397 lastGoodApn['AccessPointName'] == accessPointName && |
1348 data.lastGoodApn.username == apnList[i].username && | 1398 lastGoodApn['Username'] == apnDict['Username'] && |
1349 data.lastGoodApn.password == apnList[i].password)) { | 1399 lastGoodApn['Password'] == apnDict['Password'])) { |
1350 data.selectedApn = i; | 1400 data.selectedApn = i; |
1351 } | 1401 } |
1352 // Insert new option before "other" option. | 1402 // Insert new option before "other" option. |
1353 apnSelector.add(option, otherOption); | 1403 apnSelector.add(option, otherOption); |
1354 } | 1404 } |
1355 if (data.selectedApn == -1 && data.apn.apn) { | 1405 if (data.selectedApn == -1 && |
1406 activeApn != undefined && activeApn['AccessPointName']) { | |
1356 var option = document.createElement('option'); | 1407 var option = document.createElement('option'); |
1357 option.textContent = data.apn.apn; | 1408 option.textContent = activeApn['AccessPointName']; |
1358 option.value = -1; | 1409 option.value = -1; |
1359 apnSelector.add(option, otherOption); | 1410 apnSelector.add(option, otherOption); |
1360 data.selectedApn = apnSelector.length - 2; | 1411 data.selectedApn = apnSelector.length - 2; |
1361 data.userApnIndex = data.selectedApn; | 1412 data.userApnIndex = data.selectedApn; |
1362 } | 1413 } |
1363 apnSelector.selectedIndex = data.selectedApn; | 1414 apnSelector.selectedIndex = data.selectedApn; |
1364 updateHidden('.apn-list-view', false); | 1415 updateHidden('.apn-list-view', false); |
1365 updateHidden('.apn-details-view', true); | 1416 updateHidden('.apn-details-view', true); |
1366 // TODO(stevenjb): Used managed properties for policy controlled value. | 1417 var lockEnabled = |
1367 var lockEnabled = data.simCardLockEnabled.value; | 1418 getManagedValue(data, 'Cellular.SIMLockStatus.LockEnabled'); |
1368 $('sim-card-lock-enabled').checked = lockEnabled; | 1419 $('sim-card-lock-enabled').checked = lockEnabled; |
1369 $('change-pin').hidden = !lockEnabled; | 1420 $('change-pin').hidden = !lockEnabled; |
1370 } | 1421 } |
1371 $('auto-connect-network-cellular').checked = | 1422 $('auto-connect-network-cellular').checked = |
1372 getManagedValue(data, 'AutoConnect'); | 1423 getManagedValue(data, 'AutoConnect'); |
1373 $('auto-connect-network-cellular').disabled = false; | 1424 $('auto-connect-network-cellular').disabled = false; |
1374 | 1425 |
1375 $('buyplan-details').hidden = !data.showBuyButton; | 1426 $('buyplan-details').hidden = !data.showBuyButton; |
1376 $('view-account-details').hidden = !data.showViewAccountButton; | 1427 $('view-account-details').hidden = !data.showViewAccountButton; |
1377 $('activate-details').hidden = !data.showActivateButton; | 1428 $('activate-details').hidden = !data.showActivateButton; |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1437 | 1488 |
1438 // Don't show page name in address bar and in history to prevent people | 1489 // Don't show page name in address bar and in history to prevent people |
1439 // navigate here by hand and solve issue with page session restore. | 1490 // navigate here by hand and solve issue with page session restore. |
1440 PageManager.showPageByName('detailsInternetPage', false); | 1491 PageManager.showPageByName('detailsInternetPage', false); |
1441 }; | 1492 }; |
1442 | 1493 |
1443 return { | 1494 return { |
1444 DetailsInternetPage: DetailsInternetPage | 1495 DetailsInternetPage: DetailsInternetPage |
1445 }; | 1496 }; |
1446 }); | 1497 }); |
OLD | NEW |