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

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

Issue 3522015: Implement new strategy for default apps (Closed)
Patch Set: all done Created 10 years, 2 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
« no previous file with comments | « chrome/common/chrome_switches.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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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>
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 std::vector<string16> GetPermissionMessages(); 151 std::vector<string16> GetPermissionMessages();
152 152
153 // Returns the distinct hosts that should be displayed in the install UI. This 153 // Returns the distinct hosts that should be displayed in the install UI. This
154 // discards some of the detail that is present in the manifest to make it as 154 // discards some of the detail that is present in the manifest to make it as
155 // easy as possible to process by users. In particular we disregard the scheme 155 // easy as possible to process by users. In particular we disregard the scheme
156 // and path components of URLPatterns and de-dupe the result. 156 // and path components of URLPatterns and de-dupe the result.
157 static std::vector<std::string> GetDistinctHosts( 157 static std::vector<std::string> GetDistinctHosts(
158 const URLPatternList& host_patterns); 158 const URLPatternList& host_patterns);
159 std::vector<std::string> GetDistinctHosts(); 159 std::vector<std::string> GetDistinctHosts();
160 160
161 bool apps_enabled() const { return apps_enabled_; }
162 void set_apps_enabled(bool val) { apps_enabled_ = val; }
163
164 // Icon sizes used by the extension system. 161 // Icon sizes used by the extension system.
165 static const int kIconSizes[]; 162 static const int kIconSizes[];
166 163
167 // Max size (both dimensions) for browser and page actions. 164 // Max size (both dimensions) for browser and page actions.
168 static const int kPageActionIconMaxSize; 165 static const int kPageActionIconMaxSize;
169 static const int kBrowserActionIconMaxSize; 166 static const int kBrowserActionIconMaxSize;
170 167
171 // Each permission is a module that the extension is permitted to use. 168 // Each permission is a module that the extension is permitted to use.
172 // 169 //
173 // NOTE: To add a new permission, define it here, and add an entry to 170 // NOTE: To add a new permission, define it here, and add an entry to
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 // result. In the browser process, this will DCHECK if not called on the 291 // result. In the browser process, this will DCHECK if not called on the
295 // file thread. To easily load extension images on the UI thread, see 292 // file thread. To easily load extension images on the UI thread, see
296 // ImageLoadingTracker. 293 // ImageLoadingTracker.
297 static void DecodeIconFromPath(const FilePath& icon_path, 294 static void DecodeIconFromPath(const FilePath& icon_path,
298 Icons icon_size, 295 Icons icon_size,
299 scoped_ptr<SkBitmap>* result); 296 scoped_ptr<SkBitmap>* result);
300 297
301 // Returns the base extension url for a given |extension_id|. 298 // Returns the base extension url for a given |extension_id|.
302 static GURL GetBaseURLFromExtensionId(const std::string& extension_id); 299 static GURL GetBaseURLFromExtensionId(const std::string& extension_id);
303 300
304 // Returns whether the browser has apps enabled (either as the default or if 301 // Returns the url prefix for the extension/apps gallery. Can be set via the
305 // it was explicitly turned on via a command line switch).
306 static bool AppsAreEnabled();
307
308 // Returns the launch URL for the extension/apps gallery. Can be set via the
309 // --apps-gallery-url switch. The URL returned will not contain a trailing 302 // --apps-gallery-url switch. The URL returned will not contain a trailing
310 // slash. Do not use this as a prefix/extent for the store. Instead see 303 // slash. Do not use this as a prefix/extent for the store. Instead see
311 // ExtensionsService::GetWebStoreApp or 304 // ExtensionsService::GetWebStoreApp or
312 // ExtensionsService::IsDownloadFromGallery 305 // ExtensionsService::IsDownloadFromGallery
313 static std::string ChromeStoreLaunchURL(); 306 static std::string ChromeStoreLaunchURL();
314 307
315 // Helper function that consolidates the check for whether the script can 308 // Helper function that consolidates the check for whether the script can
316 // execute into one location. |page_url| is the page that is the candidate 309 // execute into one location. |page_url| is the page that is the candidate
317 // for running the script, |can_execute_script_everywhere| specifies whether 310 // for running the script, |can_execute_script_everywhere| specifies whether
318 // the extension is on the whitelist, |allowed_pages| is a vector of 311 // the extension is on the whitelist, |allowed_pages| is a vector of
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 // URL for fetching an update manifest 618 // URL for fetching an update manifest
626 GURL update_url_; 619 GURL update_url_;
627 620
628 // A copy of the manifest that this extension was created from. 621 // A copy of the manifest that this extension was created from.
629 scoped_ptr<DictionaryValue> manifest_value_; 622 scoped_ptr<DictionaryValue> manifest_value_;
630 623
631 // A map of chrome:// hostnames (newtab, downloads, etc.) to Extension URLs 624 // A map of chrome:// hostnames (newtab, downloads, etc.) to Extension URLs
632 // which override the handling of those URLs. 625 // which override the handling of those URLs.
633 URLOverrideMap chrome_url_overrides_; 626 URLOverrideMap chrome_url_overrides_;
634 627
635 // Whether apps-related features can be parsed during InitFromValue().
636 // Defaults to the value from --enable-extension-apps.
637 bool apps_enabled_;
638
639 // Whether this extension uses app features. 628 // Whether this extension uses app features.
640 bool is_app_; 629 bool is_app_;
641 630
642 // The local path inside the extension to use with the launcher. 631 // The local path inside the extension to use with the launcher.
643 std::string launch_local_path_; 632 std::string launch_local_path_;
644 633
645 // A web url to use with the launcher. Note that this might be relative or 634 // A web url to use with the launcher. Note that this might be relative or
646 // absolute. If relative, it is relative to web_origin_. 635 // absolute. If relative, it is relative to web_origin_.
647 std::string launch_web_url_; 636 std::string launch_web_url_;
648 637
(...skipping 19 matching lines...) Expand all
668 // True while the extension is being upgraded. 657 // True while the extension is being upgraded.
669 bool being_upgraded_; 658 bool being_upgraded_;
670 659
671 FRIEND_TEST_ALL_PREFIXES(ExtensionTest, LoadPageActionHelper); 660 FRIEND_TEST_ALL_PREFIXES(ExtensionTest, LoadPageActionHelper);
672 FRIEND_TEST_ALL_PREFIXES(TabStripModelTest, Apps); 661 FRIEND_TEST_ALL_PREFIXES(TabStripModelTest, Apps);
673 662
674 DISALLOW_COPY_AND_ASSIGN(Extension); 663 DISALLOW_COPY_AND_ASSIGN(Extension);
675 }; 664 };
676 665
677 typedef std::vector<Extension*> ExtensionList; 666 typedef std::vector<Extension*> ExtensionList;
667 typedef std::set<std::string> ExtensionIdSet;
678 668
679 // Handy struct to pass core extension info around. 669 // Handy struct to pass core extension info around.
680 struct ExtensionInfo { 670 struct ExtensionInfo {
681 ExtensionInfo(const DictionaryValue* manifest, 671 ExtensionInfo(const DictionaryValue* manifest,
682 const std::string& id, 672 const std::string& id,
683 const FilePath& path, 673 const FilePath& path,
684 Extension::Location location); 674 Extension::Location location);
685 ~ExtensionInfo(); 675 ~ExtensionInfo();
686 676
687 scoped_ptr<DictionaryValue> extension_manifest; 677 scoped_ptr<DictionaryValue> extension_manifest;
(...skipping 15 matching lines...) Expand all
703 std::set<std::string> extension_api_permissions; 693 std::set<std::string> extension_api_permissions;
704 // TODO(akalin): Once we have a unified ExtensionType, replace the 694 // TODO(akalin): Once we have a unified ExtensionType, replace the
705 // below member variables with a member of that type. 695 // below member variables with a member of that type.
706 bool is_theme; 696 bool is_theme;
707 bool is_app; 697 bool is_app;
708 bool converted_from_user_script; 698 bool converted_from_user_script;
709 GURL update_url; 699 GURL update_url;
710 }; 700 };
711 701
712 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_ 702 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_
OLDNEW
« no previous file with comments | « chrome/common/chrome_switches.cc ('k') | chrome/common/extensions/extension.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698