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

Side by Side Diff: chrome/common/extensions/extension.h

Issue 12253022: Manifest handler for all keys background-related. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 <algorithm> 8 #include <algorithm>
9 #include <iosfwd> 9 #include <iosfwd>
10 #include <map> 10 #include <map>
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 return converted_from_user_script_; 501 return converted_from_user_script_;
502 } 502 }
503 const UserScriptList& content_scripts() const { return content_scripts_; } 503 const UserScriptList& content_scripts() const { return content_scripts_; }
504 const ActionInfo* system_indicator_info() const { 504 const ActionInfo* system_indicator_info() const {
505 return system_indicator_info_.get(); 505 return system_indicator_info_.get();
506 } 506 }
507 const std::vector<PluginInfo>& plugins() const { return plugins_; } 507 const std::vector<PluginInfo>& plugins() const { return plugins_; }
508 const std::vector<NaClModuleInfo>& nacl_modules() const { 508 const std::vector<NaClModuleInfo>& nacl_modules() const {
509 return nacl_modules_; 509 return nacl_modules_;
510 } 510 }
511 bool has_background_page() const {
512 return background_url_.is_valid() || !background_scripts_.empty();
513 }
514 bool allow_background_js_access() const {
515 return allow_background_js_access_;
516 }
517 const std::vector<std::string>& background_scripts() const {
518 return background_scripts_;
519 }
520 bool has_persistent_background_page() const {
521 return has_background_page() && background_page_is_persistent_;
522 }
523 bool has_lazy_background_page() const {
524 return has_background_page() && !background_page_is_persistent_;
525 }
526 const PermissionSet* optional_permission_set() const { 511 const PermissionSet* optional_permission_set() const {
527 return optional_permission_set_.get(); 512 return optional_permission_set_.get();
528 } 513 }
529 const PermissionSet* required_permission_set() const { 514 const PermissionSet* required_permission_set() const {
530 return required_permission_set_.get(); 515 return required_permission_set_.get();
531 } 516 }
532 // Returns the temporary APIPermissionSet used in initialization. 517 // Returns the temporary APIPermissionSet used in initialization.
533 // (NULL after initialization is completed.) 518 // (NULL after initialization is completed.)
534 APIPermissionSet* initial_api_permissions() { 519 APIPermissionSet* initial_api_permissions() {
535 return initial_api_permissions_.get(); 520 return initial_api_permissions_.get();
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 564
580 // Content Security Policy! 565 // Content Security Policy!
581 const std::string& content_security_policy() const { 566 const std::string& content_security_policy() const {
582 return content_security_policy_; 567 return content_security_policy_;
583 } 568 }
584 569
585 // Content pack related. 570 // Content pack related.
586 bool is_content_pack() const; 571 bool is_content_pack() const;
587 ExtensionResource GetContentPackSiteList() const; 572 ExtensionResource GetContentPackSiteList() const;
588 573
589 GURL GetBackgroundURL() const;
590
591 private: 574 private:
592 friend class base::RefCountedThreadSafe<Extension>; 575 friend class base::RefCountedThreadSafe<Extension>;
593 576
594 class RuntimeData { 577 class RuntimeData {
595 public: 578 public:
596 RuntimeData(); 579 RuntimeData();
597 explicit RuntimeData(const PermissionSet* active); 580 explicit RuntimeData(const PermissionSet* active);
598 ~RuntimeData(); 581 ~RuntimeData();
599 582
600 void SetActivePermissions(const PermissionSet* active); 583 void SetActivePermissions(const PermissionSet* active);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
665 bool LoadSharedFeatures(string16* error); 648 bool LoadSharedFeatures(string16* error);
666 bool LoadDescription(string16* error); 649 bool LoadDescription(string16* error);
667 bool LoadManifestVersion(string16* error); 650 bool LoadManifestVersion(string16* error);
668 bool LoadIcons(string16* error); 651 bool LoadIcons(string16* error);
669 bool LoadPlugins(string16* error); 652 bool LoadPlugins(string16* error);
670 bool LoadNaClModules(string16* error); 653 bool LoadNaClModules(string16* error);
671 bool LoadSandboxedPages(string16* error); 654 bool LoadSandboxedPages(string16* error);
672 // Must be called after LoadPlugins(). 655 // Must be called after LoadPlugins().
673 bool LoadRequirements(string16* error); 656 bool LoadRequirements(string16* error);
674 bool LoadOfflineEnabled(string16* error); 657 bool LoadOfflineEnabled(string16* error);
675 bool LoadBackgroundScripts(string16* error);
676 bool LoadBackgroundScripts(const std::string& key, string16* error);
677 bool LoadBackgroundPage(string16* error);
678 bool LoadBackgroundPage(const std::string& key,
679 string16* error);
680 bool LoadBackgroundPersistent(string16* error);
681 bool LoadBackgroundAllowJSAccess(string16* error);
682 bool LoadExtensionFeatures(string16* error); 658 bool LoadExtensionFeatures(string16* error);
683 bool LoadContentScripts(string16* error); 659 bool LoadContentScripts(string16* error);
684 bool LoadBrowserAction(string16* error); 660 bool LoadBrowserAction(string16* error);
685 bool LoadSystemIndicator(string16* error); 661 bool LoadSystemIndicator(string16* error);
686 bool LoadTextToSpeechVoices(string16* error); 662 bool LoadTextToSpeechVoices(string16* error);
687 bool LoadIncognitoMode(string16* error); 663 bool LoadIncognitoMode(string16* error);
688 bool LoadContentSecurityPolicy(string16* error); 664 bool LoadContentSecurityPolicy(string16* error);
689 bool LoadManagedModeFeatures(string16* error); 665 bool LoadManagedModeFeatures(string16* error);
690 bool LoadManagedModeSites( 666 bool LoadManagedModeSites(
691 const base::DictionaryValue* content_pack_value, 667 const base::DictionaryValue* content_pack_value,
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
816 792
817 // Optional list of extension pages that are sandboxed (served from a unique 793 // Optional list of extension pages that are sandboxed (served from a unique
818 // origin with a different Content Security Policy). 794 // origin with a different Content Security Policy).
819 URLPatternSet sandboxed_pages_; 795 URLPatternSet sandboxed_pages_;
820 796
821 // Content Security Policy that should be used to enforce the sandbox used 797 // Content Security Policy that should be used to enforce the sandbox used
822 // by sandboxed pages (guaranteed to have the "sandbox" directive without the 798 // by sandboxed pages (guaranteed to have the "sandbox" directive without the
823 // "allow-same-origin" token). 799 // "allow-same-origin" token).
824 std::string sandboxed_pages_content_security_policy_; 800 std::string sandboxed_pages_content_security_policy_;
825 801
826 // Optional URL to a master page of which a single instance should be always
827 // loaded in the background.
828 GURL background_url_;
829
830 // Optional list of scripts to use to generate a background page. If this is
831 // present, background_url_ will be empty and generated by GetBackgroundURL().
832 std::vector<std::string> background_scripts_;
833
834 // True if the background page should stay loaded forever; false if it should
835 // load on-demand (when it needs to handle an event). Defaults to true.
836 bool background_page_is_persistent_;
837
838 // True if the background page can be scripted by pages of the app or
839 // extension, in which case all such pages must run in the same process.
840 // False if such pages are not permitted to script the background page,
841 // allowing them to run in different processes.
842 bool allow_background_js_access_;
843
844 // The public key used to sign the contents of the crx package. 802 // The public key used to sign the contents of the crx package.
845 std::string public_key_; 803 std::string public_key_;
846 804
847 // A file containing a list of sites for Managed Mode. 805 // A file containing a list of sites for Managed Mode.
848 base::FilePath content_pack_site_list_; 806 base::FilePath content_pack_site_list_;
849 807
850 // The manifest from which this extension was created. 808 // The manifest from which this extension was created.
851 scoped_ptr<Manifest> manifest_; 809 scoped_ptr<Manifest> manifest_;
852 810
853 // Stored parsed manifest data. 811 // Stored parsed manifest data.
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
961 919
962 UpdatedExtensionPermissionsInfo( 920 UpdatedExtensionPermissionsInfo(
963 const Extension* extension, 921 const Extension* extension,
964 const PermissionSet* permissions, 922 const PermissionSet* permissions,
965 Reason reason); 923 Reason reason);
966 }; 924 };
967 925
968 } // namespace extensions 926 } // namespace extensions
969 927
970 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_ 928 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698