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

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

Issue 7003007: Apply content-security-policy to the HTML options page. This is a (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 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
(Empty)
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
3 // found in the LICENSE file.
4
5 cr.define('options', function() {
6 const OptionsPage = options.OptionsPage;
7 const ArrayDataModel = cr.ui.ArrayDataModel;
8
9 /////////////////////////////////////////////////////////////////////////////
10 // PasswordManager class:
11
12 /**
13 * Encapsulated handling of password and exceptions page.
14 * @constructor
15 */
16 function PasswordManager() {
17 this.activeNavTab = null;
18 OptionsPage.call(this,
19 'passwords',
20 templateData.passwordsPageTabTitle,
21 'password-manager');
22 }
23
24 cr.addSingletonGetter(PasswordManager);
25
26 PasswordManager.prototype = {
27 __proto__: OptionsPage.prototype,
28
29 /**
30 * The saved passwords list.
31 * @type {DeletableItemList}
32 * @private
33 */
34 savedPasswordsList_: null,
35
36 /**
37 * The password exceptions list.
38 * @type {DeletableItemList}
39 * @private
40 */
41 passwordExceptionsList_: null,
42
43 /** @inheritDoc */
44 initializePage: function() {
45 OptionsPage.prototype.initializePage.call(this);
46
47 this.createSavedPasswordsList_();
48 this.createPasswordExceptionsList_();
49 },
50
51 /** @inheritDoc */
52 canShowPage: function() {
53 return !PersonalOptions.disablePasswordManagement();
54 },
55
56 /** @inheritDoc */
57 didShowPage: function() {
58 // Updating the password lists may cause a blocking platform dialog pop up
59 // (Mac, Linux), so we delay this operation until the page is shown.
60 chrome.send('updatePasswordLists');
61 },
62
63 /**
64 * Creates, decorates and initializes the saved passwords list.
65 * @private
66 */
67 createSavedPasswordsList_: function() {
68 this.savedPasswordsList_ = $('saved-passwords-list');
69 options.passwordManager.PasswordsList.decorate(this.savedPasswordsList_);
70 this.savedPasswordsList_.autoExpands = true;
71 },
72
73 /**
74 * Creates, decorates and initializes the password exceptions list.
75 * @private
76 */
77 createPasswordExceptionsList_: function() {
78 this.passwordExceptionsList_ = $('password-exceptions-list');
79 options.passwordManager.PasswordExceptionsList.decorate(
80 this.passwordExceptionsList_);
81 this.passwordExceptionsList_.autoExpands = true;
82 },
83
84 /**
85 * Updates the visibility of the list and empty list placeholder.
86 * @param {!List} list The list to toggle visilibility for.
87 */
88 updateListVisibility_: function(list) {
89 var empty = list.dataModel.length == 0;
90 var listPlaceHolderID = list.id + '-empty-placeholder';
91 list.hidden = empty;
92 $(listPlaceHolderID).hidden = !empty;
93 },
94
95 /**
96 * Updates the data model for the saved passwords list with the values from
97 * |entries|.
98 * @param {Array} entries The list of saved password data.
99 */
100 setSavedPasswordsList_: function(entries) {
101 this.savedPasswordsList_.dataModel = new ArrayDataModel(entries);
102 this.updateListVisibility_(this.savedPasswordsList_);
103 },
104
105 /**
106 * Updates the data model for the password exceptions list with the values
107 * from |entries|.
108 * @param {Array} entries The list of password exception data.
109 */
110 setPasswordExceptionsList_: function(entries) {
111 this.passwordExceptionsList_.dataModel = new ArrayDataModel(entries);
112 this.updateListVisibility_(this.passwordExceptionsList_);
113 },
114 };
115
116 /**
117 * Call to remove a saved password.
118 * @param rowIndex indicating the row to remove.
119 */
120 PasswordManager.removeSavedPassword = function(rowIndex) {
121 chrome.send('removeSavedPassword', [String(rowIndex)]);
122 };
123
124 /**
125 * Call to remove a password exception.
126 * @param rowIndex indicating the row to remove.
127 */
128 PasswordManager.removePasswordException = function(rowIndex) {
129 chrome.send('removePasswordException', [String(rowIndex)]);
130 };
131
132 /**
133 * Call to remove all saved passwords.
134 * @param tab contentType of the tab currently on.
135 */
136 PasswordManager.removeAllPasswords = function() {
137 chrome.send('removeAllSavedPasswords');
138 };
139
140 /**
141 * Call to remove all saved passwords.
142 * @param tab contentType of the tab currently on.
143 */
144 PasswordManager.removeAllPasswordExceptions = function() {
145 chrome.send('removeAllPasswordExceptions');
146 };
147
148 PasswordManager.setSavedPasswordsList = function(entries) {
149 PasswordManager.getInstance().setSavedPasswordsList_(entries);
150 };
151
152 PasswordManager.setPasswordExceptionsList = function(entries) {
153 PasswordManager.getInstance().setPasswordExceptionsList_(entries);
154 };
155
156 // Export
157 return {
158 PasswordManager: PasswordManager
159 };
160
161 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698