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

Unified Diff: chrome/browser/ui/views/options/passwords_page_view.h

Issue 6670011: Options: Remove the GTK and Views native options code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 9 years, 9 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 side-by-side diff with in-line comments
Download patch
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_

Powered by Google App Engine
This is Rietveld 408576698