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

Unified Diff: chrome/browser/component_updater/component_updater_service.h

Issue 385013002: Componentize component_updater: Replace content::BrowserThread usage with task runners (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove extraneous includes Created 6 years, 5 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/component_updater/component_updater_service.h
diff --git a/chrome/browser/component_updater/component_updater_service.h b/chrome/browser/component_updater/component_updater_service.h
index ff01c8975574e9eaebf9fd8343ca25b683079444..6dec6016c6b239a6f139ccab0d623263b7efa6f8 100644
--- a/chrome/browser/component_updater/component_updater_service.h
+++ b/chrome/browser/component_updater/component_updater_service.h
@@ -9,6 +9,7 @@
#include <vector>
#include "base/gtest_prod_util.h"
+#include "base/memory/ref_counted.h"
#include "base/version.h"
#include "url/gurl.h"
@@ -17,6 +18,7 @@ class ComponentsUI;
namespace base {
class DictionaryValue;
class FilePath;
+class SequencedTaskRunner;
}
namespace net {
@@ -38,7 +40,7 @@ class OnDemandUpdater;
// given to ComponentUpdateService::RegisterComponent().
class ComponentInstaller {
public:
- // Called by the component updater on the UI thread when there was a
+ // Called by the component updater on the main thread when there was a
// problem unpacking or verifying the component. |error| is a non-zero
// value which is only meaningful to the component updater.
virtual void OnUpdateError(int error) = 0;
@@ -46,7 +48,8 @@ class ComponentInstaller {
// Called by the component updater when a component has been unpacked
// and is ready to be installed. |manifest| contains the CRX manifest
// json dictionary and |unpack_path| contains the temporary directory
- // with all the unpacked CRX files.
+ // with all the unpacked CRX files. This method may be called from
+ // a thread other than the main thread.
virtual bool Install(const base::DictionaryValue& manifest,
const base::FilePath& unpack_path) = 0;
@@ -96,7 +99,7 @@ struct CrxUpdateItem;
// notifications are fired, like COMPONENT_UPDATER_STARTED and
// COMPONENT_UPDATE_FOUND. See notification_type.h for more details.
//
-// All methods are safe to call ONLY from chrome's UI thread.
+// All methods are safe to call ONLY from the browser's main thread.
class ComponentUpdateService {
public:
enum Status { kOk, kReplaced, kInProgress, kError };
@@ -168,6 +171,9 @@ class ComponentUpdateService {
// proactively triggered outside the normal component update service schedule.
virtual OnDemandUpdater& GetOnDemandUpdater() = 0;
+ // Returns a task runner suitable for use by component installers.
+ virtual scoped_refptr<base::SequencedTaskRunner> GetSequencedTaskRunner() = 0;
+
virtual ~ComponentUpdateService() {}
private:

Powered by Google App Engine
This is Rietveld 408576698