Index: chrome/browser/extensions/updater/extension_updater.h |
diff --git a/chrome/browser/extensions/updater/extension_updater.h b/chrome/browser/extensions/updater/extension_updater.h |
index 4f887b940375114e410976fdcf5d6087f8947489..29faf71a6e1255fe9ade272d0abb185008779f70 100644 |
--- a/chrome/browser/extensions/updater/extension_updater.h |
+++ b/chrome/browser/extensions/updater/extension_updater.h |
@@ -20,12 +20,12 @@ |
#include "base/scoped_observer.h" |
#include "base/time/time.h" |
#include "base/timer/timer.h" |
+#include "chrome/browser/extensions/updater/extension_downloader.h" |
#include "chrome/browser/extensions/updater/extension_downloader_delegate.h" |
#include "chrome/browser/extensions/updater/manifest_fetch_data.h" |
#include "content/public/browser/notification_observer.h" |
#include "content/public/browser/notification_registrar.h" |
#include "extensions/browser/extension_registry_observer.h" |
-#include "google_apis/gaia/identity_provider.h" |
#include "url/gurl.h" |
class ExtensionServiceInterface; |
@@ -39,7 +39,6 @@ class BrowserContext; |
namespace extensions { |
class ExtensionCache; |
-class ExtensionDownloader; |
class ExtensionPrefs; |
class ExtensionRegistry; |
class ExtensionSet; |
@@ -51,7 +50,8 @@ class ExtensionUpdaterTest; |
// extension_prefs, |
// pref_service, |
// profile, |
-// update_frequency_secs); |
+// update_frequency_secs, |
+// downloader_factory); |
// updater->Start(); |
// .... |
// updater->Stop(); |
@@ -89,7 +89,7 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate, |
Profile* profile, |
int frequency_seconds, |
ExtensionCache* cache, |
- scoped_ptr<IdentityProvider> identity_provider); |
+ const ExtensionDownloader::Factory& downloader_factory); |
virtual ~ExtensionUpdater(); |
@@ -157,6 +157,10 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate, |
struct ThrottleInfo; |
+ // Ensure that we have a valid ExtensionDownloader instance referenced by |
+ // |downloader|. |
+ void EnsureDownloaderCreated(); |
+ |
// Computes when to schedule the first update check. |
base::TimeDelta DetermineFirstCheckDelay(); |
@@ -240,6 +244,10 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate, |
// Pointer back to the service that owns this ExtensionUpdater. |
ExtensionServiceInterface* service_; |
+ // A closure passed into the ExtensionUpdater to teach it how to construct |
+ // new ExtensionDownloader instances. |
+ const ExtensionDownloader::Factory downloader_factory_; |
+ |
// Fetches the crx files for the extensions that have an available update. |
scoped_ptr<ExtensionDownloader> downloader_; |
@@ -272,9 +280,6 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate, |
ExtensionCache* extension_cache_; |
- // Provided to the ExtensionDownloader to enable OAuth2 support. |
- scoped_ptr<IdentityProvider> webstore_identity_provider_; |
- |
// Keeps track of when an extension tried to update itself, so we can throttle |
// checks to prevent too many requests from being made. |
std::map<std::string, ThrottleInfo> throttle_info_; |