| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2010 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_CONTENT_SETTING_IMAGE_MODEL_H_ | |
| 6 #define CHROME_BROWSER_CONTENT_SETTING_IMAGE_MODEL_H_ | |
| 7 #pragma once | |
| 8 | |
| 9 #include <string> | |
| 10 | |
| 11 #include "chrome/common/content_settings_types.h" | |
| 12 | |
| 13 class TabContents; | |
| 14 | |
| 15 // This model provides data (icon ids and tooltip) for the content setting icons | |
| 16 // that are displayed in the location bar. | |
| 17 class ContentSettingImageModel { | |
| 18 public: | |
| 19 virtual ~ContentSettingImageModel() {} | |
| 20 | |
| 21 // Factory function. | |
| 22 static ContentSettingImageModel* CreateContentSettingImageModel( | |
| 23 ContentSettingsType content_settings_type); | |
| 24 | |
| 25 // Notifies this model that its setting might have changed and it may need to | |
| 26 // update its visibility, icon and tooltip. | |
| 27 virtual void UpdateFromTabContents(TabContents* tab_contents) = 0; | |
| 28 | |
| 29 ContentSettingsType get_content_settings_type() const { | |
| 30 return content_settings_type_; | |
| 31 } | |
| 32 bool is_visible() const { return is_visible_; } | |
| 33 int get_icon() const { return icon_; } | |
| 34 // Returns the resource ID of a string to show when the icon appears, or 0 if | |
| 35 // we don't wish to show anything. | |
| 36 int explanatory_string_id() const { return explanatory_string_id_; } | |
| 37 std::string get_tooltip() const { return tooltip_; } | |
| 38 | |
| 39 protected: | |
| 40 explicit ContentSettingImageModel(ContentSettingsType content_settings_type); | |
| 41 void set_visible(bool visible) { is_visible_ = visible; } | |
| 42 void set_icon(int icon) { icon_ = icon; } | |
| 43 void set_explanatory_string_id(int text_id) { | |
| 44 explanatory_string_id_ = text_id; | |
| 45 } | |
| 46 void set_tooltip(const std::string& tooltip) { tooltip_ = tooltip; } | |
| 47 | |
| 48 private: | |
| 49 const ContentSettingsType content_settings_type_; | |
| 50 bool is_visible_; | |
| 51 int icon_; | |
| 52 int explanatory_string_id_; | |
| 53 std::string tooltip_; | |
| 54 }; | |
| 55 | |
| 56 #endif // CHROME_BROWSER_CONTENT_SETTING_IMAGE_MODEL_H_ | |
| OLD | NEW |