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

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

Issue 489103004: Allow editing passwords in settings/passwords (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added one more test. Modified the comments and the string. Created 6 years, 3 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
OLDNEW
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 /** @const */ var Page = cr.ui.pageManager.Page; 6 /** @const */ var Page = cr.ui.pageManager.Page;
7 /** @const */ var PageManager = cr.ui.pageManager.PageManager; 7 /** @const */ var PageManager = cr.ui.pageManager.PageManager;
8 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; 8 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel;
9 9
10 ///////////////////////////////////////////////////////////////////////////// 10 /////////////////////////////////////////////////////////////////////////////
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 if (entry[0].toLowerCase().indexOf(query.toLowerCase()) >= 0 || 162 if (entry[0].toLowerCase().indexOf(query.toLowerCase()) >= 0 ||
163 entry[1].toLowerCase().indexOf(query.toLowerCase()) >= 0) { 163 entry[1].toLowerCase().indexOf(query.toLowerCase()) >= 0) {
164 // Keep the original index so we can delete correctly. See also 164 // Keep the original index so we can delete correctly. See also
165 // deleteItemAtIndex() in password_manager_list.js that uses this. 165 // deleteItemAtIndex() in password_manager_list.js that uses this.
166 entry[3] = index; 166 entry[3] = index;
167 return true; 167 return true;
168 } 168 }
169 return false; 169 return false;
170 }; 170 };
171 entries = entries.filter(filter); 171 entries = entries.filter(filter);
172 } else {
173 // Adds the Add New Entry row.
174 entries.push(null);
172 } 175 }
173 this.savedPasswordsList_.dataModel = new ArrayDataModel(entries); 176 this.savedPasswordsList_.dataModel = new ArrayDataModel(entries);
174 this.updateListVisibility_(this.savedPasswordsList_); 177 this.updateListVisibility_(this.savedPasswordsList_);
175 }, 178 },
176 179
177 /** 180 /**
178 * Updates the data model for the password exceptions list with the values 181 * Updates the data model for the password exceptions list with the values
179 * from |entries|. 182 * from |entries|.
180 * @param {Array} entries The list of password exception data. 183 * @param {Array} entries The list of password exception data.
181 */ 184 */
(...skipping 19 matching lines...) Expand all
201 index = i; 204 index = i;
202 break; 205 break;
203 } 206 }
204 } 207 }
205 } 208 }
206 209
207 // Reveal the password in the UI. 210 // Reveal the password in the UI.
208 var item = this.savedPasswordsList_.getListItemByIndex(index); 211 var item = this.savedPasswordsList_.getListItemByIndex(index);
209 item.showPassword(password); 212 item.showPassword(password);
210 }, 213 },
214
215 /**
216 * Forwards the validity of the origin to the Add New Entry row.
217 * @param {string} url The origin.
218 * @param {boolean} valid The validity of the origin for adding.
Dan Beam 2014/08/26 17:39:05 @private
jaekyeom 2014/08/27 12:28:52 Done.
219 */
220 originValidityCheckComplete_: function(url, valid) {
221 // There is no Add New Entry row when a filter is active.
222 if (this.lastQuery_)
223 return;
224 var model = this.savedPasswordsList_.dataModel;
Dan Beam 2014/08/26 17:39:05 what if model.length == 0?
jaekyeom 2014/08/27 12:28:53 Done. I modified the condition a bit and added a c
225 var addRowItem = this.savedPasswordsList_.getListItemByIndex(
226 model.length - 1);
227 addRowItem.originValidityCheckComplete(url, valid);
228 },
211 }; 229 };
212 230
213 /** 231 /**
232 * Requests the browser to check the validity of the origin being edited by
233 * the user in the Add New Entry row.
234 * @param {string} url The origin being edited.
235 */
236 PasswordManager.checkOriginValidityForAdding = function(url) {
237 chrome.send('checkOriginValidityForAdding', [url]);
238 };
239
240 /**
241 * Adds a new password entry.
242 * @param {string} url The origin.
243 * @param {string} username The username value.
244 * @param {string} password The password value.
245 */
246 PasswordManager.addPassword = function(url, username, password) {
247 chrome.send('addPassword', [url, username, password]);
248 };
249
250 /**
251 * Updates the password value of an entry.
252 * @param {number} rowIndex The row to update.
253 * @param {string} newPassword The new password value.
254 */
255 PasswordManager.updatePassword = function(rowIndex, newPassword) {
256 chrome.send('updatePassword', [String(rowIndex), newPassword]);
257 };
258
259 /**
214 * Removes a saved password. 260 * Removes a saved password.
215 * @param {number} rowIndex indicating the row to remove. 261 * @param {number} rowIndex indicating the row to remove.
216 */ 262 */
217 PasswordManager.removeSavedPassword = function(rowIndex) { 263 PasswordManager.removeSavedPassword = function(rowIndex) {
218 chrome.send('removeSavedPassword', [String(rowIndex)]); 264 chrome.send('removeSavedPassword', [String(rowIndex)]);
219 }; 265 };
220 266
221 /** 267 /**
222 * Removes a password exception. 268 * Removes a password exception.
223 * @param {number} rowIndex indicating the row to remove. 269 * @param {number} rowIndex indicating the row to remove.
224 */ 270 */
225 PasswordManager.removePasswordException = function(rowIndex) { 271 PasswordManager.removePasswordException = function(rowIndex) {
226 chrome.send('removePasswordException', [String(rowIndex)]); 272 chrome.send('removePasswordException', [String(rowIndex)]);
227 }; 273 };
228 274
229 PasswordManager.requestShowPassword = function(index) { 275 PasswordManager.requestShowPassword = function(index) {
230 chrome.send('requestShowPassword', [index]); 276 chrome.send('requestShowPassword', [index]);
231 }; 277 };
232 278
233 // Forward public APIs to private implementations on the singleton instance. 279 // Forward public APIs to private implementations on the singleton instance.
234 [ 280 [
235 'setSavedPasswordsList', 281 'setSavedPasswordsList',
236 'setPasswordExceptionsList', 282 'setPasswordExceptionsList',
237 'showPassword' 283 'showPassword',
284 'originValidityCheckComplete'
238 ].forEach(function(name) { 285 ].forEach(function(name) {
239 PasswordManager[name] = function() { 286 PasswordManager[name] = function() {
240 var instance = PasswordManager.getInstance(); 287 var instance = PasswordManager.getInstance();
241 return instance[name + '_'].apply(instance, arguments); 288 return instance[name + '_'].apply(instance, arguments);
242 }; 289 };
243 }); 290 });
244 291
245 // Export 292 // Export
246 return { 293 return {
247 PasswordManager: PasswordManager 294 PasswordManager: PasswordManager
248 }; 295 };
249 296
250 }); 297 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698