Index: chrome/browser/ui/views/options/passwords_page_view.h |
diff --git a/chrome/browser/ui/views/options/passwords_page_view.h b/chrome/browser/ui/views/options/passwords_page_view.h |
deleted file mode 100644 |
index 76eed4ef13fae98d03b443631843f4f318adfc21..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/views/options/passwords_page_view.h |
+++ /dev/null |
@@ -1,201 +0,0 @@ |
-// Copyright (c) 2011 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_UI_VIEWS_OPTIONS_PASSWORDS_PAGE_VIEW_H_ |
-#define CHROME_BROWSER_UI_VIEWS_OPTIONS_PASSWORDS_PAGE_VIEW_H_ |
-#pragma once |
- |
-#include <vector> |
- |
-#include "base/compiler_specific.h" |
-#include "base/scoped_ptr.h" |
-#include "base/stl_util-inl.h" |
-#include "chrome/browser/password_manager/password_store.h" |
-#include "chrome/browser/profiles/profile.h" |
-#include "chrome/browser/prefs/pref_member.h" |
-#include "chrome/browser/ui/views/confirm_message_box_dialog.h" |
-#include "chrome/browser/ui/views/options/options_page_view.h" |
-#include "ui/base/models/table_model.h" |
-#include "ui/base/text/text_elider.h" |
-#include "views/controls/button/native_button.h" |
-#include "views/controls/label.h" |
-#include "views/controls/table/table_view.h" |
-#include "views/controls/table/table_view_observer.h" |
-#include "views/window/dialog_delegate.h" |
-#include "views/window/window.h" |
-#include "webkit/glue/password_form.h" |
- |
-/////////////////////////////////////////////////////////////////////////////// |
-// PasswordTableModelObserver |
-// An observer interface to notify change of row count in a table model. This |
-// allow the container view of TableView(i.e. PasswordsPageView and |
-// ExceptionsPageView), to be notified of row count changes directly |
-// from the TableModel. We have two different observers in |
-// PasswordsTableModel, namely TableModelObserver and |
-// PasswordsTableModelObserver, rather than adding this event to |
-// TableModelObserver because only container view of |
-// PasswordsTableModel cares about this event. |
-class PasswordsTableModelObserver { |
- public: |
- virtual void OnRowCountChanged(size_t rows) = 0; |
-}; |
- |
-/////////////////////////////////////////////////////////////////////////////// |
-// MultiLabelButtons |
-// A button that can have 2 different labels set on it and for which the |
-// preferred size is the size of the widest string. |
-class MultiLabelButtons : public views::NativeButton { |
- public: |
- MultiLabelButtons(views::ButtonListener* listener, |
- const std::wstring& label, |
- const std::wstring& alt_label); |
- |
- virtual gfx::Size GetPreferredSize(); |
- |
- private: |
- std::wstring label_; |
- std::wstring alt_label_; |
- gfx::Size pref_size_; |
- |
- DISALLOW_COPY_AND_ASSIGN(MultiLabelButtons); |
-}; |
- |
-/////////////////////////////////////////////////////////////////////////////// |
-// PasswordsTableModel |
-class PasswordsTableModel : public TableModel, |
- public PasswordStoreConsumer { |
- public: |
- explicit PasswordsTableModel(Profile* profile); |
- virtual ~PasswordsTableModel(); |
- |
- // TableModel methods. |
- virtual int RowCount() OVERRIDE; |
- virtual string16 GetText(int row, int column) OVERRIDE; |
- virtual int CompareValues(int row1, int row2, int column_id) OVERRIDE; |
- virtual void SetObserver(ui::TableModelObserver* observer) OVERRIDE; |
- |
- // Delete the PasswordForm at specified row from the database (and remove |
- // from view). |
- void ForgetAndRemoveSignon(int row); |
- |
- // Delete all saved signons for the active profile (via web data service), |
- // and clear the view. |
- void ForgetAndRemoveAllSignons(); |
- |
- // PasswordStoreConsumer implementation. |
- virtual void OnPasswordStoreRequestDone( |
- int handle, const std::vector<webkit_glue::PasswordForm*>& result); |
- |
- // Request saved logins data. |
- void GetAllSavedLoginsForProfile(); |
- |
- // Return the PasswordForm at the specified index. |
- webkit_glue::PasswordForm* GetPasswordFormAt(int row); |
- |
- // Set the observer who concerns about how many rows are in the table. |
- void set_row_count_observer(PasswordsTableModelObserver* observer) { |
- row_count_observer_ = observer; |
- } |
- |
- protected: |
- // Wraps the PasswordForm from the database and caches the display URL for |
- // quick sorting. |
- struct PasswordRow { |
- PasswordRow(const ui::SortedDisplayURL& url, |
- webkit_glue::PasswordForm* password_form) |
- : display_url(url), form(password_form) { |
- } |
- |
- // Contains the URL that is displayed along with the |
- ui::SortedDisplayURL display_url; |
- |
- // The underlying PasswordForm. We own this. |
- scoped_ptr<webkit_glue::PasswordForm> form; |
- }; |
- |
- // The password store associated with the currently active profile. |
- PasswordStore* password_store() { |
- return profile_->GetPasswordStore(Profile::EXPLICIT_ACCESS); |
- } |
- |
- // The TableView observing this model. |
- ui::TableModelObserver* observer_; |
- |
- // Dispatching row count events specific to this password manager table model |
- // to this observer. |
- PasswordsTableModelObserver* row_count_observer_; |
- |
- // Handle to any pending PasswordStore login lookup query. |
- int pending_login_query_; |
- |
- // The set of passwords we're showing. |
- typedef std::vector<PasswordRow*> PasswordRows; |
- PasswordRows saved_signons_; |
- STLElementDeleter<PasswordRows> saved_signons_cleanup_; |
- |
- Profile* profile_; |
- |
- private: |
- // Cancel any pending login query involving a callback. |
- void CancelLoginsQuery(); |
- |
- DISALLOW_COPY_AND_ASSIGN(PasswordsTableModel); |
-}; |
- |
-/////////////////////////////////////////////////////////////////////////////// |
-// PasswordsPageView |
-class PasswordsPageView : public OptionsPageView, |
- public views::TableViewObserver, |
- public views::ButtonListener, |
- public PasswordsTableModelObserver, |
- public ConfirmMessageBoxObserver { |
- public: |
- explicit PasswordsPageView(Profile* profile); |
- virtual ~PasswordsPageView(); |
- |
- // views::TableViewObserverImplementation. |
- virtual void OnSelectionChanged(); |
- |
- // views::ButtonListener implementation. |
- virtual void ButtonPressed(views::Button* sender, const views::Event& event); |
- |
- // PasswordsTableModelObserver implementation. |
- virtual void OnRowCountChanged(size_t rows); |
- |
- // ConfirmMessageBoxObserver implementation. |
- virtual void OnConfirmMessageAccept(); |
- |
- protected: |
- virtual void InitControlLayout(); |
- |
- private: |
- // Helper to configure our buttons and labels. |
- void SetupButtonsAndLabels(); |
- |
- // Helper to configure our table view. |
- void SetupTable(); |
- |
- // Helper that hides the password. |
- void HidePassword(); |
- |
- // Handles changes to the observed preferences and updates the UI. |
- void NotifyPrefChanged(const std::string* pref_name); |
- |
- PasswordsTableModel table_model_; |
- views::TableView* table_view_; |
- |
- // The buttons and labels. |
- MultiLabelButtons show_button_; |
- views::NativeButton remove_button_; |
- views::NativeButton remove_all_button_; |
- views::Label password_label_; |
- webkit_glue::PasswordForm* current_selected_password_; |
- |
- // Tracks the preference that controls whether showing passwords is allowed. |
- BooleanPrefMember allow_show_passwords_; |
- |
- DISALLOW_COPY_AND_ASSIGN(PasswordsPageView); |
-}; |
- |
-#endif // CHROME_BROWSER_UI_VIEWS_OPTIONS_PASSWORDS_PAGE_VIEW_H_ |