#ifndef CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_DIALOG_WINDOW_CONTROLLER_H_
#define CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_DIALOG_WINDOW_CONTROLLER_H_
#import <Cocoa/Cocoa.h>
#include "base/mac/scoped_nsobject.h"
#include "chrome/browser/ui/autofill/autofill_dialog_types.h"
#import "chrome/browser/ui/cocoa/autofill/autofill_layout.h"
@class AutofillHeader;
@class AutofillLoadingShieldController;
@class AutofillMainContainer;
@class AutofillOverlayController;
@class AutofillSignInContainer;
namespace content {
class NavigationController;
class WebContents;
}
namespace autofill {
class AutofillDialogCocoa;
}
@protocol AutofillDialogBridge
- (void)show;
- (void)hide;
- (void)updateNotificationArea;
- (void)updateAccountChooser;
- (void)updateButtonStrip;
- (void)updateSection:(autofill::DialogSection)section;
- (void)updateForErrors;
- (void)fillSection:(autofill::DialogSection)section
forType:(const autofill::ServerFieldType)type;
- (void)getInputs:(autofill::FieldValueMap*)outputs
forSection:(autofill::DialogSection)section;
- (NSString*)getCvc;
- (BOOL)saveDetailsLocally;
- (content::NavigationController*)showSignIn;
- (void)hideSignIn;
- (void)modelChanged;
- (void)updateErrorBubble;
- (void)onSignInResize:(NSSize)size;
- (void)validateSection:(autofill::DialogSection)section;
@end
@interface AutofillDialogWindowController :
NSWindowController<NSWindowDelegate, AutofillLayout, AutofillDialogBridge> {
@private
content::WebContents* webContents_;
autofill::AutofillDialogCocoa* dialog_;
base::scoped_nsobject<AutofillHeader> header_;
base::scoped_nsobject<AutofillMainContainer> mainContainer_;
base::scoped_nsobject<AutofillSignInContainer> signInContainer_;
base::scoped_nsobject<AutofillOverlayController> overlayController_;
base::scoped_nsobject<AutofillLoadingShieldController>
loadingShieldController_;
base::scoped_nsobject<NSTextView> fieldEditor_;
BOOL mainContainerBecameVisible_;
}
- (id)initWithWebContents:(content::WebContents*)webContents
dialog:(autofill::AutofillDialogCocoa*)dialog;
- (void)requestRelayout;
- (IBAction)accept:(id)sender;
- (IBAction)cancel:(id)sender;
@end
#endif