Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(977)

Unified Diff: chrome/browser/extensions/extension_action.cc

Issue 186013003: Persist browseraction properties across restarts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Jeffrey's Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698