| 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 |