| 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', function() { | 5 cr.define('options', function() { |
| 6 var OptionsPage = options.OptionsPage; | 6 var OptionsPage = options.OptionsPage; |
| 7 var Page = cr.ui.pageManager.Page; | 7 var Page = cr.ui.pageManager.Page; |
| 8 var PageManager = cr.ui.pageManager.PageManager; | 8 var PageManager = cr.ui.pageManager.PageManager; |
| 9 var ArrayDataModel = cr.ui.ArrayDataModel; | 9 var ArrayDataModel = cr.ui.ArrayDataModel; |
| 10 var RepeatingButton = cr.ui.RepeatingButton; | 10 var RepeatingButton = cr.ui.RepeatingButton; |
| 11 var HotwordSearchSettingIndicator = options.HotwordSearchSettingIndicator; | 11 var HotwordSearchSettingIndicator = options.HotwordSearchSettingIndicator; |
| 12 var NetworkPredictionOptions = { | 12 var NetworkPredictionOptions = { |
| 13 ALWAYS: 0, | 13 ALWAYS: 0, |
| 14 WIFI_ONLY: 1, | 14 WIFI_ONLY: 1, |
| 15 NEVER: 2, | 15 NEVER: 2, |
| 16 UNSET: 3, | 16 UNSET: 3, |
| 17 DEFAULT: 1 | 17 DEFAULT: 1 |
| 18 }; | 18 }; |
| 19 | 19 |
| 20 // | 20 /** |
| 21 // BrowserOptions class | 21 * Encapsulated handling of browser options page. |
| 22 // Encapsulated handling of browser options page. | 22 * @constructor |
| 23 // | 23 * @extends {cr.ui.pageManager.Page} |
| 24 */ |
| 24 function BrowserOptions() { | 25 function BrowserOptions() { |
| 25 Page.call(this, 'settings', loadTimeData.getString('settingsTitle'), | 26 Page.call(this, 'settings', loadTimeData.getString('settingsTitle'), |
| 26 'settings'); | 27 'settings'); |
| 27 } | 28 } |
| 28 | 29 |
| 29 cr.addSingletonGetter(BrowserOptions); | 30 cr.addSingletonGetter(BrowserOptions); |
| 30 | 31 |
| 31 /** | 32 /** |
| 32 * @param {HTMLElement} section The section to show or hide. | 33 * @param {HTMLElement} section The section to show or hide. |
| 33 * @return {boolean} Whether the section should be shown. | 34 * @return {boolean} Whether the section should be shown. |
| (...skipping 701 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 735 if (section.classList.contains('sliding')) | 736 if (section.classList.contains('sliding')) |
| 736 cr.dispatchSimpleEvent(section, 'webkitTransitionEnd'); | 737 cr.dispatchSimpleEvent(section, 'webkitTransitionEnd'); |
| 737 | 738 |
| 738 this.addTransitionEndListener_(section); | 739 this.addTransitionEndListener_(section); |
| 739 | 740 |
| 740 section.hidden = false; | 741 section.hidden = false; |
| 741 section.style.height = (showing ? 0 : container.offsetHeight) + 'px'; | 742 section.style.height = (showing ? 0 : container.offsetHeight) + 'px'; |
| 742 section.classList.add('sliding'); | 743 section.classList.add('sliding'); |
| 743 | 744 |
| 744 // Force a style recalc before starting the animation. | 745 // Force a style recalc before starting the animation. |
| 745 /** @suppress {uselessCode} */ | 746 /** @suppress {suspiciousCode} */ |
| 746 section.offsetHeight; | 747 section.offsetHeight; |
| 747 | 748 |
| 748 section.style.height = (showing ? container.offsetHeight : 0) + 'px'; | 749 section.style.height = (showing ? container.offsetHeight : 0) + 'px'; |
| 749 }, | 750 }, |
| 750 | 751 |
| 751 /** | 752 /** |
| 752 * Shows the given section. | 753 * Shows the given section. |
| 753 * @param {HTMLElement} section The section to be shown. | 754 * @param {HTMLElement} section The section to be shown. |
| 754 * @param {HTMLElement} container The container for the section. Must be | 755 * @param {HTMLElement} container The container for the section. Must be |
| 755 * inside of |section|. | 756 * inside of |section|. |
| (...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1422 | 1423 |
| 1423 /** | 1424 /** |
| 1424 * Propmpts user to confirm deletion of the profile for this browser | 1425 * Propmpts user to confirm deletion of the profile for this browser |
| 1425 * window. | 1426 * window. |
| 1426 * @private | 1427 * @private |
| 1427 */ | 1428 */ |
| 1428 deleteCurrentProfile_: function() { | 1429 deleteCurrentProfile_: function() { |
| 1429 ManageProfileOverlay.showDeleteDialog(this.getCurrentProfile_()); | 1430 ManageProfileOverlay.showDeleteDialog(this.getCurrentProfile_()); |
| 1430 }, | 1431 }, |
| 1431 | 1432 |
| 1433 /** |
| 1434 * @param {boolean} enabled |
| 1435 */ |
| 1432 setNativeThemeButtonEnabled_: function(enabled) { | 1436 setNativeThemeButtonEnabled_: function(enabled) { |
| 1433 var button = $('themes-native-button'); | 1437 var button = $('themes-native-button'); |
| 1434 if (button) | 1438 if (button) |
| 1435 button.disabled = !enabled; | 1439 button.disabled = !enabled; |
| 1436 }, | 1440 }, |
| 1437 | 1441 |
| 1442 /** |
| 1443 * @param {boolean} enabled |
| 1444 */ |
| 1438 setThemesResetButtonEnabled_: function(enabled) { | 1445 setThemesResetButtonEnabled_: function(enabled) { |
| 1439 $('themes-reset').disabled = !enabled; | 1446 $('themes-reset').disabled = !enabled; |
| 1440 }, | 1447 }, |
| 1441 | 1448 |
| 1449 /** |
| 1450 * @param {boolean} managed |
| 1451 */ |
| 1442 setAccountPictureManaged_: function(managed) { | 1452 setAccountPictureManaged_: function(managed) { |
| 1443 var picture = $('account-picture'); | 1453 var picture = $('account-picture'); |
| 1444 if (managed || UIAccountTweaks.loggedInAsGuest()) { | 1454 if (managed || UIAccountTweaks.loggedInAsGuest()) { |
| 1445 picture.disabled = true; | 1455 picture.disabled = true; |
| 1446 ChangePictureOptions.closeOverlay(); | 1456 ChangePictureOptions.closeOverlay(); |
| 1447 } else { | 1457 } else { |
| 1448 picture.disabled = false; | 1458 picture.disabled = false; |
| 1449 } | 1459 } |
| 1450 | 1460 |
| 1451 // Create a synthetic pref change event decorated as | 1461 // Create a synthetic pref change event decorated as |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1463 * @private | 1473 * @private |
| 1464 */ | 1474 */ |
| 1465 updateAccountPicture_: function() { | 1475 updateAccountPicture_: function() { |
| 1466 var picture = $('account-picture'); | 1476 var picture = $('account-picture'); |
| 1467 if (picture) { | 1477 if (picture) { |
| 1468 picture.src = 'chrome://userimage/' + this.username_ + '?id=' + | 1478 picture.src = 'chrome://userimage/' + this.username_ + '?id=' + |
| 1469 Date.now(); | 1479 Date.now(); |
| 1470 } | 1480 } |
| 1471 }, | 1481 }, |
| 1472 | 1482 |
| 1483 /** |
| 1484 * @param {boolean} managed |
| 1485 */ |
| 1473 setWallpaperManaged_: function(managed) { | 1486 setWallpaperManaged_: function(managed) { |
| 1474 var button = $('set-wallpaper'); | 1487 var button = $('set-wallpaper'); |
| 1475 button.disabled = !!managed; | 1488 button.disabled = !!managed; |
| 1476 | 1489 |
| 1477 // Create a synthetic pref change event decorated as | 1490 // Create a synthetic pref change event decorated as |
| 1478 // CoreOptionsHandler::CreateValueForPref() does. | 1491 // CoreOptionsHandler::CreateValueForPref() does. |
| 1479 var event = new Event('wallpaper'); | 1492 var event = new Event('wallpaper'); |
| 1480 if (managed) | 1493 if (managed) |
| 1481 event.value = { controlledBy: 'policy' }; | 1494 event.value = { controlledBy: 'policy' }; |
| 1482 else | 1495 else |
| (...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1914 /** | 1927 /** |
| 1915 * Handle the 'set date and time' button click. | 1928 * Handle the 'set date and time' button click. |
| 1916 * @private | 1929 * @private |
| 1917 */ | 1930 */ |
| 1918 handleSetTime_: function() { | 1931 handleSetTime_: function() { |
| 1919 chrome.send('showSetTime'); | 1932 chrome.send('showSetTime'); |
| 1920 }, | 1933 }, |
| 1921 }; | 1934 }; |
| 1922 | 1935 |
| 1923 //Forward public APIs to private implementations. | 1936 //Forward public APIs to private implementations. |
| 1924 [ | 1937 cr.makePublic(BrowserOptions, [ |
| 1925 'addBluetoothDevice', | 1938 'addBluetoothDevice', |
| 1926 'deleteCurrentProfile', | 1939 'deleteCurrentProfile', |
| 1927 'enableCertificateButton', | 1940 'enableCertificateButton', |
| 1928 'enableFactoryResetSection', | 1941 'enableFactoryResetSection', |
| 1929 'getCurrentProfile', | 1942 'getCurrentProfile', |
| 1930 'getStartStopSyncButton', | 1943 'getStartStopSyncButton', |
| 1931 'hideBluetoothSettings', | 1944 'hideBluetoothSettings', |
| 1932 'notifyInitializationComplete', | 1945 'notifyInitializationComplete', |
| 1933 'removeBluetoothDevice', | 1946 'removeBluetoothDevice', |
| 1934 'scrollToSection', | 1947 'scrollToSection', |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1959 'showSupervisedUserImportError', | 1972 'showSupervisedUserImportError', |
| 1960 'showSupervisedUserImportSuccess', | 1973 'showSupervisedUserImportSuccess', |
| 1961 'showTouchpadControls', | 1974 'showTouchpadControls', |
| 1962 'toggleExtensionIndicators', | 1975 'toggleExtensionIndicators', |
| 1963 'updateAccountPicture', | 1976 'updateAccountPicture', |
| 1964 'updateAutoLaunchState', | 1977 'updateAutoLaunchState', |
| 1965 'updateDefaultBrowserState', | 1978 'updateDefaultBrowserState', |
| 1966 'updateEasyUnlock', | 1979 'updateEasyUnlock', |
| 1967 'updateManagesSupervisedUsers', | 1980 'updateManagesSupervisedUsers', |
| 1968 'updateSearchEngines', | 1981 'updateSearchEngines', |
| 1969 'updateStartupPages', | |
| 1970 'updateSyncState', | 1982 'updateSyncState', |
| 1971 ].forEach(function(name) { | 1983 ]); |
| 1972 BrowserOptions[name] = function() { | |
| 1973 var instance = BrowserOptions.getInstance(); | |
| 1974 return instance[name + '_'].apply(instance, arguments); | |
| 1975 }; | |
| 1976 }); | |
| 1977 | 1984 |
| 1978 if (cr.isChromeOS) { | 1985 if (cr.isChromeOS) { |
| 1979 /** | 1986 /** |
| 1980 * Returns username (canonical email) of the user logged in (ChromeOS only). | 1987 * Returns username (canonical email) of the user logged in (ChromeOS only). |
| 1981 * @return {string} user email. | 1988 * @return {string} user email. |
| 1982 */ | 1989 */ |
| 1983 // TODO(jhawkins): Investigate the use case for this method. | 1990 // TODO(jhawkins): Investigate the use case for this method. |
| 1984 BrowserOptions.getLoggedInUsername = function() { | 1991 BrowserOptions.getLoggedInUsername = function() { |
| 1985 return BrowserOptions.getInstance().username_; | 1992 return BrowserOptions.getInstance().username_; |
| 1986 }; | 1993 }; |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2021 } | 2028 } |
| 2022 button.textContent = loadTimeData.getString(strId); | 2029 button.textContent = loadTimeData.getString(strId); |
| 2023 }; | 2030 }; |
| 2024 } | 2031 } |
| 2025 | 2032 |
| 2026 // Export | 2033 // Export |
| 2027 return { | 2034 return { |
| 2028 BrowserOptions: BrowserOptions | 2035 BrowserOptions: BrowserOptions |
| 2029 }; | 2036 }; |
| 2030 }); | 2037 }); |
| OLD | NEW |