Upstream version 11.40.277.0
[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 InfoBar's button with the Extension's icon that launches the context
24   // menu.
25   base::scoped_nsobject<MenuButton> dropdownButton_;
26
27   // Controller for the context menu when the left button is clicked.
28   base::scoped_nsobject<
29       ExtensionActionContextMenuController> contextMenuController_;
30
31   // Helper class to bridge C++ and ObjC functionality together for the infobar.
32   scoped_ptr<InfobarBridge> bridge_;
33 }
34
35 @end
36
37 #endif  // CHROME_BROWSER_UI_COCOA_INFOBARS_EXTENSION_INFOBAR_CONTROLLER_H_