diff options
author | kalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-03 03:41:43 +0000 |
---|---|---|
committer | kalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-03 03:41:43 +0000 |
commit | a0c91a9ffb1db127cf1f06e285b208a544ed4567 (patch) | |
tree | fe0e8f09a1c04cab35592cd46f9c01c045f95681 /extensions/browser/api | |
parent | 68d3f6bbacbde53e968ae36ae3e4231ea1a8be4b (diff) | |
download | chromium_src-a0c91a9ffb1db127cf1f06e285b208a544ed4567.zip chromium_src-a0c91a9ffb1db127cf1f06e285b208a544ed4567.tar.gz chromium_src-a0c91a9ffb1db127cf1f06e285b208a544ed4567.tar.bz2 |
Drive extension functions from ExtensionFunction::Run. The
SyncExtensionFunction and AsyncExtensionFunction derivates now expose RunSync
and RunAsync respectively. New extension function implementations should just
implement Run directly.
BUG=365732
R=rockot@chromium.org
TBR=dmazzoni@chromium.org
Review URL: https://codereview.chromium.org/257333002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268033 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'extensions/browser/api')
-rw-r--r-- | extensions/browser/api/async_api_function.cc | 2 | ||||
-rw-r--r-- | extensions/browser/api/async_api_function.h | 6 | ||||
-rw-r--r-- | extensions/browser/api/dns/dns_api.cc | 2 | ||||
-rw-r--r-- | extensions/browser/api/dns/dns_api.h | 2 | ||||
-rw-r--r-- | extensions/browser/api/socket/socket_api.cc | 2 | ||||
-rw-r--r-- | extensions/browser/api/socket/socket_api.h | 2 | ||||
-rw-r--r-- | extensions/browser/api/storage/storage_api.cc | 14 | ||||
-rw-r--r-- | extensions/browser/api/storage/storage_api.h | 4 | ||||
-rw-r--r-- | extensions/browser/api/test/test_api.cc | 2 | ||||
-rw-r--r-- | extensions/browser/api/test/test_api.h | 2 |
10 files changed, 18 insertions, 20 deletions
diff --git a/extensions/browser/api/async_api_function.cc b/extensions/browser/api/async_api_function.cc index 1152f208..a4e40f6 100644 --- a/extensions/browser/api/async_api_function.cc +++ b/extensions/browser/api/async_api_function.cc @@ -16,7 +16,7 @@ AsyncApiFunction::AsyncApiFunction() : work_thread_id_(BrowserThread::IO) {} AsyncApiFunction::~AsyncApiFunction() {} -bool AsyncApiFunction::RunImpl() { +bool AsyncApiFunction::RunAsync() { DCHECK_CURRENTLY_ON(BrowserThread::UI); if (!PrePrepare() || !Prepare()) { diff --git a/extensions/browser/api/async_api_function.h b/extensions/browser/api/async_api_function.h index b18ec4d..dd586f1 100644 --- a/extensions/browser/api/async_api_function.h +++ b/extensions/browser/api/async_api_function.h @@ -12,7 +12,7 @@ namespace extensions { // AsyncApiFunction provides convenient thread management for APIs that need to // do essentially all their work on a thread other than the UI thread. -class AsyncApiFunction : public UIThreadExtensionFunction { +class AsyncApiFunction : public AsyncExtensionFunction { protected: AsyncApiFunction(); virtual ~AsyncApiFunction(); @@ -38,8 +38,8 @@ class AsyncApiFunction : public UIThreadExtensionFunction { // Respond. Guaranteed to happen on UI thread. virtual bool Respond() = 0; - // ExtensionFunction::RunImpl() - virtual bool RunImpl() OVERRIDE; + // ExtensionFunction::RunAsync() + virtual bool RunAsync() OVERRIDE; protected: content::BrowserThread::ID work_thread_id() const { return work_thread_id_; } diff --git a/extensions/browser/api/dns/dns_api.cc b/extensions/browser/api/dns/dns_api.cc index a3a7eb1..ef270c7 100644 --- a/extensions/browser/api/dns/dns_api.cc +++ b/extensions/browser/api/dns/dns_api.cc @@ -30,7 +30,7 @@ DnsResolveFunction::DnsResolveFunction() DnsResolveFunction::~DnsResolveFunction() {} -bool DnsResolveFunction::RunImpl() { +bool DnsResolveFunction::RunAsync() { scoped_ptr<Resolve::Params> params(Resolve::Params::Create(*args_)); EXTENSION_FUNCTION_VALIDATE(params.get()); diff --git a/extensions/browser/api/dns/dns_api.h b/extensions/browser/api/dns/dns_api.h index f14769b..8261564 100644 --- a/extensions/browser/api/dns/dns_api.h +++ b/extensions/browser/api/dns/dns_api.h @@ -28,7 +28,7 @@ class DnsResolveFunction : public AsyncExtensionFunction { virtual ~DnsResolveFunction(); // ExtensionFunction: - virtual bool RunImpl() OVERRIDE; + virtual bool RunAsync() OVERRIDE; void WorkOnIOThread(); void RespondOnUIThread(); diff --git a/extensions/browser/api/socket/socket_api.cc b/extensions/browser/api/socket/socket_api.cc index 5d40b84..229cfdd 100644 --- a/extensions/browser/api/socket/socket_api.cc +++ b/extensions/browser/api/socket/socket_api.cc @@ -638,7 +638,7 @@ void SocketGetInfoFunction::Work() { SetResult(info.ToValue().release()); } -bool SocketGetNetworkListFunction::RunImpl() { +bool SocketGetNetworkListFunction::RunAsync() { content::BrowserThread::PostTask( content::BrowserThread::FILE, FROM_HERE, diff --git a/extensions/browser/api/socket/socket_api.h b/extensions/browser/api/socket/socket_api.h index 60bd765..cd93f7a 100644 --- a/extensions/browser/api/socket/socket_api.h +++ b/extensions/browser/api/socket/socket_api.h @@ -407,7 +407,7 @@ class SocketGetNetworkListFunction : public AsyncExtensionFunction { protected: virtual ~SocketGetNetworkListFunction() {} - virtual bool RunImpl() OVERRIDE; + virtual bool RunAsync() OVERRIDE; private: void GetNetworkListOnFileThread(); diff --git a/extensions/browser/api/storage/storage_api.cc b/extensions/browser/api/storage/storage_api.cc index 3f1882d..012fe41 100644 --- a/extensions/browser/api/storage/storage_api.cc +++ b/extensions/browser/api/storage/storage_api.cc @@ -32,14 +32,13 @@ bool SettingsFunction::ShouldSkipQuotaLimiting() const { std::string settings_namespace_string; if (!args_->GetString(0, &settings_namespace_string)) { // This should be EXTENSION_FUNCTION_VALIDATE(false) but there is no way - // to signify that from this function. It will be caught in - // RunImplTypesafe(). + // to signify that from this function. It will be caught in Run(). return false; } return settings_namespace_string != "sync"; } -ExtensionFunction::ResponseAction SettingsFunction::RunImplTypesafe() { +ExtensionFunction::ResponseAction SettingsFunction::Run() { std::string settings_namespace_string; EXTENSION_FUNCTION_VALIDATE_TYPESAFE( args_->GetString(0, &settings_namespace_string)); @@ -66,11 +65,10 @@ ExtensionFunction::ResponseAction SettingsFunction::RunImplTypesafe() { void SettingsFunction::AsyncRunWithStorage(ValueStore* storage) { ResponseValue response = RunWithStorage(storage); - BrowserThread::PostTask(BrowserThread::UI, - FROM_HERE, - base::Bind(&SettingsFunction::SendResponseTypesafe, - this, - base::Passed(&response))); + BrowserThread::PostTask( + BrowserThread::UI, + FROM_HERE, + base::Bind(&SettingsFunction::Respond, this, base::Passed(&response))); } ExtensionFunction::ResponseValue SettingsFunction::UseReadResult( diff --git a/extensions/browser/api/storage/storage_api.h b/extensions/browser/api/storage/storage_api.h index 9f1091c..b4b97da 100644 --- a/extensions/browser/api/storage/storage_api.h +++ b/extensions/browser/api/storage/storage_api.h @@ -22,7 +22,7 @@ class SettingsFunction : public UIThreadExtensionFunction { // ExtensionFunction: virtual bool ShouldSkipQuotaLimiting() const OVERRIDE; - virtual ResponseAction RunImplTypesafe() OVERRIDE; + virtual ResponseAction Run() OVERRIDE; // Extension settings function implementations should do their work here. // The StorageFrontend makes sure this is posted to the appropriate thread. @@ -48,7 +48,7 @@ class SettingsFunction : public UIThreadExtensionFunction { ValueStore* storage); private: - // Called via PostTask from RunImplTypesafe. Calls RunWithStorage and then + // Called via PostTask from Run. Calls RunWithStorage and then // SendResponse with its success value. void AsyncRunWithStorage(ValueStore* storage); diff --git a/extensions/browser/api/test/test_api.cc b/extensions/browser/api/test/test_api.cc index b052946..87252b7 100644 --- a/extensions/browser/api/test/test_api.cc +++ b/extensions/browser/api/test/test_api.cc @@ -87,7 +87,7 @@ bool TestResetQuotaFunction::RunSafe() { return true; } -bool TestSendMessageFunction::RunImpl() { +bool TestSendMessageFunction::RunAsync() { scoped_ptr<PassMessage::Params> params(PassMessage::Params::Create(*args_)); EXTENSION_FUNCTION_VALIDATE(params.get()); content::NotificationService::current()->Notify( diff --git a/extensions/browser/api/test/test_api.h b/extensions/browser/api/test/test_api.h index 9511abf..ea5a639 100644 --- a/extensions/browser/api/test/test_api.h +++ b/extensions/browser/api/test/test_api.h @@ -81,7 +81,7 @@ class TestSendMessageFunction : public AsyncExtensionFunction { virtual ~TestSendMessageFunction(); // ExtensionFunction: - virtual bool RunImpl() OVERRIDE; + virtual bool RunAsync() OVERRIDE; }; class TestGetConfigFunction : public TestExtensionFunction { |