1 // Copyright 2014 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_WEBSITE_SETTINGS_PERMISSION_SELECTOR_BUTTON_H_
6 #define CHROME_BROWSER_UI_COCOA_WEBSITE_SETTINGS_PERMISSION_SELECTOR_BUTTON_H_
8 #import <Cocoa/Cocoa.h>
10 #include "base/mac/scoped_nsobject.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "chrome/browser/ui/website_settings/permission_menu_model.h"
13 #include "components/content_settings/core/common/content_settings.h"
15 @
class MenuController
;
17 @interface PermissionSelectorButton
: NSPopUpButton
{
19 scoped_ptr
<PermissionMenuModel
> menuModel_
;
20 base::scoped_nsobject
<MenuController
> menuController_
;
23 // Designated initializer.
24 - (id
)initWithPermissionInfo
:
25 (const WebsiteSettingsUI::PermissionInfo
&)permissionInfo
26 forURL
:(const GURL
&)url
27 withCallback
:(PermissionMenuModel::ChangeCallback
)callback
;
29 // Returns the largest possible size given all of the items in the menu.
30 - (CGFloat
)maxTitleWidthForContentSettingsType
:(ContentSettingsType
)type
31 withDefaultSetting
:(ContentSetting
)defaultSetting
;
35 #endif // CHROME_BROWSER_UI_COCOA_WEBSITE_SETTINGS_PERMISSION_SELECTOR_BUTTON_H_