OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_H_ | 5 #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_H_ |
6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_H_ | 6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "base/file_path.h" | 13 #include "base/file_path.h" |
14 #include "base/scoped_ptr.h" | 14 #include "base/scoped_ptr.h" |
15 #include "base/values.h" | 15 #include "base/values.h" |
16 #include "base/version.h" | 16 #include "base/version.h" |
| 17 #include "chrome/browser/extensions/extension_message_bundle.h" |
| 18 #include "chrome/browser/extensions/user_script_master.h" |
17 #include "chrome/common/extensions/user_script.h" | 19 #include "chrome/common/extensions/user_script.h" |
18 #include "chrome/browser/extensions/user_script_master.h" | |
19 #include "chrome/common/extensions/url_pattern.h" | 20 #include "chrome/common/extensions/url_pattern.h" |
20 #include "chrome/common/page_action.h" | 21 #include "chrome/common/page_action.h" |
21 #include "googleurl/src/gurl.h" | 22 #include "googleurl/src/gurl.h" |
22 | 23 |
23 // Represents a Chrome extension. | 24 // Represents a Chrome extension. |
24 class Extension { | 25 class Extension { |
25 public: | 26 public: |
26 typedef std::vector<URLPattern> HostPermissions; | 27 typedef std::vector<URLPattern> HostPermissions; |
27 | 28 |
28 // What an extension was loaded from. | 29 // What an extension was loaded from. |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
240 std::set<FilePath> GetBrowserImages(); | 241 std::set<FilePath> GetBrowserImages(); |
241 | 242 |
242 // Returns an absolute path to the given icon inside of the extension. Returns | 243 // Returns an absolute path to the given icon inside of the extension. Returns |
243 // an empty FilePath if the extension does not have that icon. | 244 // an empty FilePath if the extension does not have that icon. |
244 FilePath GetIconPath(Icons icon); | 245 FilePath GetIconPath(Icons icon); |
245 | 246 |
246 const DictionaryValue* manifest_value() const { | 247 const DictionaryValue* manifest_value() const { |
247 return manifest_value_.get(); | 248 return manifest_value_.get(); |
248 } | 249 } |
249 | 250 |
250 // Returns a list of all locales supported by the extension. | 251 // Getter/setter for l10n message bundle. |
251 const std::set<std::string>& supported_locales() const { | 252 const ExtensionMessageBundle* message_bundle() const { |
252 return supported_locales_; | 253 return message_bundle_.get(); |
253 } | 254 } |
254 // Add locale to the list of supported locales. | 255 void set_message_bundle(ExtensionMessageBundle* message_bundle) { |
255 void AddSupportedLocale(const std::string& supported_locale) { | 256 message_bundle_.reset(message_bundle); |
256 supported_locales_.insert(supported_locale); | |
257 } | |
258 | |
259 // Getter/setter for a default_locale_. | |
260 const std::string& default_locale() const { return default_locale_; } | |
261 void set_default_locale(const std::string& default_locale) { | |
262 default_locale_ = default_locale; | |
263 } | 257 } |
264 | 258 |
265 // Chrome URL overrides (see ExtensionOverrideUI). | 259 // Chrome URL overrides (see ExtensionOverrideUI). |
266 DictionaryValue* GetChromeURLOverrides() const { | 260 DictionaryValue* GetChromeURLOverrides() const { |
267 return chrome_url_overrides_.get(); | 261 return chrome_url_overrides_.get(); |
268 } | 262 } |
269 | 263 |
270 // Runtime data: | 264 // Runtime data: |
271 // Put dynamic data about the state of a running extension below. | 265 // Put dynamic data about the state of a running extension below. |
272 | 266 |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 | 368 |
375 // The paths to the icons the extension contains mapped by their width. | 369 // The paths to the icons the extension contains mapped by their width. |
376 std::map<int, std::string> icons_; | 370 std::map<int, std::string> icons_; |
377 | 371 |
378 // URL for fetching an update manifest | 372 // URL for fetching an update manifest |
379 GURL update_url_; | 373 GURL update_url_; |
380 | 374 |
381 // A copy of the manifest that this extension was created from. | 375 // A copy of the manifest that this extension was created from. |
382 scoped_ptr<DictionaryValue> manifest_value_; | 376 scoped_ptr<DictionaryValue> manifest_value_; |
383 | 377 |
384 // List of all locales extension supports. | 378 // Handles the l10n messages replacement and parsing. |
385 std::set<std::string> supported_locales_; | 379 scoped_ptr<ExtensionMessageBundle> message_bundle_; |
386 | |
387 // Default locale, used for fallback. | |
388 std::string default_locale_; | |
389 | 380 |
390 // A map of chrome:// hostnames (newtab, downloads, etc.) to Extension URLs | 381 // A map of chrome:// hostnames (newtab, downloads, etc.) to Extension URLs |
391 // which override the handling of those URLs. | 382 // which override the handling of those URLs. |
392 scoped_ptr<DictionaryValue> chrome_url_overrides_; | 383 scoped_ptr<DictionaryValue> chrome_url_overrides_; |
393 | 384 |
394 // Runtime data: | 385 // Runtime data: |
395 | 386 |
396 // True if the background page is ready. | 387 // True if the background page is ready. |
397 bool background_page_ready_; | 388 bool background_page_ready_; |
398 | 389 |
399 FRIEND_TEST(ExtensionTest, LoadPageActionHelper); | 390 FRIEND_TEST(ExtensionTest, LoadPageActionHelper); |
400 | 391 |
401 DISALLOW_COPY_AND_ASSIGN(Extension); | 392 DISALLOW_COPY_AND_ASSIGN(Extension); |
402 }; | 393 }; |
403 | 394 |
404 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_ | 395 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_ |
OLD | NEW |