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.
5 #ifndef CHROME_BROWSER_UI_COCOA_INFOBARS_EXTENSION_INFOBAR_CONTROLLER_H_
6 #define CHROME_BROWSER_UI_COCOA_INFOBARS_EXTENSION_INFOBAR_CONTROLLER_H_
8 #import "chrome/browser/ui/cocoa/infobars/infobar_controller.h"
10 #import <Cocoa/Cocoa.h>
12 #import "base/mac/scoped_nsobject.h"
13 #include "base/memory/scoped_ptr.h"
15 @class ExtensionActionContextMenuController;
19 @interface ExtensionInfoBarController : InfoBarController<NSMenuDelegate> {
20 // The native extension view retrieved from the extension host. Weak.
21 NSView* extensionView_;
23 // The window containing this InfoBar. Weak.
26 // The InfoBar's button with the Extension's icon that launches the context
28 base::scoped_nsobject<MenuButton> dropdownButton_;
30 // Controller for the context menu when the left button is clicked.
31 base::scoped_nsobject<
32 ExtensionActionContextMenuController> contextMenuController_;
34 // Helper class to bridge C++ and ObjC functionality together for the infobar.
35 scoped_ptr<InfobarBridge> bridge_;
40 #endif // CHROME_BROWSER_UI_COCOA_INFOBARS_EXTENSION_INFOBAR_CONTROLLER_H_