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

Side by Side Diff: chrome/browser/resources/options/browser_options.js

Issue 7337007: Introduce a field trial for Instant. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added opt-out histogram Created 9 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698