- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / infobars / extension_infobar_controller.h
1 // Copyright (c) 2011 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_INFOBARS_EXTENSION_INFOBAR_CONTROLLER_H_
6 #define CHROME_BROWSER_UI_COCOA_INFOBARS_EXTENSION_INFOBAR_CONTROLLER_H_
7
8 #import "chrome/browser/ui/cocoa/infobars/infobar_controller.h"
9
10 #import <Cocoa/Cocoa.h>
11
12 #import "base/mac/scoped_nsobject.h"
13 #include "base/memory/scoped_ptr.h"
14
15 @class ExtensionActionContextMenuController;
16 class InfobarBridge;
17 @class MenuButton;
18
19 @interface ExtensionInfoBarController : InfoBarController<NSMenuDelegate> {
20   // The native extension view retrieved from the extension host. Weak.
21   NSView* extensionView_;
22
23   // The window containing this InfoBar. Weak.
24   NSWindow* window_;
25
26   // The InfoBar's button with the Extension's icon that launches the context
27   // menu.
28   base::scoped_nsobject<MenuButton> dropdownButton_;
29
30   // Controller for the context menu when the left button is clicked.
31   base::scoped_nsobject<
32       ExtensionActionContextMenuController> contextMenuController_;
33
34   // Helper class to bridge C++ and ObjC functionality together for the infobar.
35   scoped_ptr<InfobarBridge> bridge_;
36 }
37
38 @end
39
40 #endif  // CHROME_BROWSER_UI_COCOA_INFOBARS_EXTENSION_INFOBAR_CONTROLLER_H_