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

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

Issue 7390027: Added group policies to enable/disable importing of data from other browsers. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: . Created 9 years, 4 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 var OptionsPage = options.OptionsPage; 6 var OptionsPage = options.OptionsPage;
7 7
8 /** 8 /**
9 * ImportDataOverlay class 9 * ImportDataOverlay class
10 * Encapsulated handling of the 'Import Data' overlay page. 10 * Encapsulated handling of the 'Import Data' overlay page.
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 $('import-data-commit').disabled = !sensitive; 95 $('import-data-commit').disabled = !sensitive;
96 }, 96 },
97 97
98 /** 98 /**
99 * Set enabled and checked states a checkbox element. 99 * Set enabled and checked states a checkbox element.
100 * @param {Object} checkbox A checkbox element. 100 * @param {Object} checkbox A checkbox element.
101 * @param {boolean} enabled The enabled state of the chekbox. 101 * @param {boolean} enabled The enabled state of the chekbox.
102 * @private 102 * @private
103 */ 103 */
104 setUpCheckboxState_: function(checkbox, enabled) { 104 setUpCheckboxState_: function(checkbox, enabled) {
105 checkbox.disabled = !enabled; 105 checkbox.setDisabled("noProfileData", !enabled);
106 checkbox.checked = enabled;
107 }, 106 },
108 107
109 /** 108 /**
110 * Update the enabled and checked states of all checkboxes. 109 * Update the enabled and checked states of all checkboxes.
111 * @private 110 * @private
112 */ 111 */
113 updateCheckboxes_: function() { 112 updateCheckboxes_: function() {
114 var index = $('import-browsers').selectedIndex; 113 var index = $('import-browsers').selectedIndex;
115 var browserProfile; 114 var browserProfile;
116 if (this.browserProfiles.length > index) 115 if (this.browserProfiles.length > index)
117 browserProfile = this.browserProfiles[index]; 116 browserProfile = this.browserProfiles[index];
118 var importOptions = ['history', 'favorites', 'passwords', 'search']; 117 var importOptions = ['history', 'favorites', 'passwords', 'search'];
119 for (var i = 0; i < importOptions.length; i++) { 118 for (var i = 0; i < importOptions.length; i++) {
120 var checkbox = $('import-' + importOptions[i]); 119 var checkbox = $('import-' + importOptions[i]);
121 this.setUpCheckboxState_(checkbox, 120 var enable = browserProfile && browserProfile[importOptions[i]];
122 browserProfile ? browserProfile[importOptions[i]] : false); 121 this.setUpCheckboxState_(checkbox, enable);
123 } 122 }
124 }, 123 },
125 124
126 /** 125 /**
127 * Update the supported browsers popup with given entries. 126 * Update the supported browsers popup with given entries.
128 * @param {array} browsers List of supported browsers name. 127 * @param {array} browsers List of supported browsers name.
129 * @private 128 * @private
130 */ 129 */
131 updateSupportedBrowsers_: function(browsers) { 130 updateSupportedBrowsers_: function(browsers) {
132 this.browserProfiles = browsers; 131 this.browserProfiles = browsers;
(...skipping 12 matching lines...) Expand all
145 for (var i = 0; i < browserCount; i++) { 144 for (var i = 0; i < browserCount; i++) {
146 var browser = browsers[i] 145 var browser = browsers[i]
147 var option = new Option(browser['name'], browser['index']); 146 var option = new Option(browser['name'], browser['index']);
148 browserSelect.appendChild(option); 147 browserSelect.appendChild(option);
149 } 148 }
150 149
151 this.updateCheckboxes_(); 150 this.updateCheckboxes_();
152 this.validateCommitButton_(); 151 this.validateCommitButton_();
153 } 152 }
154 }, 153 },
154
155 /**
156 * Clear import prefs set when user checks/unchecks a checkbox so that each
157 * checkbox goes back to the default "checked" state (or alternatively, to
158 * the state set by a recommended policy).
159 * @private
160 */
161 clearUserPrefs_: function() {
162 var importPrefs = ['import_history',
163 'import_bookmarks',
164 'import_saved_passwords',
165 'import_search_engine'];
166 for (var i = 0; i < importPrefs.length; i++)
167 Preferences.clearPref(importPrefs[i], undefined);
168 },
169 };
170
171 ImportDataOverlay.clearUserPrefs = function() {
172 ImportDataOverlay.getInstance().clearUserPrefs_();
155 }; 173 };
156 174
157 /** 175 /**
158 * Update the supported browsers popup with given entries. 176 * Update the supported browsers popup with given entries.
159 * @param {array} list of supported browsers name. 177 * @param {array} list of supported browsers name.
160 */ 178 */
161 ImportDataOverlay.updateSupportedBrowsers = function(browsers) { 179 ImportDataOverlay.updateSupportedBrowsers = function(browsers) {
162 ImportDataOverlay.getInstance().updateSupportedBrowsers_(browsers); 180 ImportDataOverlay.getInstance().updateSupportedBrowsers_(browsers);
163 }; 181 };
164 182
165 /** 183 /**
166 * Update the UI to reflect whether an import operation is in progress. 184 * Update the UI to reflect whether an import operation is in progress.
167 * @param {boolean} state True if an import operation is in progress. 185 * @param {boolean} state True if an import operation is in progress.
168 */ 186 */
169 ImportDataOverlay.setImportingState = function(state) { 187 ImportDataOverlay.setImportingState = function(state) {
170 if (state) { 188 var checkboxes =
171 var checkboxes = 189 document.querySelectorAll('#import-checkboxes input[type=checkbox]');
172 document.querySelectorAll('#import-checkboxes input[type=checkbox]'); 190 for (var i = 0; i < checkboxes.length; i++)
173 for (var i = 0; i < checkboxes.length; i++) { 191 checkboxes[i].setDisabled("Importing", state);
174 checkboxes[i].disabled = true; 192 if (!state)
175 }
176 } else {
177 ImportDataOverlay.getInstance().updateCheckboxes_(); 193 ImportDataOverlay.getInstance().updateCheckboxes_();
178 }
179 $('import-browsers').disabled = state; 194 $('import-browsers').disabled = state;
180 $('import-throbber').style.visibility = state ? "visible" : "hidden"; 195 $('import-throbber').style.visibility = state ? "visible" : "hidden";
181 ImportDataOverlay.getInstance().validateCommitButton_(); 196 ImportDataOverlay.getInstance().validateCommitButton_();
182 }; 197 };
183 198
184 /** 199 /**
185 * Remove the import overlay from display. 200 * Remove the import overlay from display.
186 */ 201 */
187 ImportDataOverlay.dismiss = function() { 202 ImportDataOverlay.dismiss = function() {
203 ImportDataOverlay.clearUserPrefs();
188 OptionsPage.closeOverlay(); 204 OptionsPage.closeOverlay();
189 }; 205 };
190 206
191 /** 207 /**
192 * Show a message confirming the success of the import operation. 208 * Show a message confirming the success of the import operation.
193 */ 209 */
194 ImportDataOverlay.confirmSuccess = function() { 210 ImportDataOverlay.confirmSuccess = function() {
195 var showBookmarksMessage = $('import-favorites').checked; 211 var showBookmarksMessage = $('import-favorites').checked;
196 ImportDataOverlay.setImportingState(false); 212 ImportDataOverlay.setImportingState(false);
197 $('import-data-configure').hidden = true; 213 $('import-data-configure').hidden = true;
198 $('import-data-success').hidden = false; 214 $('import-data-success').hidden = false;
199 $('import-find-your-bookmarks').hidden = !showBookmarksMessage; 215 $('import-find-your-bookmarks').hidden = !showBookmarksMessage;
200 }; 216 };
201 217
202 // Export 218 // Export
203 return { 219 return {
204 ImportDataOverlay: ImportDataOverlay 220 ImportDataOverlay: ImportDataOverlay
205 }; 221 };
206 }); 222 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/options/import_data_overlay.html ('k') | chrome/browser/resources/policy.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698