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