OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
11 #include <string> | 11 #include <string> |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/file_path.h" | 14 #include "base/file_path.h" |
15 #include "base/gtest_prod_util.h" | 15 #include "base/gtest_prod_util.h" |
16 #include "base/memory/linked_ptr.h" | 16 #include "base/memory/linked_ptr.h" |
17 #include "base/memory/ref_counted.h" | 17 #include "base/memory/ref_counted.h" |
18 #include "base/memory/scoped_ptr.h" | 18 #include "base/memory/scoped_ptr.h" |
19 #include "base/synchronization/lock.h" | 19 #include "base/synchronization/lock.h" |
| 20 #include "chrome/browser/intents/web_intent_data.h" |
20 #include "chrome/common/extensions/extension_constants.h" | 21 #include "chrome/common/extensions/extension_constants.h" |
21 #include "chrome/common/extensions/extension_icon_set.h" | 22 #include "chrome/common/extensions/extension_icon_set.h" |
22 #include "chrome/common/extensions/extension_permission_set.h" | 23 #include "chrome/common/extensions/extension_permission_set.h" |
23 #include "chrome/common/extensions/user_script.h" | 24 #include "chrome/common/extensions/user_script.h" |
24 #include "chrome/common/extensions/url_pattern.h" | 25 #include "chrome/common/extensions/url_pattern.h" |
25 #include "chrome/common/extensions/url_pattern_set.h" | 26 #include "chrome/common/extensions/url_pattern_set.h" |
26 #include "googleurl/src/gurl.h" | 27 #include "googleurl/src/gurl.h" |
27 #include "ui/gfx/size.h" | 28 #include "ui/gfx/size.h" |
28 | 29 |
29 class ExtensionAction; | 30 class ExtensionAction; |
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
526 return manifest_value_.get(); | 527 return manifest_value_.get(); |
527 } | 528 } |
528 const std::string default_locale() const { return default_locale_; } | 529 const std::string default_locale() const { return default_locale_; } |
529 const URLOverrideMap& GetChromeURLOverrides() const { | 530 const URLOverrideMap& GetChromeURLOverrides() const { |
530 return chrome_url_overrides_; | 531 return chrome_url_overrides_; |
531 } | 532 } |
532 const std::string omnibox_keyword() const { return omnibox_keyword_; } | 533 const std::string omnibox_keyword() const { return omnibox_keyword_; } |
533 bool incognito_split_mode() const { return incognito_split_mode_; } | 534 bool incognito_split_mode() const { return incognito_split_mode_; } |
534 bool offline_enabled() const { return offline_enabled_; } | 535 bool offline_enabled() const { return offline_enabled_; } |
535 const std::vector<TtsVoice>& tts_voices() const { return tts_voices_; } | 536 const std::vector<TtsVoice>& tts_voices() const { return tts_voices_; } |
| 537 const std::vector<WebIntentData>& intents() const { return intents_; } |
536 | 538 |
537 bool wants_file_access() const { return wants_file_access_; } | 539 bool wants_file_access() const { return wants_file_access_; } |
538 int creation_flags() const { return creation_flags_; } | 540 int creation_flags() const { return creation_flags_; } |
539 bool from_webstore() const { return (creation_flags_ & FROM_WEBSTORE) != 0; } | 541 bool from_webstore() const { return (creation_flags_ & FROM_WEBSTORE) != 0; } |
540 bool from_bookmark() const { return (creation_flags_ & FROM_BOOKMARK) != 0; } | 542 bool from_bookmark() const { return (creation_flags_ & FROM_BOOKMARK) != 0; } |
541 | 543 |
542 const std::string& content_security_policy() const { | 544 const std::string& content_security_policy() const { |
543 return content_security_policy_; | 545 return content_security_policy_; |
544 } | 546 } |
545 | 547 |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
634 const char* list_error, | 636 const char* list_error, |
635 const char* value_error, | 637 const char* value_error, |
636 URLPattern::ParseOption parse_strictness, | 638 URLPattern::ParseOption parse_strictness, |
637 std::string* error); | 639 std::string* error); |
638 bool LoadLaunchContainer(const base::DictionaryValue* manifest, | 640 bool LoadLaunchContainer(const base::DictionaryValue* manifest, |
639 std::string* error); | 641 std::string* error); |
640 bool LoadLaunchURL(const base::DictionaryValue* manifest, | 642 bool LoadLaunchURL(const base::DictionaryValue* manifest, |
641 std::string* error); | 643 std::string* error); |
642 bool LoadAppIsolation(const base::DictionaryValue* manifest, | 644 bool LoadAppIsolation(const base::DictionaryValue* manifest, |
643 std::string* error); | 645 std::string* error); |
| 646 bool LoadWebIntents(const base::DictionaryValue& manifest, |
| 647 std::string* error); |
644 bool EnsureNotHybridApp(const base::DictionaryValue* manifest, | 648 bool EnsureNotHybridApp(const base::DictionaryValue* manifest, |
645 std::string* error); | 649 std::string* error); |
646 | 650 |
647 // Helper method to load an ExtensionAction from the page_action or | 651 // Helper method to load an ExtensionAction from the page_action or |
648 // browser_action entries in the manifest. | 652 // browser_action entries in the manifest. |
649 ExtensionAction* LoadExtensionActionHelper( | 653 ExtensionAction* LoadExtensionActionHelper( |
650 const base::DictionaryValue* extension_action, std::string* error); | 654 const base::DictionaryValue* extension_action, std::string* error); |
651 | 655 |
652 // Helper method to load an FileBrowserHandlerList from the manifest. | 656 // Helper method to load an FileBrowserHandlerList from the manifest. |
653 FileBrowserHandlerList* LoadFileBrowserHandlers( | 657 FileBrowserHandlerList* LoadFileBrowserHandlers( |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
836 // containers like panels and windows. | 840 // containers like panels and windows. |
837 int launch_width_; | 841 int launch_width_; |
838 int launch_height_; | 842 int launch_height_; |
839 | 843 |
840 // The Omnibox keyword for this extension, or empty if there is none. | 844 // The Omnibox keyword for this extension, or empty if there is none. |
841 std::string omnibox_keyword_; | 845 std::string omnibox_keyword_; |
842 | 846 |
843 // List of text-to-speech voices that this extension provides, if any. | 847 // List of text-to-speech voices that this extension provides, if any. |
844 std::vector<TtsVoice> tts_voices_; | 848 std::vector<TtsVoice> tts_voices_; |
845 | 849 |
| 850 // List of intents that this extension provides, if any. |
| 851 std::vector<WebIntentData> intents_; |
| 852 |
846 // Whether the extension has host permissions or user script patterns that | 853 // Whether the extension has host permissions or user script patterns that |
847 // imply access to file:/// scheme URLs (the user may not have actually | 854 // imply access to file:/// scheme URLs (the user may not have actually |
848 // granted it that access). | 855 // granted it that access). |
849 bool wants_file_access_; | 856 bool wants_file_access_; |
850 | 857 |
851 // The flags that were passed to InitFromValue. | 858 // The flags that were passed to InitFromValue. |
852 int creation_flags_; | 859 int creation_flags_; |
853 | 860 |
854 // The Content-Security-Policy for this extension. Extensions can use | 861 // The Content-Security-Policy for this extension. Extensions can use |
855 // Content-Security-Policies to mitigate cross-site scripting and other | 862 // Content-Security-Policies to mitigate cross-site scripting and other |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
931 // only contain the removed permissions. | 938 // only contain the removed permissions. |
932 const ExtensionPermissionSet* permissions; | 939 const ExtensionPermissionSet* permissions; |
933 | 940 |
934 UpdatedExtensionPermissionsInfo( | 941 UpdatedExtensionPermissionsInfo( |
935 const Extension* extension, | 942 const Extension* extension, |
936 const ExtensionPermissionSet* permissions, | 943 const ExtensionPermissionSet* permissions, |
937 Reason reason); | 944 Reason reason); |
938 }; | 945 }; |
939 | 946 |
940 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_ | 947 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_ |
OLD | NEW |