struct ThrottleInfo;
+ // Callback used to continue CheckNow after determining which extensions
+ // should be force-updated.
+ void OnForcedUpdatesDetermined(const CheckParams& params,
+ const std::set<std::string>& forced_updates);
+
// Ensure that we have a valid ExtensionDownloader instance referenced by
// |downloader|.
void EnsureDownloaderCreated();
Error error,
const PingResult& ping,
const std::set<int>& request_ids) OVERRIDE;
-
virtual void OnExtensionDownloadFinished(
const std::string& id,
const base::FilePath& path,
const std::string& version,
const PingResult& ping,
const std::set<int>& request_id) OVERRIDE;
-
- // Implementation of ExtensionRegistryObserver.
- virtual void OnExtensionWillBeInstalled(
- content::BrowserContext* browser_context,
- const Extension* extension,
- bool is_update,
- bool from_ephemeral,
- const std::string& old_name) OVERRIDE;
-
virtual bool GetPingDataForExtension(
const std::string& id,
ManifestFetchData::PingData* ping_data) OVERRIDE;
-
virtual std::string GetUpdateUrlData(const std::string& id) OVERRIDE;
-
virtual bool IsExtensionPending(const std::string& id) OVERRIDE;
-
virtual bool GetExtensionExistingVersion(const std::string& id,
std::string* version) OVERRIDE;
+ virtual bool ShouldForceUpdate(const std::string& extension_id,
+ std::string* source) OVERRIDE;
void UpdatePingData(const std::string& id, const PingResult& ping_result);
const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE;
+ // Implementation of ExtensionRegistryObserver.
+ virtual void OnExtensionWillBeInstalled(
+ content::BrowserContext* browser_context,
+ const Extension* extension,
+ bool is_update,
+ bool from_ephemeral,
+ const std::string& old_name) OVERRIDE;
+
// Send a notification that update checks are starting.
void NotifyStarted();
// checks to prevent too many requests from being made.
std::map<std::string, ThrottleInfo> throttle_info_;
+ // Keeps track of extensions (by ID) whose update should be forced during the
+ // next update check.
+ std::set<std::string> forced_updates_;
+
DISALLOW_COPY_AND_ASSIGN(ExtensionUpdater);
};