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_EXTENSIONS_EXTENSION_INFOBAR_CONTROLLER_H_
6#define CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_INFOBAR_CONTROLLER_H_
7#pragma once
8
9#import "chrome/browser/ui/cocoa/infobars/infobar_controller.h"
10
11#import <Cocoa/Cocoa.h>
12
13#import "base/memory/scoped_nsobject.h"
14#include "base/memory/scoped_ptr.h"
15
16@class ExtensionActionContextMenu;
17class ExtensionInfoBarDelegate;
18class InfobarBridge;
19@class MenuButton;
20
21@interface ExtensionInfoBarController : InfoBarController {
22  // The native extension view retrieved from the extension host. Weak.
23  NSView* extensionView_;
24
25  // The window containing this InfoBar. Weak.
26  NSWindow* window_;
27
28  // The InfoBar's button with the Extension's icon that launches the context
29  // menu.
30  scoped_nsobject<MenuButton> dropdownButton_;
31
32  // The context menu that pops up when the left button is clicked.
33  scoped_nsobject<ExtensionActionContextMenu> contextMenu_;
34
35  // Helper class to bridge C++ and ObjC functionality together for the infobar.
36  scoped_ptr<InfobarBridge> bridge_;
37}
38
39@end
40
41#endif  // CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_INFOBAR_CONTROLLER_H_
42