Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / ui / cocoa / autofill / autofill_notification_container.h
blob3758d43ae42b0e6c44ce1bf5528393dde79c214c
1 // Copyright 2013 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.
5 #ifndef CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_NOTIFICATION_CONTAINER_H_
6 #define CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_NOTIFICATION_CONTAINER_H_
8 #import <Cocoa/Cocoa.h>
10 #include <vector>
12 #include "base/mac/scoped_nsobject.h"
13 #include "base/memory/scoped_ptr.h"
14 #import "chrome/browser/ui/cocoa/autofill/autofill_layout.h"
16 @class AutofillArrowView;
18 namespace autofill {
19 class DialogNotification;
20 typedef std::vector<DialogNotification> DialogNotifications;
21 class AutofillDialogViewDelegate;
24 // Container for all notifications shown in requestAutocomplete dialog.
25 @interface AutofillNotificationContainer : NSViewController<AutofillLayout> {
26 @private
27 // Array of all AutofillNotificationControllers.
28 base::scoped_nsobject<NSMutableArray> notificationControllers_;
30 // View that the arrow is anchored to. Weak.
31 NSView* anchorView_;
33 // Main delegate for the dialog. Weak, owns dialog.
34 autofill::AutofillDialogViewDelegate* delegate_;
37 // Designated initializer.
38 - (id)initWithDelegate:(autofill::AutofillDialogViewDelegate*)delegate;
40 // Computes the views preferred size given a fixed width.
41 - (NSSize)preferredSizeForWidth:(CGFloat)width;
43 // Sets the notification contents.
44 - (void)setNotifications:(const autofill::DialogNotifications&) notifications;
46 // Sets a view that the arrow is anchored to - center of arrow will be aligned
47 // with center of anchorView. (horizontally only).
48 - (void)setAnchorView:(NSView*)anchorView;
50 @end
52 #endif // CHROME_BROWSER_UI_COCOA_AUTOFILL_AUTOFILL_NOTIFICATION_CONTAINER_H_