| 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 #include "chrome/browser/extensions/extension_action_manager.h" | 5 #include "chrome/browser/extensions/extension_action_manager.h" |
| 6 | 6 |
| 7 #include "chrome/browser/extensions/extension_action.h" | 7 #include "chrome/browser/extensions/extension_action.h" |
| 8 #include "chrome/browser/extensions/extension_system.h" | 8 #include "chrome/browser/extensions/extension_system.h" |
| 9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
| 10 #include "chrome/browser/profiles/profile_dependency_manager.h" | 10 #include "chrome/browser/profiles/profile_dependency_manager.h" |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 if (it != map->end()) | 102 if (it != map->end()) |
| 103 return it->second.get(); | 103 return it->second.get(); |
| 104 if (!action_info) | 104 if (!action_info) |
| 105 return NULL; | 105 return NULL; |
| 106 linked_ptr<ExtensionAction> action(new ExtensionAction( | 106 linked_ptr<ExtensionAction> action(new ExtensionAction( |
| 107 extension_id, action_type, *action_info)); | 107 extension_id, action_type, *action_info)); |
| 108 (*map)[extension_id] = action; | 108 (*map)[extension_id] = action; |
| 109 return action.get(); | 109 return action.get(); |
| 110 } | 110 } |
| 111 | 111 |
| 112 } | 112 } // namespace |
| 113 | 113 |
| 114 ExtensionAction* ExtensionActionManager::GetPageAction( | 114 ExtensionAction* ExtensionActionManager::GetPageAction( |
| 115 const extensions::Extension& extension) const { | 115 const extensions::Extension& extension) const { |
| 116 // The action box changes the meaning of the page action area, so we | 116 // The action box changes the meaning of the page action area, so we |
| 117 // need to convert page actions into browser actions. | 117 // need to convert page actions into browser actions. |
| 118 if (FeatureSwitch::script_badges()->IsEnabled()) | 118 if (FeatureSwitch::script_badges()->IsEnabled()) |
| 119 return NULL; | 119 return NULL; |
| 120 return GetOrCreateOrNull(&page_actions_, extension.id(), | 120 return GetOrCreateOrNull(&page_actions_, extension.id(), |
| 121 Extension::ActionInfo::TYPE_PAGE, | 121 Extension::ActionInfo::TYPE_PAGE, |
| 122 extension.page_action_info()); | 122 extension.page_action_info()); |
| 123 } | 123 } |
| 124 | 124 |
| 125 ExtensionAction* ExtensionActionManager::GetBrowserAction( | 125 ExtensionAction* ExtensionActionManager::GetBrowserAction( |
| 126 const extensions::Extension& extension) const { | 126 const extensions::Extension& extension) const { |
| 127 const Extension::ActionInfo* action_info = extension.browser_action_info(); | 127 const Extension::ActionInfo* action_info = extension.browser_action_info(); |
| 128 Extension::ActionInfo::Type action_type = Extension::ActionInfo::TYPE_BROWSER; | 128 Extension::ActionInfo::Type action_type = Extension::ActionInfo::TYPE_BROWSER; |
| 129 if (FeatureSwitch::script_badges()->IsEnabled() && | 129 if (FeatureSwitch::script_badges()->IsEnabled() && |
| 130 extension.page_action_info()) { | 130 extension.page_action_info()) { |
| 131 // The action box changes the meaning of the page action area, so we | 131 // The action box changes the meaning of the page action area, so we |
| 132 // need to convert page actions into browser actions. | 132 // need to convert page actions into browser actions. |
| 133 action_info = extension.page_action_info(); | 133 action_info = extension.page_action_info(); |
| 134 action_type = Extension::ActionInfo::TYPE_PAGE; | 134 action_type = Extension::ActionInfo::TYPE_PAGE; |
| 135 } | 135 } |
| 136 return GetOrCreateOrNull(&browser_actions_, extension.id(), | 136 return GetOrCreateOrNull(&browser_actions_, extension.id(), |
| 137 action_type, action_info); | 137 action_type, action_info); |
| 138 } | 138 } |
| 139 | 139 |
| 140 ExtensionAction* ExtensionActionManager::GetSystemIndicator( |
| 141 const extensions::Extension& extension) const { |
| 142 return GetOrCreateOrNull(&system_indicators_, extension.id(), |
| 143 Extension::ActionInfo::TYPE_SYSTEM_INDICATOR, |
| 144 extension.system_indicator_info()); |
| 145 } |
| 146 |
| 140 ExtensionAction* ExtensionActionManager::GetScriptBadge( | 147 ExtensionAction* ExtensionActionManager::GetScriptBadge( |
| 141 const extensions::Extension& extension) const { | 148 const extensions::Extension& extension) const { |
| 142 return GetOrCreateOrNull(&script_badges_, extension.id(), | 149 return GetOrCreateOrNull(&script_badges_, extension.id(), |
| 143 Extension::ActionInfo::TYPE_SCRIPT_BADGE, | 150 Extension::ActionInfo::TYPE_SCRIPT_BADGE, |
| 144 extension.script_badge_info()); | 151 extension.script_badge_info()); |
| 145 } | 152 } |
| 146 | 153 |
| 147 } | 154 } // namespace extensions |
| OLD | NEW |