diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-19 20:06:58 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-19 20:06:58 +0000 |
commit | 24247e47575023a8d95a499205389f43243dbbdf (patch) | |
tree | f9ffd69bfb12e274e8bfebf6e38ff25ac25468b8 | |
parent | 13ae2df9a29d4719f43540033d8235e5155be7c0 (diff) | |
download | chromium_src-24247e47575023a8d95a499205389f43243dbbdf.zip chromium_src-24247e47575023a8d95a499205389f43243dbbdf.tar.gz chromium_src-24247e47575023a8d95a499205389f43243dbbdf.tar.bz2 |
Revert r56571:
------------
Make the saved passwords tab work.
BUG=49093
TEST=None
------------
TBR=sargrass
Review URL: http://codereview.chromium.org/3108034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56729 0039d316-1c4b-4281-b951-d872f2087c98
12 files changed, 56 insertions, 311 deletions
diff --git a/chrome/browser/dom_ui/options_ui.cc b/chrome/browser/dom_ui/options_ui.cc index 525a07b..7708cac 100644 --- a/chrome/browser/dom_ui/options_ui.cc +++ b/chrome/browser/dom_ui/options_ui.cc @@ -28,7 +28,6 @@ #include "chrome/browser/dom_ui/font_settings_handler.h" #include "chrome/browser/dom_ui/import_data_handler.h" #include "chrome/browser/dom_ui/passwords_exceptions_handler.h" -#include "chrome/browser/dom_ui/passwords_remove_all_handler.h" #include "chrome/browser/dom_ui/personal_options_handler.h" #include "chrome/browser/dom_ui/search_engine_manager_handler.h" #include "chrome/browser/dom_ui/stop_syncing_handler.h" @@ -138,7 +137,6 @@ OptionsUI::OptionsUI(TabContents* contents) : DOMUI(contents) { AddOptionsPageUIHandler(localized_strings, new ContentSettingsHandler()); AddOptionsPageUIHandler(localized_strings, new FontSettingsHandler()); AddOptionsPageUIHandler(localized_strings, new PasswordsExceptionsHandler()); - AddOptionsPageUIHandler(localized_strings, new PasswordsRemoveAllHandler()); AddOptionsPageUIHandler(localized_strings, new PersonalOptionsHandler()); AddOptionsPageUIHandler(localized_strings, new SearchEngineManagerHandler()); AddOptionsPageUIHandler(localized_strings, new ImportDataHandler()); diff --git a/chrome/browser/dom_ui/passwords_exceptions_handler.cc b/chrome/browser/dom_ui/passwords_exceptions_handler.cc index ecd72ed..c41bf10 100644 --- a/chrome/browser/dom_ui/passwords_exceptions_handler.cc +++ b/chrome/browser/dom_ui/passwords_exceptions_handler.cc @@ -6,7 +6,6 @@ #include "app/l10n_util.h" #include "base/callback.h" -#include "base/stl_util-inl.h" #include "base/string_number_conversions.h" #include "base/utf_string_conversions.h" #include "base/values.h" @@ -65,17 +64,8 @@ void PasswordsExceptionsHandler::RegisterMessages() { "loadSavedPasswords", NewCallback(this, &PasswordsExceptionsHandler::LoadSavedPasswords)); dom_ui_->RegisterMessageCallback( - "removeSavedPassword", - NewCallback(this, &PasswordsExceptionsHandler::RemoveSavedPassword)); - dom_ui_->RegisterMessageCallback( - "removePasswordException", - NewCallback(this, &PasswordsExceptionsHandler::RemovePasswordsException)); - dom_ui_->RegisterMessageCallback( - "removeAllSavedPasswords", - NewCallback(this, &PasswordsExceptionsHandler::RemoveAllSavedPasswords)); - dom_ui_->RegisterMessageCallback( - "removeAllPasswordExceptions", NewCallback( - this, &PasswordsExceptionsHandler::RemoveAllPasswordsExceptions)); + "removeAutofillable", + NewCallback(this, &PasswordsExceptionsHandler::RemoveEntry)); dom_ui_->RegisterMessageCallback( "showSelectedPassword", NewCallback(this, &PasswordsExceptionsHandler::ShowSelectedPassword)); @@ -89,7 +79,7 @@ void PasswordsExceptionsHandler::LoadSavedPasswords(const Value* value) { populater_.Populate(); } -void PasswordsExceptionsHandler::RemoveSavedPassword(const Value* value) { +void PasswordsExceptionsHandler::RemoveEntry(const Value* value) { if (!value || !value->IsType(Value::TYPE_LIST)) { NOTREACHED(); return; @@ -111,38 +101,6 @@ void PasswordsExceptionsHandler::RemoveSavedPassword(const Value* value) { SetPasswordList(); } -void PasswordsExceptionsHandler::RemovePasswordsException(const Value* value) { - if (!value || !value->IsType(Value::TYPE_LIST)) { - NOTREACHED(); - return; - } - - const ListValue* param_values = static_cast<const ListValue*>(value); - std::string string_value; - if (param_values->GetSize() != 1 || - !param_values->GetString(0, &string_value)) { - NOTREACHED(); - return; - } - int selected_index; - base::StringToInt(string_value, &selected_index); - - //TODO(sargrass): remove selected password exception -} - -void PasswordsExceptionsHandler::RemoveAllSavedPasswords(const Value* value) { - PasswordStore* store = GetPasswordStore(); - for (size_t i = 0; i < password_list_.size(); ++i) - store->RemoveLogin(*password_list_[i]); - STLDeleteElements(&password_list_); - SetPasswordList(); -} - -void PasswordsExceptionsHandler::RemoveAllPasswordsExceptions( - const Value* value) { - //TOD(sargrass): remove all password exception -} - void PasswordsExceptionsHandler::ShowSelectedPassword(const Value* value) { if (!value || !value->IsType(Value::TYPE_LIST)) { NOTREACHED(); diff --git a/chrome/browser/dom_ui/passwords_exceptions_handler.h b/chrome/browser/dom_ui/passwords_exceptions_handler.h index fba40dd..1738125 100644 --- a/chrome/browser/dom_ui/passwords_exceptions_handler.h +++ b/chrome/browser/dom_ui/passwords_exceptions_handler.h @@ -28,19 +28,9 @@ class PasswordsExceptionsHandler : public OptionsPageUIHandler { // Fired when user clicks 'show saved passwords' button in personal page. void LoadSavedPasswords(const Value* value); - // Remove a saved password. + // Remove an entry. // @param value the entry index to be removed. - void RemoveSavedPassword(const Value* value); - - // Remove an password exception. - // @param value the entry index to be removed. - void RemovePasswordsException(const Value* value); - - // Remove all saved passwords - void RemoveAllSavedPasswords(const Value* value); - - // Remove All password exceptions - void RemoveAllPasswordsExceptions(const Value* value); + void RemoveEntry(const Value* value); // Get password value for the selected entry. // @param value the selected entry index. diff --git a/chrome/browser/dom_ui/passwords_remove_all_handler.cc b/chrome/browser/dom_ui/passwords_remove_all_handler.cc deleted file mode 100644 index ecf15a6..0000000 --- a/chrome/browser/dom_ui/passwords_remove_all_handler.cc +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/dom_ui/passwords_remove_all_handler.h" - -#include "app/l10n_util.h" -#include "base/basictypes.h" -#include "base/values.h" -#include "base/callback.h" -#include "grit/chromium_strings.h" -#include "grit/generated_resources.h" -#include "chrome/browser/sync/profile_sync_service.h" -#include "chrome/browser/profile.h" -#include "chrome/browser/profile_manager.h" -#include "chrome/browser/dom_ui/passwords_exceptions_handler.h" - -PasswordsRemoveAllHandler::PasswordsRemoveAllHandler() { -} - -PasswordsRemoveAllHandler::~PasswordsRemoveAllHandler() { -} - -void PasswordsRemoveAllHandler::GetLocalizedValues( - DictionaryValue* localized_strings) { - DCHECK(localized_strings); - localized_strings->SetString("remove_all_explanation", - l10n_util::GetStringUTF16( - IDS_PASSWORDS_PAGE_VIEW_TEXT_DELETE_ALL_PASSWORDS)); - localized_strings->SetString("remove_all_title", - l10n_util::GetStringUTF16( - IDS_PASSWORDS_PAGE_VIEW_CAPTION_DELETE_ALL_PASSWORDS)); - localized_strings->SetString("remove_all_yes", - l10n_util::GetStringUTF16(IDS_CONFIRM_MESSAGEBOX_YES_BUTTON_LABEL)); - localized_strings->SetString("remove_all_no", - l10n_util::GetStringUTF16(IDS_CONFIRM_MESSAGEBOX_NO_BUTTON_LABEL)); -} - -void PasswordsRemoveAllHandler::RegisterMessages() { - DCHECK(dom_ui_); -} diff --git a/chrome/browser/dom_ui/passwords_remove_all_handler.h b/chrome/browser/dom_ui/passwords_remove_all_handler.h deleted file mode 100644 index 08795c1..0000000 --- a/chrome/browser/dom_ui/passwords_remove_all_handler.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_BROWSER_DOM_UI_PASSWORDS_REMOVE_ALL_HANDLER_H_ -#define CHROME_BROWSER_DOM_UI_PASSWORDS_REMOVE_ALL_HANDLER_H_ - -#include "chrome/browser/dom_ui/options_ui.h" - -// Chrome passwords and exceptions remove all overlay UI handler. -class PasswordsRemoveAllHandler : public OptionsPageUIHandler { - public: - PasswordsRemoveAllHandler(); - virtual ~PasswordsRemoveAllHandler(); - - // OptionsUIHandler implementation. - virtual void GetLocalizedValues(DictionaryValue* localized_strings); - - // DOMMessageHandler implementation. - virtual void RegisterMessages(); - - private: - DISALLOW_COPY_AND_ASSIGN(PasswordsRemoveAllHandler); -}; - -#endif // CHROME_BROWSER_DOM_UI_PASSWORDSREMOVE_ALL_HANDLER_H_ diff --git a/chrome/browser/resources/options.html b/chrome/browser/resources/options.html index 7b0818a..abb6e8d 100644 --- a/chrome/browser/resources/options.html +++ b/chrome/browser/resources/options.html @@ -56,7 +56,6 @@ <script src="options/import_data_overlay.js"></script> <script src="options/passwords_exceptions.js"></script> <script src="options/passwords_exceptions_list.js"></script> -<script src="options/passwords_remove_all_overlay.js"></script> <script src="options/personal_options.js"></script> <script src="options/search_engine_manager.js"></script> <script src="options/search_engine_manager_engine_list.js"></script> @@ -78,7 +77,6 @@ var PersonalOptions = options.PersonalOptions; var Preferences = options.Preferences; var SearchEngineManager = options.SearchEngineManager; var StopSyncingOverlay = options.StopSyncingOverlay; -var PasswordsRemoveAllOverlay = options.PasswordsRemoveAllOverlay; /** * Window onload handler, sets up the page. @@ -104,7 +102,6 @@ function load() { OptionsPage.registerOverlay(FontSettingsOverlay.getInstance()); OptionsPage.registerOverlay(ImportDataOverlay.getInstance()); OptionsPage.registerOverlay(StopSyncingOverlay.getInstance()); - OptionsPage.registerOverlay(PasswordsRemoveAllOverlay.getInstance()); if (cr.isChromeOS) { OptionsPage.register(AccountsOptions.getInstance()); @@ -199,7 +196,6 @@ window.onpopstate = function(e) { <include src="options/font_settings_overlay.html"> <include src="options/import_data_overlay.html"> <include src="options/stop_syncing_overlay.html"> - <include src="options/passwords_remove_all_overlay.html"> <if expr="pp_ifdef('chromeos')"> <include src="options/chromeos_language_add_language_overlay.html"> </if> diff --git a/chrome/browser/resources/options/passwords_exceptions.html b/chrome/browser/resources/options/passwords_exceptions.html index c16d29b..fe7b7bd 100644 --- a/chrome/browser/resources/options/passwords_exceptions.html +++ b/chrome/browser/resources/options/passwords_exceptions.html @@ -17,7 +17,7 @@ <!-- Passwords tab contents --> <div id="passwordsTab" class="subpages-tab-contents"> <section> - <div id="passwordsArea" contentType="passwords"> + <div id="passwordsArea"> <list id="autofillableLoginsList"></list> </div> </section> @@ -26,8 +26,7 @@ <!-- Exceptions tab contents --> <div id="passwordsExceptionsTab" class="subpages-tab-contents"> <section> - <div id="passwordsExceptionsArea" contentType="passwordsExceptions"> - <list id="passwordsExceptionsList"></list> + <div id="passwordsExceptionsArea"> </div> </section> </div> diff --git a/chrome/browser/resources/options/passwords_exceptions.js b/chrome/browser/resources/options/passwords_exceptions.js index 87ac3bb..3a979be 100644 --- a/chrome/browser/resources/options/passwords_exceptions.js +++ b/chrome/browser/resources/options/passwords_exceptions.js @@ -28,11 +28,12 @@ cr.define('options', function() { initializePage: function() { OptionsPage.prototype.initializePage.call(this); - var areas = document.querySelectorAll( - '#passwordsExceptionsPage div[contentType]'); - for (var i = 0; i < areas.length; i++) { - options.passwordsExceptions.ListArea.decorate(areas[i]); - } + options.passwordsExceptions.ListArea.decorate($('passwordsArea')); + + // TODO(sargrass): Passwords filter page -------------------------- + + // TODO(sargrass): Exceptions filter page ------------------------- + }, setAutofillableLogins_: function(entries) { @@ -47,27 +48,8 @@ cr.define('options', function() { chrome.send('loadSavedPasswords'); }; - /** - * Call to remove a row. - * @param tab contentType of the tab currently on. - * @param rowIndex indicating the row to remove. - */ - PasswordsExceptions.removeEntry = function(tab, rowIndex) { - if(tab == 'passwords') - chrome.send('removeSavedPassword', [String(rowIndex)]); - else - chrome.send('removePasswordsException', [String(rowIndex)]); - }; - - /** - * Call to remove all saved passwords or passwords exceptions. - * @param tab contentType of the tab currently on. - */ - PasswordsExceptions.removeAll = function(tab) { - if(tab == 'passwords') - chrome.send('removeAllSavedPasswords'); - else - chrome.send('removeAllPasswordsExceptions') + PasswordsExceptions.removeAutofillable = function(index) { + chrome.send('removeAutofillable', [String(index)]); }; PasswordsExceptions.showSelectedPassword = function(index) { diff --git a/chrome/browser/resources/options/passwords_exceptions_list.js b/chrome/browser/resources/options/passwords_exceptions_list.js index ba0b9a7..8bf232e 100644 --- a/chrome/browser/resources/options/passwords_exceptions_list.js +++ b/chrome/browser/resources/options/passwords_exceptions_list.js @@ -10,14 +10,12 @@ cr.define('options.passwordsExceptions', function() { /** * Creates a new passwords list item. - * @param contentType passwords or passwordsExceptions * @param {Array} entry A pair of the form [url, username]. * @constructor * @extends {cr.ui.ListItem} */ - function PasswordsListItem(contentType, entry) { + function PasswordsListItem(entry) { var el = cr.doc.createElement('li'); - el.contentType = contentType; el.dataItem = entry; el.__proto__ = PasswordsListItem.prototype; el.decorate(); @@ -38,15 +36,14 @@ cr.define('options.passwordsExceptions', function() { var urlLabel = cr.doc.createElement('span'); urlLabel.textContent = this.url; this.appendChild(urlLabel); - this.urlLabel = urlLabel; - if (this.contentType == 'passwords') { - var usernameLabel = cr.doc.createElement('span'); - usernameLabel.textContent = this.username; - usernameLabel.className = 'passwordsUsername'; - this.appendChild(usernameLabel); - this.usernameLabel = usernameLabel; - } + var usernameLabel = cr.doc.createElement('span'); + usernameLabel.textContent = this.username; + usernameLabel.className = 'passwordsUsername'; + this.appendChild(usernameLabel); + + this.urlLabel = urlLabel; + this.usernameLabel = usernameLabel; }, /** @@ -65,15 +62,11 @@ cr.define('options.passwordsExceptions', function() { * @type {string} */ get username() { - if (this.contentType == 'passwords') - return this.dataItem[1]; - else - return undefined; - }, - set username(username) { - if (this.contentType == 'passwords') - this.dataItem[1] = username; - }, + return this.dataItem[1]; + }, + set username(username) { + this.dataItem[1] = username; + }, }; /** @@ -99,7 +92,7 @@ cr.define('options.passwordsExceptions', function() { * @param {Object} entry The element from the data model for this row. */ createItem: function(entry) { - return new PasswordsListItem(this.contentType, entry); + return new PasswordsListItem(entry); }, /** @@ -122,21 +115,12 @@ cr.define('options.passwordsExceptions', function() { */ removeSelectedRow: function() { var selectedIndex = this.selectionModel.selectedIndex; - PasswordsExceptions.removeEntry(this.contentType, selectedIndex); + PasswordsExceptions.removeAutofillable(selectedIndex); }, showSelectedPassword: function() { - if (this.contentType == 'passwords') { - var selectedIndex = this.selectionModel.selectedIndex; - PasswordsExceptions.showSelectedPassword(selectedIndex); - } - }, - - /** - * The length of the list. - */ - get length() { - return this.dataModel.length; + var selectedIndex = this.selectionModel.selectedIndex; + PasswordsExceptions.showSelectedPassword(selectedIndex); }, }; @@ -153,56 +137,37 @@ cr.define('options.passwordsExceptions', function() { PasswordsList.decorate(this.passwordsList); this.passwordsList.selectionModel.addEventListener( 'change', cr.bind(this.handleOnSelectionChange_, this)); - this.passwordsList.dataModel.addEventListener( - 'change', cr.bind(this.handleOnDataModelChange_, this)); var removeRow = cr.doc.createElement('button'); removeRow.textContent = templateData.passwordsRemoveButton; this.appendChild(removeRow); this.removeRow = removeRow; - var removeAll = cr.doc.createElement('button'); - removeAll.textContent = templateData.passwordsRemoveAllButton; - this.appendChild(removeAll); - this.removeAll = removeAll; + var showHidePassword = cr.doc.createElement('button'); + showHidePassword.textContent = templateData.passwordsShowButton; + this.appendChild(showHidePassword); + this.showHidePassword = showHidePassword; + this.showingPassword = false - if (this.contentType == 'passwords') { - var showHidePassword = cr.doc.createElement('button'); - showHidePassword.textContent = templateData.passwordsShowButton; - this.appendChild(showHidePassword); - this.showHidePassword = showHidePassword; - this.showingPassword = false - - var passwordLabel = cr.doc.createElement('span'); - this.appendChild(passwordLabel); - this.passwordLabel = passwordLabel; - } + var passwordLabel = cr.doc.createElement('span'); + this.appendChild(passwordLabel); + this.passwordLabel = passwordLabel; var self = this; removeRow.onclick = function(event) { self.passwordsList.removeSelectedRow(); }; - if (this.contentType == 'passwords') { - showHidePassword.onclick = function(event) { - if(self.showingPassword) { - self.passwordLabel.textContent = ""; - this.textContent = templateData.passwordsShowButton; - } else { - self.passwordsList.showSelectedPassword(); - this.textContent = templateData.passwordsHideButton; - } - self.showingPassword = !self.showingPassword; - }; - - removeAll.onclick = function(event) { - OptionsPage.showOverlay('passwordsRemoveAllOverlay'); - }; - } else { - removeAll.onclick = function(event) { - PasswordsExceptions.removeAll(this.contentType); - }; - } + showHidePassword.onclick = function(event) { + if(self.showingPassword) { + self.passwordLabel.textContent = ""; + this.textContent = templateData.passwordsShowButton; + } else { + self.passwordsList.showSelectedPassword(); + this.textContent = templateData.passwordsHideButton; + } + self.showingPassword = !self.showingPassword; + }; this.updateButtonSensitivity(); }, @@ -219,46 +184,29 @@ cr.define('options.passwordsExceptions', function() { }, displayReturnedPassword: function(password) { - if (this.contentType == 'passwords') { - this.passwordLabel.textContent = password; - } + this.passwordLabel.textContent = password; }, /** * Update the button's states */ updateButtonSensitivity: function() { - var selectionSize = this.passwordsList.selectedItems.length; + var selectionSize = autofillableLoginsList.selectedItems.length; this.removeRow.disabled = selectionSize == 0; - if (this.contentType == 'passwords') - this.showHidePassword.disabled = selectionSize == 0; + this.showHidePassword.disabled = selectionSize == 0; }, - updateRemoveAllSensitivity: function() { - this.removeAll.disabled = this.passwordsList.length == 0; - }, /** * Callback from selection model * @param {!cr.Event} ce Event with change info. * @private */ handleOnSelectionChange_: function(ce) { - if (this.contentType == 'passwords') { - this.passwordLabel.textContent = ""; - this.showHidePassword.textContent = templateData.passwordsShowButton; - this.showingPassword = false; - } + this.passwordLabel.textContent = ""; + this.showHidePassword.textContent = templateData.passwordsShowButton; + this.showingPassword = false; this.updateButtonSensitivity(); }, - - /** - * Callback from data model - * @param {!cr.Event} ce Event with change info. - * @private - */ - handleOnDataModelChange_: function(ce) { - this.updateRemoveAllSensitivity(); - }, }; return { diff --git a/chrome/browser/resources/options/passwords_remove_all_overlay.html b/chrome/browser/resources/options/passwords_remove_all_overlay.html deleted file mode 100644 index 4216612..0000000 --- a/chrome/browser/resources/options/passwords_remove_all_overlay.html +++ /dev/null @@ -1,7 +0,0 @@ -<div class="page hidden" id="passwordsRemoveAllOverlay"> - <h1 i18n-content="remove_all_title"></h1> - - <div i18n-content="remove_all_explanation"></div> - <button id="remove-all-cancel" i18n-content="remove_all_no"></button> - <button id="remove-all-confirm" i18n-content="remove_all_yes"></button> -</div> diff --git a/chrome/browser/resources/options/passwords_remove_all_overlay.js b/chrome/browser/resources/options/passwords_remove_all_overlay.js deleted file mode 100644 index 76d17ea..0000000 --- a/chrome/browser/resources/options/passwords_remove_all_overlay.js +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -cr.define('options', function() { - - var OptionsPage = options.OptionsPage; - - /** - * PasswordsRemoveAllOverlay class - * Encapsulated handling of the 'Remove All' overlay page. - * @class - */ - function PasswordsRemoveAllOverlay() { - OptionsPage.call(this, 'passwordsRemoveAllOverlay', - templateData.remove_all_title, - 'passwordsRemoveAllOverlay'); - } - - cr.addSingletonGetter(PasswordsRemoveAllOverlay); - - PasswordsRemoveAllOverlay.prototype = { - // Inherit StopSyncingOverlay from OptionsPage. - __proto__: OptionsPage.prototype, - - /** - * Initialize the page. - */ - initializePage: function() { - // Call base class implementation to starts preference initialization. - OptionsPage.prototype.initializePage.call(this); - - $('remove-all-cancel').onclick = function(e) { - OptionsPage.clearOverlays(); - } - - $('remove-all-confirm').onclick = function(e) { - PasswordsExceptions.removeAll('passwords'); - OptionsPage.clearOverlays(); - } - } - }; - - // Export - return { - PasswordsRemoveAllOverlay: PasswordsRemoveAllOverlay - }; - -}); - diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 68ce2f8..e8e8ca4 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -1168,8 +1168,6 @@ 'browser/dom_ui/font_settings_utils_win.cc', 'browser/dom_ui/passwords_exceptions_handler.cc', 'browser/dom_ui/passwords_exceptions_handler.h', - 'browser/dom_ui/passwords_remove_all_handler.cc', - 'browser/dom_ui/passwords_remove_all_handler.h', 'browser/dom_ui/personal_options_handler.cc', 'browser/dom_ui/personal_options_handler.h', 'browser/dom_ui/sync_options_handler.cc', |