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; 17 class ExtensionInfoBarDelegate; 18 class 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