Index: chrome/browser/extensions/extension_action.cc |
diff --git a/chrome/browser/extensions/extension_action.cc b/chrome/browser/extensions/extension_action.cc |
index f4f70471ac1cf073b5146f575f41e477a81a2946..3fbd085ce645fa768dbda640436edfd5782d89d8 100644 |
--- a/chrome/browser/extensions/extension_action.cc |
+++ b/chrome/browser/extensions/extension_action.cc |
@@ -51,17 +51,19 @@ class GetAttentionImageSource : public gfx::ImageSkiaSource { |
const gfx::ImageSkia icon_; |
}; |
+template <class T> |
+bool HasDefaultValue(const std::map<int, T>& map) { |
+ return map.find(ExtensionAction::kDefaultTabId) != map.end(); |
+} |
+ |
} // namespace |
const int ExtensionAction::kDefaultTabId = -1; |
-ExtensionAction::ExtensionAction( |
- const std::string& extension_id, |
- extensions::ActionInfo::Type action_type, |
- const extensions::ActionInfo& manifest_data) |
- : extension_id_(extension_id), |
- action_type_(action_type), |
- has_changed_(false) { |
+ExtensionAction::ExtensionAction(const std::string& extension_id, |
+ extensions::ActionInfo::Type action_type, |
+ const extensions::ActionInfo& manifest_data) |
+ : extension_id_(extension_id), action_type_(action_type) { |
// Page/script actions are hidden/disabled by default, and browser actions are |
// visible/enabled by default. |
SetIsVisible(kDefaultTabId, |
@@ -206,6 +208,30 @@ gfx::ImageSkia ExtensionAction::GetIconWithBadge( |
icon.size()); |
} |
+bool ExtensionAction::HasPopupUrl() const { |
+ return HasDefaultValue(popup_url_); |
+} |
+ |
+bool ExtensionAction::HasTitle() const { return HasDefaultValue(title_); } |
+ |
+bool ExtensionAction::HasBadgeText() const { |
+ return HasDefaultValue(badge_text_); |
+} |
+ |
+bool ExtensionAction::HasBadgeBackgroundColor() const { |
+ return HasDefaultValue(badge_background_color_); |
+} |
+ |
+bool ExtensionAction::HasBadgeTextColor() const { |
+ return HasDefaultValue(badge_text_color_); |
+} |
+ |
+bool ExtensionAction::HasIsVisible() const { |
+ return HasDefaultValue(is_visible_); |
+} |
+ |
+bool ExtensionAction::HasIcon() const { return HasDefaultValue(icon_); } |
+ |
// Determines which icon would be returned by |GetIcon|, and returns its width. |
int ExtensionAction::GetIconWidth(int tab_id) const { |
// If icon has been set, return its width. |