OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 const OptionsPage = options.OptionsPage; | 6 const OptionsPage = options.OptionsPage; |
7 const ArrayDataModel = cr.ui.ArrayDataModel; | 7 const ArrayDataModel = cr.ui.ArrayDataModel; |
8 | 8 |
9 // | 9 // |
10 // BrowserOptions class | 10 // BrowserOptions class |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 chrome.send('toggleShowBookmarksBar'); | 64 chrome.send('toggleShowBookmarksBar'); |
65 }; | 65 }; |
66 $('defaultSearchManageEnginesButton').onclick = function(event) { | 66 $('defaultSearchManageEnginesButton').onclick = function(event) { |
67 OptionsPage.navigateToPage('searchEngines'); | 67 OptionsPage.navigateToPage('searchEngines'); |
68 chrome.send('coreOptionsUserMetricsAction', | 68 chrome.send('coreOptionsUserMetricsAction', |
69 ['Options_ManageSearchEngines']); | 69 ['Options_ManageSearchEngines']); |
70 }; | 70 }; |
71 $('defaultSearchEngine').onchange = this.setDefaultSearchEngine_; | 71 $('defaultSearchEngine').onchange = this.setDefaultSearchEngine_; |
72 | 72 |
73 var self = this; | 73 var self = this; |
74 $('instantEnableCheckbox').onclick = function(event) { | 74 $('instantEnabledCheckbox').onclick = function(event) { |
75 if (this.checked && !self.instantConfirmDialogShown_) { | 75 if (this.checked) { |
76 // Leave disabled for now. The PrefCheckbox handler already set it to | 76 if (self.instantConfirmDialogShown_) { |
77 // true so undo that. | 77 chrome.send('enableInstant'); |
78 Preferences.setBooleanPref(this.pref, false, this.metric); | 78 } else { |
79 OptionsPage.navigateToPage('instantConfirm'); | 79 OptionsPage.navigateToPage('instantConfirm'); |
| 80 } |
| 81 } else { |
| 82 chrome.send('disableInstant'); |
80 } | 83 } |
81 }; | 84 }; |
82 | 85 |
83 Preferences.getInstance().addEventListener('instant.confirm_dialog_shown', | 86 Preferences.getInstance().addEventListener('instant.confirm_dialog_shown', |
84 this.onInstantConfirmDialogShownChanged_.bind(this)); | 87 this.onInstantConfirmDialogShownChanged_.bind(this)); |
85 | 88 |
| 89 Preferences.getInstance().addEventListener('instant.enabled', |
| 90 this.onInstantEnabledChanged_.bind(this)); |
| 91 |
86 var homepageField = $('homepageURL'); | 92 var homepageField = $('homepageURL'); |
87 $('homepageUseNTPButton').onchange = | 93 $('homepageUseNTPButton').onchange = |
88 this.handleHomepageUseNTPButtonChange_.bind(this); | 94 this.handleHomepageUseNTPButtonChange_.bind(this); |
89 $('homepageUseURLButton').onchange = | 95 $('homepageUseURLButton').onchange = |
90 this.handleHomepageUseURLButtonChange_.bind(this); | 96 this.handleHomepageUseURLButtonChange_.bind(this); |
91 var homepageChangeHandler = this.handleHomepageURLChange_.bind(this); | 97 var homepageChangeHandler = this.handleHomepageURLChange_.bind(this); |
92 homepageField.addEventListener('change', homepageChangeHandler); | 98 homepageField.addEventListener('change', homepageChangeHandler); |
93 homepageField.addEventListener('input', homepageChangeHandler); | 99 homepageField.addEventListener('input', homepageChangeHandler); |
94 homepageField.addEventListener('focus', function(event) { | 100 homepageField.addEventListener('focus', function(event) { |
95 self.autocompleteList_.attachToInput(homepageField); | 101 self.autocompleteList_.attachToInput(homepageField); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 * Called when the value of the instant.confirm_dialog_shown preference | 165 * Called when the value of the instant.confirm_dialog_shown preference |
160 * changes. Cache this value. | 166 * changes. Cache this value. |
161 * @param {Event} event Change event. | 167 * @param {Event} event Change event. |
162 * @private | 168 * @private |
163 */ | 169 */ |
164 onInstantConfirmDialogShownChanged_: function(event) { | 170 onInstantConfirmDialogShownChanged_: function(event) { |
165 this.instantConfirmDialogShown_ = event.value['value']; | 171 this.instantConfirmDialogShown_ = event.value['value']; |
166 }, | 172 }, |
167 | 173 |
168 /** | 174 /** |
| 175 * Called when the value of the instant.enabled preference changes. Update |
| 176 * the state of the checkbox. |
| 177 * @param {Event} event Change event. |
| 178 * @private |
| 179 */ |
| 180 onInstantEnabledChanged_: function(event) { |
| 181 var checkbox = $('instantEnabledCheckbox'); |
| 182 checkbox.checked = event.value['value']; |
| 183 checkbox.disabled = event.value['managed']; |
| 184 |
| 185 chrome.send('isInstantFieldTrialExperimentGroup'); |
| 186 }, |
| 187 |
| 188 /** |
| 189 * Called to inform that the user has been selected into the Instant field |
| 190 * trial experiment group (see instant_field_trial.h). |
| 191 * @private |
| 192 */ |
| 193 setInstantFieldTrialExperimentGroup_: function() { |
| 194 $('instantEnabledCheckbox').checked = true; |
| 195 }, |
| 196 |
| 197 /** |
169 * Update the Default Browsers section based on the current state. | 198 * Update the Default Browsers section based on the current state. |
170 * @param {string} statusString Description of the current default state. | 199 * @param {string} statusString Description of the current default state. |
171 * @param {boolean} isDefault Whether or not the browser is currently | 200 * @param {boolean} isDefault Whether or not the browser is currently |
172 * default. | 201 * default. |
173 * @param {boolean} canBeDefault Whether or not the browser can be default. | 202 * @param {boolean} canBeDefault Whether or not the browser can be default. |
174 * @private | 203 * @private |
175 */ | 204 */ |
176 updateDefaultBrowserState_: function(statusString, isDefault, | 205 updateDefaultBrowserState_: function(statusString, isDefault, |
177 canBeDefault) { | 206 canBeDefault) { |
178 var label = $('defaultBrowserState'); | 207 var label = $('defaultBrowserState'); |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
479 }; | 508 }; |
480 | 509 |
481 BrowserOptions.updateStartupPages = function(pages) { | 510 BrowserOptions.updateStartupPages = function(pages) { |
482 BrowserOptions.getInstance().updateStartupPages_(pages); | 511 BrowserOptions.getInstance().updateStartupPages_(pages); |
483 }; | 512 }; |
484 | 513 |
485 BrowserOptions.updateAutocompleteSuggestions = function(suggestions) { | 514 BrowserOptions.updateAutocompleteSuggestions = function(suggestions) { |
486 BrowserOptions.getInstance().updateAutocompleteSuggestions_(suggestions); | 515 BrowserOptions.getInstance().updateAutocompleteSuggestions_(suggestions); |
487 }; | 516 }; |
488 | 517 |
| 518 BrowserOptions.setInstantFieldTrialExperimentGroup = function() { |
| 519 BrowserOptions.getInstance().setInstantFieldTrialExperimentGroup_(); |
| 520 }; |
| 521 |
489 // Export | 522 // Export |
490 return { | 523 return { |
491 BrowserOptions: BrowserOptions | 524 BrowserOptions: BrowserOptions |
492 }; | 525 }; |
493 | 526 |
494 }); | 527 }); |
OLD | NEW |