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

Unified Diff: chrome/browser/resources/options/browser_options.js

Issue 9814030: get rid of old options pages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more fixes Created 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/options/browser_options.js
diff --git a/chrome/browser/resources/options/browser_options.js b/chrome/browser/resources/options/browser_options.js
deleted file mode 100644
index e161c15a27126f9417c13d1e041ccc232dc952bb..0000000000000000000000000000000000000000
--- a/chrome/browser/resources/options/browser_options.js
+++ /dev/null
@@ -1,388 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-cr.define('options', function() {
- const OptionsPage = options.OptionsPage;
- const ArrayDataModel = cr.ui.ArrayDataModel;
-
- //
- // BrowserOptions class
- // Encapsulated handling of browser options page.
- //
- function BrowserOptions() {
- OptionsPage.call(this, 'browser',
- templateData.browserPageTabTitle,
- 'browserPage');
- }
-
- cr.addSingletonGetter(BrowserOptions);
-
- BrowserOptions.prototype = {
- // Inherit BrowserOptions from OptionsPage.
- __proto__: options.OptionsPage.prototype,
-
- startup_pages_pref_: {
- 'name': 'session.urls_to_restore_on_startup',
- 'disabled': false
- },
-
- /**
- * At autocomplete list that can be attached to a text field during editing.
- * @type {HTMLElement}
- * @private
- */
- autocompleteList_: null,
-
- // The cached value of the instant.confirm_dialog_shown preference.
- instantConfirmDialogShown_: false,
-
- /**
- * Initialize BrowserOptions page.
- */
- initializePage: function() {
- // Call base class implementation to start preference initialization.
- OptionsPage.prototype.initializePage.call(this);
-
- // Wire up controls.
- $('startupUseCurrentButton').onclick = function(event) {
- chrome.send('setStartupPagesToCurrentPages');
- };
- $('defaultSearchManageEnginesButton').onclick = function(event) {
- OptionsPage.navigateToPage('searchEngines');
- chrome.send('coreOptionsUserMetricsAction',
- ['Options_ManageSearchEngines']);
- };
- $('defaultSearchEngine').onchange = this.setDefaultSearchEngine_;
-
- var self = this;
- $('instantEnabledCheckbox').customChangeHandler = function(event) {
- if (this.checked) {
- if (self.instantConfirmDialogShown_)
- chrome.send('enableInstant');
- else
- OptionsPage.navigateToPage('instantConfirm');
- } else {
- chrome.send('disableInstant');
- }
- return true;
- };
-
- $('instantFieldTrialCheckbox').addEventListener('change',
- function(event) {
- this.checked = true;
- chrome.send('disableInstant');
- });
-
- Preferences.getInstance().addEventListener('instant.confirm_dialog_shown',
- this.onInstantConfirmDialogShownChanged_.bind(this));
-
- Preferences.getInstance().addEventListener('instant.enabled',
- this.onInstantEnabledChanged_.bind(this));
-
- Preferences.getInstance().addEventListener(
- $('homepageUseNTPButton').pref,
- this.onHomepageUseNTPChanged_);
- var homepageField = $('homepageURL');
- homepageField.addEventListener('focus', function(event) {
- self.autocompleteList_.attachToInput(homepageField);
- });
- homepageField.addEventListener('blur', function(event) {
- self.autocompleteList_.detach();
- });
- homepageField.addEventListener('keydown', function(event) {
- // Remove focus when the user hits enter since people expect feedback
- // indicating that they are done editing.
- if (event.keyIdentifier == 'Enter')
- homepageField.blur();
- });
-
- // Text fields may change widths when the window changes size, so make
- // sure the suggestion list stays in sync.
- window.addEventListener('resize', function() {
- self.autocompleteList_.syncWidthToInput();
- });
-
- // Ensure that changes are committed when closing the page.
- window.addEventListener('unload', function() {
- if (document.activeElement == homepageField)
- homepageField.blur();
- });
-
- if (!cr.isChromeOS) {
- $('defaultBrowserUseAsDefaultButton').onclick = function(event) {
- chrome.send('becomeDefaultBrowser');
- };
-
- $('autoLaunch').addEventListener('click',
- this.handleAutoLaunchChanged_);
- }
-
- var startupPagesList = $('startupPagesList');
- options.browser_options.StartupPageList.decorate(startupPagesList);
- startupPagesList.autoExpands = true;
-
- // Check if we are in the guest mode.
- if (cr.commandLine && cr.commandLine.options['--bwsi']) {
- // Hide the startup section.
- $('startupSection').hidden = true;
- } else {
- // Initialize control enabled states.
- Preferences.getInstance().addEventListener('session.restore_on_startup',
- this.updateCustomStartupPageControlStates_.bind(this));
- Preferences.getInstance().addEventListener(
- this.startup_pages_pref_.name,
- this.handleStartupPageListChange_.bind(this));
-
- this.updateCustomStartupPageControlStates_();
- }
-
- var suggestionList = new cr.ui.AutocompleteList();
- suggestionList.autoExpands = true;
- suggestionList.suggestionUpdateRequestCallback =
- this.requestAutocompleteSuggestions_.bind(this);
- $('main-content').appendChild(suggestionList);
- this.autocompleteList_ = suggestionList;
- startupPagesList.autocompleteList = suggestionList;
- },
-
- /**
- * Called when the value of the instant.confirm_dialog_shown preference
- * changes. Cache this value.
- * @param {Event} event Change event.
- * @private
- */
- onInstantConfirmDialogShownChanged_: function(event) {
- this.instantConfirmDialogShown_ = event.value['value'];
- },
-
- /**
- * Called when the value of the instant.enabled preference changes. Request
- * the state of the Instant field trial experiment.
- * @param {Event} event Change event.
- * @private
- */
- onInstantEnabledChanged_: function(event) {
- chrome.send('getInstantFieldTrialStatus');
- },
-
- /**
- * Called to set the Instant field trial status.
- * @param {boolean} enabled If true, the experiment is enabled.
- * @private
- */
- setInstantFieldTrialStatus_: function(enabled) {
- $('instantEnabledCheckbox').hidden = enabled;
- $('instantFieldTrialCheckbox').hidden = !enabled;
- $('instantLabel').htmlFor = enabled ? 'instantFieldTrialCheckbox'
- : 'instantEnabledCheckbox';
- },
-
- /**
- * Called when the value of the homepage-use-NTP pref changes.
- * Updates the disabled state of the homepage text field.
- * Notice that the text field can be disabled for other reasons too
- * (it can be managed by policy, for instance).
- * @param {Event} event Change event.
- * @private
- */
- onHomepageUseNTPChanged_: function(event) {
- var homepageField = $('homepageURL');
- var homepageUseURLButton = $('homepageUseURLButton');
- homepageField.setDisabled('radioNotSelected',
- !homepageUseURLButton.checked);
- },
-
- /**
- * Update the Default Browsers section based on the current state.
- * @param {string} statusString Description of the current default state.
- * @param {boolean} isDefault Whether or not the browser is currently
- * default.
- * @param {boolean} canBeDefault Whether or not the browser can be default.
- * @private
- */
- updateDefaultBrowserState_: function(statusString, isDefault,
- canBeDefault) {
- var label = $('defaultBrowserState');
- label.textContent = statusString;
-
- $('defaultBrowserUseAsDefaultButton').disabled = !canBeDefault ||
- isDefault;
- },
-
- /**
- * Clears the search engine popup.
- * @private
- */
- clearSearchEngines_: function() {
- $('defaultSearchEngine').textContent = '';
- },
-
- /**
- * Updates the search engine popup with the given entries.
- * @param {Array} engines List of available search engines.
- * @param {number} defaultValue The value of the current default engine.
- * @param {boolean} defaultManaged Whether the default search provider is
- * managed. If true, the default search provider can't be changed.
- */
- updateSearchEngines_: function(engines, defaultValue, defaultManaged) {
- this.clearSearchEngines_();
- engineSelect = $('defaultSearchEngine');
- engineSelect.disabled = defaultManaged;
- engineCount = engines.length;
- var defaultIndex = -1;
- for (var i = 0; i < engineCount; i++) {
- var engine = engines[i];
- var option = new Option(engine['name'], engine['index']);
- if (defaultValue == option.value)
- defaultIndex = i;
- engineSelect.appendChild(option);
- }
- if (defaultIndex >= 0)
- engineSelect.selectedIndex = defaultIndex;
- },
-
- /**
- * Returns true if the custom startup page control block should
- * be enabled.
- * @returns {boolean} Whether the startup page controls should be
- * enabled.
- */
- shouldEnableCustomStartupPageControls: function(pages) {
- return $('startupShowPagesButton').checked &&
- !this.startup_pages_pref_.disabled;
- },
-
- /**
- * Updates the startup pages list with the given entries.
- * @param {Array} pages List of startup pages.
- * @private
- */
- updateStartupPages_: function(pages) {
- var model = new ArrayDataModel(pages);
- // Add a "new page" row.
- model.push({
- 'modelIndex': '-1'
- });
- $('startupPagesList').dataModel = model;
- },
-
- /**
- * Sets the enabled state of the custom startup page list controls
- * based on the current startup radio button selection.
- * @private
- */
- updateCustomStartupPageControlStates_: function() {
- var disable = !this.shouldEnableCustomStartupPageControls();
- var startupPagesList = $('startupPagesList');
- startupPagesList.disabled = disable;
- startupPagesList.setAttribute('tabindex', disable ? -1 : 0);
- // Explicitly set disabled state for input text elements.
- var inputs = startupPagesList.querySelectorAll("input[type='text']");
- for (var i = 0; i < inputs.length; i++)
- inputs[i].disabled = disable;
- $('startupUseCurrentButton').disabled = disable;
- },
-
- /**
- * Handles change events of the preference
- * 'session.urls_to_restore_on_startup'.
- * @param {event} preference changed event.
- * @private
- */
- handleStartupPageListChange_: function(event) {
- this.startup_pages_pref_.disabled = event.value['disabled'];
- this.updateCustomStartupPageControlStates_();
- },
-
- /**
- * Sets the default search engine based on the popup selection.
- */
- setDefaultSearchEngine_: function() {
- var engineSelect = $('defaultSearchEngine');
- var selectedIndex = engineSelect.selectedIndex;
- if (selectedIndex >= 0) {
- var selection = engineSelect.options[selectedIndex];
- chrome.send('setDefaultSearchEngine', [String(selection.value)]);
- }
- },
-
- /**
- * Sets or clear whether Chrome should Auto-launch on computer startup.
- */
- handleAutoLaunchChanged_: function() {
- chrome.send('toggleAutoLaunch', [Boolean($('autoLaunch').checked)]);
- },
-
- /**
- * Sends an asynchronous request for new autocompletion suggestions for the
- * the given query. When new suggestions are available, the C++ handler will
- * call updateAutocompleteSuggestions_.
- * @param {string} query List of autocomplete suggestions.
- * @private
- */
- requestAutocompleteSuggestions_: function(query) {
- chrome.send('requestAutocompleteSuggestions', [query]);
- },
-
- /**
- * Updates the autocomplete suggestion list with the given entries.
- * @param {Array} pages List of autocomplete suggestions.
- * @private
- */
- updateAutocompleteSuggestions_: function(suggestions) {
- var list = this.autocompleteList_;
- // If the trigger for this update was a value being selected from the
- // current list, do nothing.
- if (list.targetInput && list.selectedItem &&
- list.selectedItem['url'] == list.targetInput.value)
- return;
- list.suggestions = suggestions;
- },
-
- /**
- * Shows the autoLaunch preference and initializes its checkbox value.
- */
- updateAutoLaunchState_: function(enabled) {
- $('autoLaunchOption').hidden = false;
- $('autoLaunch').checked = enabled;
- },
- };
-
- BrowserOptions.updateDefaultBrowserState = function(statusString, isDefault,
- canBeDefault) {
- if (!cr.isChromeOS) {
- BrowserOptions.getInstance().updateDefaultBrowserState_(statusString,
- isDefault,
- canBeDefault);
- }
- };
-
- BrowserOptions.updateSearchEngines = function(engines, defaultValue,
- defaultManaged) {
- BrowserOptions.getInstance().updateSearchEngines_(engines, defaultValue,
- defaultManaged);
- };
-
- BrowserOptions.updateStartupPages = function(pages) {
- BrowserOptions.getInstance().updateStartupPages_(pages);
- };
-
- BrowserOptions.updateAutocompleteSuggestions = function(suggestions) {
- BrowserOptions.getInstance().updateAutocompleteSuggestions_(suggestions);
- };
-
- BrowserOptions.updateAutoLaunchState = function(enabled) {
- BrowserOptions.getInstance().updateAutoLaunchState_(enabled);
- };
-
- BrowserOptions.setInstantFieldTrialStatus = function(enabled) {
- BrowserOptions.getInstance().setInstantFieldTrialStatus_(enabled);
- };
-
- // Export
- return {
- BrowserOptions: BrowserOptions
- };
-
-});

Powered by Google App Engine
This is Rietveld 408576698