1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_UI_COCOA_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_PENDING_VIEW_CONTROLLER_H_ 6#define CHROME_BROWSER_UI_COCOA_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_PENDING_VIEW_CONTROLLER_H_ 7 8#import <Cocoa/Cocoa.h> 9 10#include "base/mac/scoped_nsobject.h" 11#import "chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_content_view_controller.h" 12 13namespace ui { 14class ComboboxModel; 15} // namespace ui 16 17@class BubbleCombobox; 18class ManagePasswordsBubbleModel; 19@class ManagePasswordItemViewController; 20 21// Handles user interaction with the password save bubble. 22@protocol ManagePasswordsBubblePendingViewDelegate< 23 ManagePasswordsBubbleContentViewDelegate> 24 25// The user chose to never save the password on a site that has other passwords 26// already saved. 27- (void)passwordShouldNeverBeSavedOnSiteWithExistingPasswords; 28 29@end 30 31// Manages the view that offers to save the user's password. 32@interface ManagePasswordsBubblePendingViewController 33 : ManagePasswordsBubbleContentViewController { 34 @private 35 ManagePasswordsBubbleModel* model_; // weak 36 id<ManagePasswordsBubblePendingViewDelegate> delegate_; // weak 37 base::scoped_nsobject<NSButton> saveButton_; 38 base::scoped_nsobject<BubbleCombobox> nopeButton_; 39 base::scoped_nsobject<ManagePasswordItemViewController> passwordItem_; 40} 41- (id)initWithModel:(ManagePasswordsBubbleModel*)model 42 delegate:(id<ManagePasswordsBubblePendingViewDelegate>)delegate; 43@end 44 45@interface ManagePasswordsBubblePendingViewController (Testing) 46@property(readonly) NSButton* saveButton; 47@property(readonly) BubbleCombobox* nopeButton; 48@end 49 50#endif // CHROME_BROWSER_UI_COCOA_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_PENDING_VIEW_CONTROLLER_H_ 51