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

Unified Diff: content/browser/in_process_webkit/indexed_db_quota_client.cc

Issue 11091042: Converted GetOriginsForHostTask to use base::PostTaskAndReply(). Deleted superclasses GetOriginsTas… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 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
« no previous file with comments | « content/browser/in_process_webkit/indexed_db_quota_client.h ('k') | webkit/quota/quota_task.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/in_process_webkit/indexed_db_quota_client.cc
diff --git a/content/browser/in_process_webkit/indexed_db_quota_client.cc b/content/browser/in_process_webkit/indexed_db_quota_client.cc
index 53d9e9bd59aa10b0a28c504a1a0e52540f06877f..fbebee791e97f8e669c65410c8f514078bfc8cad 100644
--- a/content/browser/in_process_webkit/indexed_db_quota_client.cc
+++ b/content/browser/in_process_webkit/indexed_db_quota_client.cc
@@ -42,7 +42,7 @@ void GetAllOriginsOnWebKitThread(
origins_to_return->insert(all_origins.begin(), all_origins.end());
}
-void DidGetAllOrigins(
+void DidGetOrigins(
const IndexedDBQuotaClient::GetOriginsCallback& callback,
const std::set<GURL>* origins,
quota::StorageType storage_type) {
@@ -50,77 +50,20 @@ void DidGetAllOrigins(
callback.Run(*origins, storage_type);
}
-} // namespace
-
-// Helper tasks ---------------------------------------------------------------
-
-class IndexedDBQuotaClient::HelperTask : public quota::QuotaThreadTask {
- protected:
- HelperTask(
- IndexedDBQuotaClient* client,
- base::MessageLoopProxy* webkit_thread_message_loop)
- : QuotaThreadTask(client, webkit_thread_message_loop),
- client_(client), indexed_db_context_(client->indexed_db_context_) {
- }
-
- IndexedDBQuotaClient* client_;
- scoped_refptr<IndexedDBContextImpl> indexed_db_context_;
-
- protected:
- virtual ~HelperTask() {}
-};
-
-class IndexedDBQuotaClient::GetOriginsTaskBase : public HelperTask {
- protected:
- GetOriginsTaskBase(
- IndexedDBQuotaClient* client,
- base::MessageLoopProxy* webkit_thread_message_loop)
- : HelperTask(client, webkit_thread_message_loop) {
- }
-
- virtual bool ShouldAddOrigin(const GURL& origin) = 0;
-
- virtual void RunOnTargetThread() OVERRIDE {
- std::vector<GURL> origins = indexed_db_context_->GetAllOrigins();
- for (std::vector<GURL>::const_iterator iter = origins.begin();
- iter != origins.end(); ++iter) {
- if (ShouldAddOrigin(*iter))
- origins_.insert(*iter);
- }
- }
-
- std::set<GURL> origins_;
-
- protected:
- virtual ~GetOriginsTaskBase() {}
-};
-
-class IndexedDBQuotaClient::GetOriginsForHostTask : public GetOriginsTaskBase {
- public:
- GetOriginsForHostTask(
- IndexedDBQuotaClient* client,
- base::MessageLoopProxy* webkit_thread_message_loop,
- const std::string& host,
- quota::StorageType type)
- : GetOriginsTaskBase(client, webkit_thread_message_loop),
- host_(host),
- type_(type) {
- }
-
- private:
- virtual ~GetOriginsForHostTask() {}
-
- virtual bool ShouldAddOrigin(const GURL& origin) OVERRIDE {
- return host_ == net::GetHostOrSpecFromURL(origin);
- }
-
- virtual void Completed() OVERRIDE {
- client_->DidGetOriginsForHost(host_, origins_, type_);
+void GetOriginsForHostOnWebKitThread(
+ IndexedDBContextImpl* context,
+ const std::string& host,
+ std::set<GURL>* origins_to_return) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
+ std::vector<GURL> all_origins = context->GetAllOrigins();
+ for (std::vector<GURL>::const_iterator iter = all_origins.begin();
+ iter != all_origins.end(); ++iter) {
+ if (host == net::GetHostOrSpecFromURL(*iter))
+ origins_to_return->insert(*iter);
}
+}
- std::string host_;
- quota::StorageType type_;
-};
+} // namespace
// IndexedDBQuotaClient --------------------------------------------------------
@@ -182,7 +125,7 @@ void IndexedDBQuotaClient::GetOriginsForType(
base::Bind(&GetAllOriginsOnWebKitThread,
indexed_db_context_,
base::Unretained(origins_to_return)),
- base::Bind(&DidGetAllOrigins,
+ base::Bind(&DidGetOrigins,
callback,
base::Owned(origins_to_return),
type));
@@ -201,12 +144,17 @@ void IndexedDBQuotaClient::GetOriginsForHost(
return;
}
- if (origins_for_host_callbacks_.Add(host, callback)) {
- scoped_refptr<GetOriginsForHostTask> task(
- new GetOriginsForHostTask(
- this, webkit_thread_message_loop_, host, type));
- task->Start();
- }
+ std::set<GURL>* origins_to_return = new std::set<GURL>();
+ webkit_thread_message_loop_->PostTaskAndReply(
+ FROM_HERE,
+ base::Bind(&GetOriginsForHostOnWebKitThread,
+ indexed_db_context_,
+ host,
+ base::Unretained(origins_to_return)),
+ base::Bind(&DidGetOrigins,
+ callback,
+ base::Owned(origins_to_return),
+ type));
}
void IndexedDBQuotaClient::DeleteOriginData(
@@ -226,10 +174,3 @@ void IndexedDBQuotaClient::DeleteOriginData(
origin),
callback);
}
-
-void IndexedDBQuotaClient::DidGetOriginsForHost(
- const std::string& host, const std::set<GURL>& origins,
- quota::StorageType type) {
- DCHECK(origins_for_host_callbacks_.HasCallbacks(host));
- origins_for_host_callbacks_.Run(host, origins, type);
-}
« no previous file with comments | « content/browser/in_process_webkit/indexed_db_quota_client.h ('k') | webkit/quota/quota_task.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698