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/common/extensions/api/extension_action/action_info.h" | 5 #include "chrome/common/extensions/api/extension_action/action_info.h" |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/common/extensions/api/commands/commands_handler.h" | 9 #include "chrome/common/extensions/api/commands/commands_handler.h" |
10 #include "extensions/common/constants.h" | 10 #include "extensions/common/constants.h" |
(...skipping 27 matching lines...) Expand all Loading... |
38 | 38 |
39 static const ActionInfo* GetActionInfo(const Extension* extension, | 39 static const ActionInfo* GetActionInfo(const Extension* extension, |
40 const std::string& key) { | 40 const std::string& key) { |
41 ActionInfoData* data = static_cast<ActionInfoData*>( | 41 ActionInfoData* data = static_cast<ActionInfoData*>( |
42 extension->GetManifestData(key)); | 42 extension->GetManifestData(key)); |
43 return data ? data->action_info.get() : NULL; | 43 return data ? data->action_info.get() : NULL; |
44 } | 44 } |
45 | 45 |
46 } // namespace | 46 } // namespace |
47 | 47 |
48 ActionInfo::ActionInfo() { | 48 ActionInfo::ActionInfo() : open_in_sidebar(false) {} |
49 } | |
50 | 49 |
51 ActionInfo::~ActionInfo() { | 50 ActionInfo::~ActionInfo() { |
52 } | 51 } |
53 | 52 |
54 // static | 53 // static |
55 scoped_ptr<ActionInfo> ActionInfo::Load(const Extension* extension, | 54 scoped_ptr<ActionInfo> ActionInfo::Load(const Extension* extension, |
56 const base::DictionaryValue* dict, | 55 const base::DictionaryValue* dict, |
57 base::string16* error) { | 56 base::string16* error) { |
58 scoped_ptr<ActionInfo> result(new ActionInfo()); | 57 scoped_ptr<ActionInfo> result(new ActionInfo()); |
59 | 58 |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 *error = ErrorUtils::FormatErrorMessageUTF16( | 174 *error = ErrorUtils::FormatErrorMessageUTF16( |
176 errors::kInvalidPageActionPopupPath, url_str); | 175 errors::kInvalidPageActionPopupPath, url_str); |
177 return scoped_ptr<ActionInfo>(); | 176 return scoped_ptr<ActionInfo>(); |
178 } | 177 } |
179 } else { | 178 } else { |
180 DCHECK(result->default_popup_url.is_empty()) | 179 DCHECK(result->default_popup_url.is_empty()) |
181 << "Shouldn't be possible for the popup to be set."; | 180 << "Shouldn't be possible for the popup to be set."; |
182 } | 181 } |
183 } | 182 } |
184 | 183 |
| 184 // Should open popup in sidebar? |
| 185 dict->GetBoolean(keys::kPageActionOpenInSidebar, &result->open_in_sidebar); |
| 186 |
185 return result.Pass(); | 187 return result.Pass(); |
186 } | 188 } |
187 | 189 |
188 // static | 190 // static |
189 const ActionInfo* ActionInfo::GetBrowserActionInfo(const Extension* extension) { | 191 const ActionInfo* ActionInfo::GetBrowserActionInfo(const Extension* extension) { |
190 return GetActionInfo(extension, keys::kBrowserAction); | 192 return GetActionInfo(extension, keys::kBrowserAction); |
191 } | 193 } |
192 | 194 |
193 const ActionInfo* ActionInfo::GetPageActionInfo(const Extension* extension) { | 195 const ActionInfo* ActionInfo::GetPageActionInfo(const Extension* extension) { |
194 return GetActionInfo(extension, keys::kPageAction); | 196 return GetActionInfo(extension, keys::kPageAction); |
(...skipping 25 matching lines...) Expand all Loading... |
220 | 222 |
221 // static | 223 // static |
222 bool ActionInfo::IsVerboseInstallMessage(const Extension* extension) { | 224 bool ActionInfo::IsVerboseInstallMessage(const Extension* extension) { |
223 const ActionInfo* page_action_info = GetPageActionInfo(extension); | 225 const ActionInfo* page_action_info = GetPageActionInfo(extension); |
224 return page_action_info && | 226 return page_action_info && |
225 (CommandsInfo::GetPageActionCommand(extension) || | 227 (CommandsInfo::GetPageActionCommand(extension) || |
226 !page_action_info->default_icon.empty()); | 228 !page_action_info->default_icon.empty()); |
227 } | 229 } |
228 | 230 |
229 } // namespace extensions | 231 } // namespace extensions |
OLD | NEW |