| Index: chrome/browser/autofill/autofill_dialog_controller_mac.mm
|
| ===================================================================
|
| --- chrome/browser/autofill/autofill_dialog_controller_mac.mm (revision 40742)
|
| +++ chrome/browser/autofill/autofill_dialog_controller_mac.mm (working copy)
|
| @@ -13,6 +13,7 @@
|
| #import "chrome/browser/cocoa/disclosure_view_controller.h"
|
| #import "chrome/browser/cocoa/section_separator_view.h"
|
| #import "chrome/browser/cocoa/window_size_autosaver.h"
|
| +#include "chrome/browser/pref_service.h"
|
| #include "chrome/browser/profile.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "grit/generated_resources.h"
|
| @@ -24,13 +25,17 @@
|
|
|
| @implementation AutoFillDialogController
|
|
|
| +@synthesize auxiliaryEnabled = auxiliaryEnabled_;
|
| +
|
| + (void)showAutoFillDialogWithObserver:(AutoFillDialogObserver*)observer
|
| autoFillProfiles:(const std::vector<AutoFillProfile*>&)profiles
|
| - creditCards:(const std::vector<CreditCard*>&)creditCards {
|
| + creditCards:(const std::vector<CreditCard*>&)creditCards
|
| + profile:(Profile*)profile {
|
| AutoFillDialogController* controller =
|
| [AutoFillDialogController controllerWithObserver:observer
|
| - autoFillProfiles:profiles
|
| - creditCards:creditCards];
|
| + autoFillProfiles:profiles
|
| + creditCards:creditCards
|
| + profile:profile];
|
|
|
| // Only run modal dialog if it is not already being shown.
|
| if (![controller isWindowLoaded]) {
|
| @@ -78,6 +83,8 @@
|
| [creditCardFormViewController copyModelToCreditCard:&creditCards_[j]];
|
| j++;
|
| }
|
| + profile_->GetPrefs()->SetBoolean(prefs::kAutoFillAuxiliaryProfilesEnabled,
|
| + auxiliaryEnabled_);
|
| observer_->OnAutoFillDialogApply(&profiles_, &creditCards_);
|
| }
|
| [self closeDialog];
|
| @@ -221,13 +228,15 @@
|
| + (AutoFillDialogController*)controllerWithObserver:
|
| (AutoFillDialogObserver*)observer
|
| autoFillProfiles:(const std::vector<AutoFillProfile*>&)profiles
|
| - creditCards:(const std::vector<CreditCard*>&)creditCards {
|
| + creditCards:(const std::vector<CreditCard*>&)creditCards
|
| + profile:(Profile*)profile {
|
|
|
| // Deallocation is done upon window close. See |windowWillClose:|.
|
| AutoFillDialogController* controller =
|
| [[self alloc] initWithObserver:observer
|
| autoFillProfiles:profiles
|
| - creditCards:creditCards];
|
| + creditCards:creditCards
|
| + profile:profile];
|
| return controller;
|
| }
|
|
|
| @@ -237,7 +246,9 @@
|
| // |creditCards| are non-retained immutable list of credit card info.
|
| - (id)initWithObserver:(AutoFillDialogObserver*)observer
|
| autoFillProfiles:(const std::vector<AutoFillProfile*>&)profiles
|
| - creditCards:(const std::vector<CreditCard*>&)creditCards {
|
| + creditCards:(const std::vector<CreditCard*>&)creditCards
|
| + profile:(Profile*)profile {
|
| + CHECK(profile);
|
| // Use initWithWindowNibPath: instead of initWithWindowNibName: so we
|
| // can override it in a unit test.
|
| NSString* nibpath = [mac_util::MainAppBundle()
|
| @@ -256,6 +267,12 @@
|
| for (j = creditCards.begin(); j != creditCards.end(); ++j)
|
| creditCards_.push_back(**j);
|
|
|
| + profile_ = profile;
|
| +
|
| + // Use property here to trigger KVO binding.
|
| + [self setAuxiliaryEnabled:profile_->GetPrefs()->GetBoolean(
|
| + prefs::kAutoFillAuxiliaryProfilesEnabled)];
|
| +
|
| // Initialize array of sub-controllers.
|
| addressFormViewControllers_.reset([[NSMutableArray array] retain]);
|
|
|
|
|