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

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, 9 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
« no previous file with comments | « chrome/common/extensions/csp_handler.cc ('k') | chrome/common/extensions/extension.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 452 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 return converted_from_user_script_; 463 return converted_from_user_script_;
464 } 464 }
465 const UserScriptList& content_scripts() const { return content_scripts_; } 465 const UserScriptList& content_scripts() const { return content_scripts_; }
466 const ActionInfo* system_indicator_info() const { 466 const ActionInfo* system_indicator_info() const {
467 return system_indicator_info_.get(); 467 return system_indicator_info_.get();
468 } 468 }
469 const std::vector<PluginInfo>& plugins() const { return plugins_; } 469 const std::vector<PluginInfo>& plugins() const { return plugins_; }
470 const std::vector<NaClModuleInfo>& nacl_modules() const { 470 const std::vector<NaClModuleInfo>& nacl_modules() const {
471 return nacl_modules_; 471 return nacl_modules_;
472 } 472 }
473 bool has_background_page() const {
474 return background_url_.is_valid() || !background_scripts_.empty();
475 }
476 bool allow_background_js_access() const {
477 return allow_background_js_access_;
478 }
479 const std::vector<std::string>& background_scripts() const {
480 return background_scripts_;
481 }
482 bool has_persistent_background_page() const {
483 return has_background_page() && background_page_is_persistent_;
484 }
485 bool has_lazy_background_page() const {
486 return has_background_page() && !background_page_is_persistent_;
487 }
488 const PermissionSet* optional_permission_set() const { 473 const PermissionSet* optional_permission_set() const {
489 return optional_permission_set_.get(); 474 return optional_permission_set_.get();
490 } 475 }
491 const PermissionSet* required_permission_set() const { 476 const PermissionSet* required_permission_set() const {
492 return required_permission_set_.get(); 477 return required_permission_set_.get();
493 } 478 }
494 // Returns the temporary APIPermissionSet used in initialization. 479 // Returns the temporary APIPermissionSet used in initialization.
495 // (NULL after initialization is completed.) 480 // (NULL after initialization is completed.)
496 APIPermissionSet* initial_api_permissions() { 481 APIPermissionSet* initial_api_permissions() {
497 return initial_api_permissions_.get(); 482 return initial_api_permissions_.get();
498 } 483 }
484 const APIPermissionSet* initial_api_permissions() const {
485 return initial_api_permissions_.get();
486 }
499 // Appends |new_warning[s]| to install_warnings_. 487 // Appends |new_warning[s]| to install_warnings_.
500 void AddInstallWarning(const InstallWarning& new_warning); 488 void AddInstallWarning(const InstallWarning& new_warning);
501 void AddInstallWarnings(const std::vector<InstallWarning>& new_warnings); 489 void AddInstallWarnings(const std::vector<InstallWarning>& new_warnings);
502 const std::vector<InstallWarning>& install_warnings() const { 490 const std::vector<InstallWarning>& install_warnings() const {
503 return install_warnings_; 491 return install_warnings_;
504 } 492 }
505 const extensions::Manifest* manifest() const { 493 const extensions::Manifest* manifest() const {
506 return manifest_.get(); 494 return manifest_.get();
507 } 495 }
508 bool incognito_split_mode() const { return incognito_split_mode_; } 496 bool incognito_split_mode() const { return incognito_split_mode_; }
(...skipping 26 matching lines...) Expand all
535 int launch_width() const { return launch_width_; } 523 int launch_width() const { return launch_width_; }
536 int launch_height() const { return launch_height_; } 524 int launch_height() const { return launch_height_; }
537 525
538 // Theme-related. 526 // Theme-related.
539 bool is_theme() const; 527 bool is_theme() const;
540 528
541 // Content pack related. 529 // Content pack related.
542 bool is_content_pack() const; 530 bool is_content_pack() const;
543 ExtensionResource GetContentPackSiteList() const; 531 ExtensionResource GetContentPackSiteList() const;
544 532
545 GURL GetBackgroundURL() const;
546
547 private: 533 private:
548 friend class base::RefCountedThreadSafe<Extension>; 534 friend class base::RefCountedThreadSafe<Extension>;
549 535
550 class RuntimeData { 536 class RuntimeData {
551 public: 537 public:
552 RuntimeData(); 538 RuntimeData();
553 explicit RuntimeData(const PermissionSet* active); 539 explicit RuntimeData(const PermissionSet* active);
554 ~RuntimeData(); 540 ~RuntimeData();
555 541
556 void SetActivePermissions(const PermissionSet* active); 542 void SetActivePermissions(const PermissionSet* active);
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 606
621 bool LoadSharedFeatures(string16* error); 607 bool LoadSharedFeatures(string16* error);
622 bool LoadDescription(string16* error); 608 bool LoadDescription(string16* error);
623 bool LoadManifestVersion(string16* error); 609 bool LoadManifestVersion(string16* error);
624 bool LoadPlugins(string16* error); 610 bool LoadPlugins(string16* error);
625 bool LoadNaClModules(string16* error); 611 bool LoadNaClModules(string16* error);
626 bool LoadSandboxedPages(string16* error); 612 bool LoadSandboxedPages(string16* error);
627 // Must be called after LoadPlugins(). 613 // Must be called after LoadPlugins().
628 bool LoadRequirements(string16* error); 614 bool LoadRequirements(string16* error);
629 bool LoadOfflineEnabled(string16* error); 615 bool LoadOfflineEnabled(string16* error);
630 bool LoadBackgroundScripts(string16* error);
631 bool LoadBackgroundScripts(const std::string& key, string16* error);
632 bool LoadBackgroundPage(string16* error);
633 bool LoadBackgroundPage(const std::string& key,
634 string16* error);
635 bool LoadBackgroundPersistent(string16* error);
636 bool LoadBackgroundAllowJSAccess(string16* error);
637 bool LoadExtensionFeatures(string16* error); 616 bool LoadExtensionFeatures(string16* error);
638 bool LoadContentScripts(string16* error); 617 bool LoadContentScripts(string16* error);
639 bool LoadBrowserAction(string16* error); 618 bool LoadBrowserAction(string16* error);
640 bool LoadSystemIndicator(string16* error); 619 bool LoadSystemIndicator(string16* error);
641 bool LoadTextToSpeechVoices(string16* error); 620 bool LoadTextToSpeechVoices(string16* error);
642 bool LoadIncognitoMode(string16* error); 621 bool LoadIncognitoMode(string16* error);
643 bool LoadManagedModeFeatures(string16* error); 622 bool LoadManagedModeFeatures(string16* error);
644 bool LoadManagedModeSites( 623 bool LoadManagedModeSites(
645 const base::DictionaryValue* content_pack_value, 624 const base::DictionaryValue* content_pack_value,
646 string16* error); 625 string16* error);
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
767 746
768 // Optional list of extension pages that are sandboxed (served from a unique 747 // Optional list of extension pages that are sandboxed (served from a unique
769 // origin with a different Content Security Policy). 748 // origin with a different Content Security Policy).
770 URLPatternSet sandboxed_pages_; 749 URLPatternSet sandboxed_pages_;
771 750
772 // Content Security Policy that should be used to enforce the sandbox used 751 // Content Security Policy that should be used to enforce the sandbox used
773 // by sandboxed pages (guaranteed to have the "sandbox" directive without the 752 // by sandboxed pages (guaranteed to have the "sandbox" directive without the
774 // "allow-same-origin" token). 753 // "allow-same-origin" token).
775 std::string sandboxed_pages_content_security_policy_; 754 std::string sandboxed_pages_content_security_policy_;
776 755
777 // Optional URL to a master page of which a single instance should be always
778 // loaded in the background.
779 GURL background_url_;
780
781 // Optional list of scripts to use to generate a background page. If this is
782 // present, background_url_ will be empty and generated by GetBackgroundURL().
783 std::vector<std::string> background_scripts_;
784
785 // True if the background page should stay loaded forever; false if it should
786 // load on-demand (when it needs to handle an event). Defaults to true.
787 bool background_page_is_persistent_;
788
789 // True if the background page can be scripted by pages of the app or
790 // extension, in which case all such pages must run in the same process.
791 // False if such pages are not permitted to script the background page,
792 // allowing them to run in different processes.
793 bool allow_background_js_access_;
794
795 // The public key used to sign the contents of the crx package. 756 // The public key used to sign the contents of the crx package.
796 std::string public_key_; 757 std::string public_key_;
797 758
798 // A file containing a list of sites for Managed Mode. 759 // A file containing a list of sites for Managed Mode.
799 base::FilePath content_pack_site_list_; 760 base::FilePath content_pack_site_list_;
800 761
801 // The manifest from which this extension was created. 762 // The manifest from which this extension was created.
802 scoped_ptr<Manifest> manifest_; 763 scoped_ptr<Manifest> manifest_;
803 764
804 // Stored parsed manifest data. 765 // Stored parsed manifest data.
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
905 866
906 UpdatedExtensionPermissionsInfo( 867 UpdatedExtensionPermissionsInfo(
907 const Extension* extension, 868 const Extension* extension,
908 const PermissionSet* permissions, 869 const PermissionSet* permissions,
909 Reason reason); 870 Reason reason);
910 }; 871 };
911 872
912 } // namespace extensions 873 } // namespace extensions
913 874
914 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_ 875 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_
OLDNEW
« no previous file with comments | « chrome/common/extensions/csp_handler.cc ('k') | chrome/common/extensions/extension.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698