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

Unified Diff: chrome/browser/extensions/extensions_service.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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extensions_service.h
diff --git a/chrome/browser/extensions/extensions_service.h b/chrome/browser/extensions/extensions_service.h
index b18c63bcde591562553d2c1f5333e449c77d4251..76565b452d446c7c76ecc8cfe7712040bc3eacea 100644
--- a/chrome/browser/extensions/extensions_service.h
+++ b/chrome/browser/extensions/extensions_service.h
@@ -20,6 +20,7 @@
#include "base/time.h"
#include "base/tuple.h"
#include "chrome/browser/chrome_thread.h"
+#include "chrome/browser/extensions/default_apps.h"
#include "chrome/browser/extensions/extension_icon_manager.h"
#include "chrome/browser/extensions/extension_menu_manager.h"
#include "chrome/browser/extensions/extension_prefs.h"
@@ -51,6 +52,7 @@ struct PendingExtensionInfo {
enum ExpectedCrxType {
UNKNOWN, // Sometimes we don't know the type of a pending item. An
// update URL from external_extensions.json is one such case.
+ APP,
THEME,
EXTENSION
};
@@ -60,7 +62,8 @@ struct PendingExtensionInfo {
bool is_from_sync,
bool install_silently,
bool enable_on_install,
- bool enable_incognito_on_install);
+ bool enable_incognito_on_install,
+ Extension::Location install_source);
PendingExtensionInfo();
@@ -70,6 +73,7 @@ struct PendingExtensionInfo {
bool install_silently;
bool enable_on_install;
bool enable_incognito_on_install;
+ Extension::Location install_source;
};
// A PendingExtensionMap is a map from IDs of pending extensions to
@@ -169,6 +173,10 @@ class ExtensionsService
return !(extensions_.empty() && disabled_extensions_.empty());
}
+ const FilePath& install_directory() const { return install_directory_; }
+
+ DefaultApps* default_apps() { return &default_apps_; }
+
// Whether this extension can run in an incognito window.
bool IsIncognitoEnabled(const Extension* extension);
void SetIsIncognitoEnabled(Extension* extension, bool enabled);
@@ -177,8 +185,6 @@ class ExtensionsService
bool AllowFileAccess(const Extension* extension);
void SetAllowFileAccess(Extension* extension, bool allow);
- const FilePath& install_directory() const { return install_directory_; }
-
// Initialize and start all installed extensions.
void Init();
@@ -225,6 +231,10 @@ class ExtensionsService
void AddPendingExtensionFromExternalUpdateUrl(const std::string& id,
const GURL& update_url);
+ // Like the above. Always installed silently, and defaults update url
+ // from extension id.
+ void AddPendingExtensionFromDefaultAppList(const std::string& id);
+
// Reloads the specified extension.
void ReloadExtension(const std::string& extension_id);
@@ -386,8 +396,11 @@ class ExtensionsService
const NotificationSource& source,
const NotificationDetails& details);
- // Whether there are any apps installed.
- bool HasApps();
+ // Whether there are any apps installed. Component apps are not included.
+ bool HasApps() const;
+
+ // Gets the set of loaded app ids. Component apps are not included.
+ ExtensionIdSet GetAppIds() const;
private:
virtual ~ExtensionsService();
@@ -409,7 +422,8 @@ class ExtensionsService
const std::string& id, const GURL& update_url,
PendingExtensionInfo::ExpectedCrxType crx_type,
bool is_from_sync, bool install_silently,
- bool enable_on_install, bool enable_incognito_on_install);
+ bool enable_on_install, bool enable_incognito_on_install,
+ Extension::Location install_source);
// Handles sending notification that |extension| was loaded.
void NotifyExtensionLoaded(Extension* extension);
@@ -511,6 +525,10 @@ class ExtensionsService
typedef std::map<GURL, int> ProtectedStorageMap;
ProtectedStorageMap protected_storage_map_;
+ // Manages the installation of default apps and the promotion of them in the
+ // app launcher.
+ DefaultApps default_apps_;
+
FRIEND_TEST_ALL_PREFIXES(ExtensionsServiceTest,
UpdatePendingExtensionAlreadyInstalled);
FRIEND_TEST_ALL_PREFIXES(ExtensionsServiceTest,
« no previous file with comments | « chrome/browser/extensions/extension_updater_unittest.cc ('k') | chrome/browser/extensions/extensions_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698