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

Unified Diff: chrome/browser/extensions/api/system_info/system_info_provider.h

Issue 16707002: [SystemInfo API] Rewrite storage info provider using storage monitor impl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove storage_info_provider_linux_unittest.cc in chrome_tests_unit.gypi Created 7 years, 6 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/api/system_info/system_info_provider.h
diff --git a/chrome/browser/extensions/api/system_info/system_info_provider.h b/chrome/browser/extensions/api/system_info/system_info_provider.h
index 574e62925ace61d2cb8d60c36e767eae41599438..5e122d89e643c1fdabe59742d14325971a883dc7 100644
--- a/chrome/browser/extensions/api/system_info/system_info_provider.h
+++ b/chrome/browser/extensions/api/system_info/system_info_provider.h
@@ -68,18 +68,30 @@ class SystemInfoProvider
is_waiting_for_completion_ = true;
+ StartQueryInfoImpl();
+ }
+
+ protected:
+ // Default implementation of querying system information.
+ virtual void StartQueryInfoImpl() {
+ base::Closure callback =
+ base::Bind(&SystemInfoProvider<T>::QueryOnWorkerPool, this);
+ PostQueryTaskToBlockingPool(FROM_HERE, callback);
+ }
+
+ // Post a task to blocking pool for information querying.
+ void PostQueryTaskToBlockingPool(const tracked_objects::Location& from_here,
+ const base::Closure& query_callback) {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
base::SequencedWorkerPool* worker_pool =
content::BrowserThread::GetBlockingPool();
// The query task posted to the worker pool won't block shutdown, and any
// running query task at shutdown time will be ignored.
worker_pool->PostSequencedWorkerTaskWithShutdownBehavior(
- worker_pool_token_,
- FROM_HERE,
- base::Bind(&SystemInfoProvider<T>::QueryOnWorkerPool, this),
+ worker_pool_token_, from_here, query_callback,
base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN);
}
- protected:
// Query the system information synchronously and output the result to the
// |info| parameter. The |info| contents MUST be reset firstly in its
// platform specific implementation. Return true if it succeeds, otherwise

Powered by Google App Engine
This is Rietveld 408576698