OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_MENU_MODEL_H_ | 5 #ifndef CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_MENU_MODEL_H_ |
6 #define CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_MENU_MODEL_H_ | 6 #define CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_MENU_MODEL_H_ |
7 | 7 |
8 #include "ui/base/models/simple_menu_model.h" | 8 #include "ui/base/models/simple_menu_model.h" |
9 #include "chrome/common/content_settings.h" | 9 #include "chrome/common/content_settings.h" |
10 #include "chrome/common/content_settings_types.h" | 10 #include "chrome/common/content_settings_types.h" |
| 11 #include "googleurl/src/gurl.h" |
11 | 12 |
12 class PermissionMenuModel : public ui::SimpleMenuModel, | 13 class PermissionMenuModel : public ui::SimpleMenuModel, |
13 public ui::SimpleMenuModel::Delegate { | 14 public ui::SimpleMenuModel::Delegate { |
14 public: | 15 public: |
15 enum CommandID { | 16 enum CommandID { |
16 COMMAND_SET_TO_DEFAULT, | 17 COMMAND_SET_TO_DEFAULT, |
17 COMMAND_SET_TO_ALLOW, | 18 COMMAND_SET_TO_ALLOW, |
18 COMMAND_SET_TO_BLOCK, | 19 COMMAND_SET_TO_BLOCK, |
19 }; | 20 }; |
20 | 21 |
21 class Delegate { | 22 class Delegate { |
22 public: | 23 public: |
23 // Executes the command with the given |command_id|. | 24 // Executes the command with the given |command_id|. |
24 virtual void ExecuteCommand(int command_id) = 0; | 25 virtual void ExecuteCommand(int command_id) = 0; |
25 // Returns true if the command with the given |command_id| should be | 26 // Returns true if the command with the given |command_id| should be |
26 // checked. | 27 // checked. |
27 virtual bool IsCommandIdChecked(int command_id) = 0; | 28 virtual bool IsCommandIdChecked(int command_id) = 0; |
28 }; | 29 }; |
29 | 30 |
30 PermissionMenuModel(Delegate* delegate, | 31 PermissionMenuModel(Delegate* delegate, |
| 32 const GURL& url, |
31 ContentSettingsType type, | 33 ContentSettingsType type, |
32 ContentSetting default_setting, | 34 ContentSetting default_setting, |
33 ContentSetting current_setting); | 35 ContentSetting current_setting); |
34 | 36 |
35 // Overridden from ui::SimpleMenuModel::Delegate: | 37 // Overridden from ui::SimpleMenuModel::Delegate: |
36 virtual bool IsCommandIdChecked(int command_id) const OVERRIDE; | 38 virtual bool IsCommandIdChecked(int command_id) const OVERRIDE; |
37 virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE; | 39 virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE; |
38 virtual bool GetAcceleratorForCommandId( | 40 virtual bool GetAcceleratorForCommandId( |
39 int command_id, | 41 int command_id, |
40 ui::Accelerator* accelerator) OVERRIDE; | 42 ui::Accelerator* accelerator) OVERRIDE; |
41 virtual void ExecuteCommand(int command_id) OVERRIDE; | 43 virtual void ExecuteCommand(int command_id) OVERRIDE; |
42 | 44 |
43 private: | 45 private: |
44 // The delegate of the |PermissionMenuModel|. |delegate_| can be NULL. | 46 // The delegate of the |PermissionMenuModel|. |delegate_| can be NULL. |
45 Delegate* delegate_; | 47 Delegate* delegate_; |
46 | 48 |
| 49 // The URL of the website for which to display site permissions. |
| 50 GURL site_url_; |
| 51 |
47 DISALLOW_COPY_AND_ASSIGN(PermissionMenuModel); | 52 DISALLOW_COPY_AND_ASSIGN(PermissionMenuModel); |
48 }; | 53 }; |
49 | 54 |
50 #endif // CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_MENU_MODEL_H_ | 55 #endif // CHROME_BROWSER_UI_WEBSITE_SETTINGS_PERMISSION_MENU_MODEL_H_ |
OLD | NEW |