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

Side by Side Diff: chrome/browser/views/autofill_profiles_view_win.h

Issue 3140024: Implement policy for disabling auto fill. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: regenerate XIBs in order to avoid maxID corruption. Created 10 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #ifndef CHROME_BROWSER_VIEWS_AUTOFILL_PROFILES_VIEW_WIN_H_ 5 #ifndef CHROME_BROWSER_VIEWS_AUTOFILL_PROFILES_VIEW_WIN_H_
6 #define CHROME_BROWSER_VIEWS_AUTOFILL_PROFILES_VIEW_WIN_H_ 6 #define CHROME_BROWSER_VIEWS_AUTOFILL_PROFILES_VIEW_WIN_H_
7 #pragma once 7 #pragma once
8 8
9 #include <list> 9 #include <list>
10 #include <vector> 10 #include <vector>
11 11
12 #include "app/combobox_model.h" 12 #include "app/combobox_model.h"
13 #include "app/table_model.h" 13 #include "app/table_model.h"
14 #include "base/string16.h" 14 #include "base/string16.h"
15 #include "chrome/browser/autofill/autofill_dialog.h" 15 #include "chrome/browser/autofill/autofill_dialog.h"
16 #include "chrome/browser/autofill/autofill_profile.h" 16 #include "chrome/browser/autofill/autofill_profile.h"
17 #include "chrome/browser/autofill/personal_data_manager.h" 17 #include "chrome/browser/autofill/personal_data_manager.h"
18 #include "chrome/browser/pref_member.h"
19 #include "chrome/common/notification_observer.h"
18 #include "views/controls/combobox/combobox.h" 20 #include "views/controls/combobox/combobox.h"
19 #include "views/controls/link.h" 21 #include "views/controls/link.h"
20 #include "views/controls/table/table_view_observer.h" 22 #include "views/controls/table/table_view_observer.h"
21 #include "views/controls/textfield/textfield.h" 23 #include "views/controls/textfield/textfield.h"
22 #include "views/focus/focus_manager.h" 24 #include "views/focus/focus_manager.h"
23 #include "views/view.h" 25 #include "views/view.h"
24 #include "views/window/dialog_delegate.h" 26 #include "views/window/dialog_delegate.h"
25 27
26 namespace views { 28 namespace views {
27 class Checkbox; 29 class Checkbox;
(...skipping 21 matching lines...) Expand all
49 // ScrollViewContents. 51 // ScrollViewContents.
50 // And there is a support data structure EditableSetInfo which encapsulates 52 // And there is a support data structure EditableSetInfo which encapsulates
51 // editable set (address or credit card) and allows for quick addition and 53 // editable set (address or credit card) and allows for quick addition and
52 // deletion. 54 // deletion.
53 class AutoFillProfilesView : public views::View, 55 class AutoFillProfilesView : public views::View,
54 public views::DialogDelegate, 56 public views::DialogDelegate,
55 public views::ButtonListener, 57 public views::ButtonListener,
56 public views::LinkController, 58 public views::LinkController,
57 public views::FocusChangeListener, 59 public views::FocusChangeListener,
58 public views::TableViewObserver, 60 public views::TableViewObserver,
59 public PersonalDataManager::Observer { 61 public PersonalDataManager::Observer,
62 public NotificationObserver {
60 public: 63 public:
61 virtual ~AutoFillProfilesView(); 64 virtual ~AutoFillProfilesView();
62 65
63 static int Show(gfx::NativeWindow parent, 66 static int Show(gfx::NativeWindow parent,
64 AutoFillDialogObserver* observer, 67 AutoFillDialogObserver* observer,
65 PersonalDataManager* personal_data_manager, 68 PersonalDataManager* personal_data_manager,
66 Profile* profile, 69 Profile* profile,
67 PrefService* preferences, 70 PrefService* preferences,
68 AutoFillProfile* imported_profile, 71 AutoFillProfile* imported_profile,
69 CreditCard* imported_credit_card); 72 CreditCard* imported_credit_card);
70 73
71 protected: 74 protected:
72 // Forward declaration. This struct defined further down. 75 // Forward declaration. This struct defined further down.
73 struct EditableSetInfo; 76 struct EditableSetInfo;
74 // Called when 'Add Address' (|group_type| is 77 // Called when 'Add Address' (|group_type| is
75 // ContentListTableModel::kAddressGroup) or 'Add Credit Card' (|group_type| is 78 // ContentListTableModel::kAddressGroup) or 'Add Credit Card' (|group_type| is
76 // ContentListTableModel::kCreditCardGroup) is clicked. 79 // ContentListTableModel::kCreditCardGroup) is clicked.
77 void AddClicked(int group_type); 80 void AddClicked(int group_type);
78 // Called when 'Edit...' is clicked. 81 // Called when 'Edit...' is clicked.
79 void EditClicked(); 82 void EditClicked();
80 // Called when 'Remove' is clicked. 83 // Called when 'Remove' is clicked.
81 void DeleteClicked(); 84 void DeleteClicked();
82 85
83 // Updates state of the buttons. 86 // Updates state of the buttons.
84 void UpdateButtonState(); 87 void UpdateWidgetState();
85 88
86 // Updates inferred labels. 89 // Updates inferred labels.
87 void UpdateProfileLabels(); 90 void UpdateProfileLabels();
88 91
89 // Updates the billing model. This is invoked any time the profile_set_ 92 // Updates the billing model. This is invoked any time the profile_set_
90 // changes. 93 // changes.
91 void UpdateBillingModel(); 94 void UpdateBillingModel();
92 95
93 // Following two functions are called from opened child dialog to 96 // Following two functions are called from opened child dialog to
94 // disable/enable buttons. 97 // disable/enable buttons.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 virtual void FocusWillChange(views::View* focused_before, 137 virtual void FocusWillChange(views::View* focused_before,
135 views::View* focused_now); 138 views::View* focused_now);
136 139
137 // views::TableViewObserver methods: 140 // views::TableViewObserver methods:
138 virtual void OnSelectionChanged(); 141 virtual void OnSelectionChanged();
139 virtual void OnDoubleClick(); 142 virtual void OnDoubleClick();
140 143
141 // PersonalDataManager::Observer methods: 144 // PersonalDataManager::Observer methods:
142 virtual void OnPersonalDataLoaded(); 145 virtual void OnPersonalDataLoaded();
143 146
147 // NotificationObserver methods:
148 virtual void Observe(NotificationType type,
149 const NotificationSource& source,
150 const NotificationDetails& details);
151
144 // Helper structure to keep info on one address or credit card. 152 // Helper structure to keep info on one address or credit card.
145 // Keeps info on one item in EditableSetViewContents. 153 // Keeps info on one item in EditableSetViewContents.
146 // Also keeps info on opened status. Allows to quickly add and delete items, 154 // Also keeps info on opened status. Allows to quickly add and delete items,
147 // and then rebuild EditableSetViewContents. 155 // and then rebuild EditableSetViewContents.
148 struct EditableSetInfo { 156 struct EditableSetInfo {
149 bool is_address; 157 bool is_address;
150 bool has_credit_card_number_been_edited; 158 bool has_credit_card_number_been_edited;
151 // If |is_address| is true |address| has some data and |credit_card| 159 // If |is_address| is true |address| has some data and |credit_card|
152 // is empty, and vice versa 160 // is empty, and vice versa
153 AutoFillProfile address; 161 AutoFillProfile address;
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 454
447 AutoFillDialogObserver* observer_; 455 AutoFillDialogObserver* observer_;
448 PersonalDataManager* personal_data_manager_; 456 PersonalDataManager* personal_data_manager_;
449 Profile* profile_; 457 Profile* profile_;
450 PrefService* preferences_; 458 PrefService* preferences_;
451 std::vector<EditableSetInfo> profiles_set_; 459 std::vector<EditableSetInfo> profiles_set_;
452 std::vector<EditableSetInfo> credit_card_set_; 460 std::vector<EditableSetInfo> credit_card_set_;
453 461
454 AddressComboBoxModel billing_model_; 462 AddressComboBoxModel billing_model_;
455 463
464 BooleanPrefMember enable_auto_fill_;
465
456 views::Checkbox* enable_auto_fill_button_; 466 views::Checkbox* enable_auto_fill_button_;
457 views::Button* add_address_button_; 467 views::Button* add_address_button_;
458 views::Button* add_credit_card_button_; 468 views::Button* add_credit_card_button_;
459 views::Button* edit_button_; 469 views::Button* edit_button_;
460 views::Button* remove_button_; 470 views::Button* remove_button_;
461 views::TableView* scroll_view_; 471 views::TableView* scroll_view_;
462 scoped_ptr<ContentListTableModel> table_model_; 472 scoped_ptr<ContentListTableModel> table_model_;
463 views::FocusManager* focus_manager_; 473 views::FocusManager* focus_manager_;
464 bool child_dialog_opened_; 474 bool child_dialog_opened_;
465 475
466 static AutoFillProfilesView* instance_; 476 static AutoFillProfilesView* instance_;
467 477
468 DISALLOW_COPY_AND_ASSIGN(AutoFillProfilesView); 478 DISALLOW_COPY_AND_ASSIGN(AutoFillProfilesView);
469 }; 479 };
470 480
471 #endif // CHROME_BROWSER_VIEWS_AUTOFILL_PROFILES_VIEW_WIN_H_ 481 #endif // CHROME_BROWSER_VIEWS_AUTOFILL_PROFILES_VIEW_WIN_H_
OLDNEW
« no previous file with comments | « chrome/browser/policy/configuration_policy_store.h ('k') | chrome/browser/views/autofill_profiles_view_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698