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

Unified Diff: content/browser/renderer_host/quota_dispatcher_host.cc

Issue 8070001: Use base::Callback in Quota related code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 9 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/renderer_host/database_message_filter.cc ('k') | webkit/appcache/appcache_quota_client.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/renderer_host/quota_dispatcher_host.cc
diff --git a/content/browser/renderer_host/quota_dispatcher_host.cc b/content/browser/renderer_host/quota_dispatcher_host.cc
index 882a56d3e25184266ab23c96d85aac6de35dd217..49c5afd45184769f5725d45fbc0fe80c71d7249c 100644
--- a/content/browser/renderer_host/quota_dispatcher_host.cc
+++ b/content/browser/renderer_host/quota_dispatcher_host.cc
@@ -4,6 +4,7 @@
#include "content/browser/renderer_host/quota_dispatcher_host.h"
+#include "base/bind.h"
#include "base/memory/scoped_callback_factory.h"
#include "content/browser/quota_permission_context.h"
#include "content/common/quota_messages.h"
@@ -57,13 +58,14 @@ class QuotaDispatcherHost::QueryUsageAndQuotaDispatcher
QuotaDispatcherHost* dispatcher_host,
int request_id)
: RequestDispatcher(dispatcher_host, request_id),
- callback_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {}
+ weak_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {}
virtual ~QueryUsageAndQuotaDispatcher() {}
void QueryStorageUsageAndQuota(const GURL& origin, StorageType type) {
- quota_manager()->GetUsageAndQuota(origin, type,
- callback_factory_.NewCallback(
- &QueryUsageAndQuotaDispatcher::DidQueryStorageUsageAndQuota));
+ quota_manager()->GetUsageAndQuota(
+ origin, type,
+ base::Bind(&QueryUsageAndQuotaDispatcher::DidQueryStorageUsageAndQuota,
+ weak_factory_.GetWeakPtr()));
}
private:
@@ -79,7 +81,7 @@ class QuotaDispatcherHost::QueryUsageAndQuotaDispatcher
Completed();
}
- base::ScopedCallbackFactory<QueryUsageAndQuotaDispatcher> callback_factory_;
+ base::WeakPtrFactory<QueryUsageAndQuotaDispatcher> weak_factory_;
};
class QuotaDispatcherHost::RequestQuotaDispatcher
@@ -100,6 +102,7 @@ class QuotaDispatcherHost::RequestQuotaDispatcher
current_quota_(0),
requested_quota_(requested_quota),
render_view_id_(render_view_id),
+ weak_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
callback_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {}
virtual ~RequestQuotaDispatcher() {}
@@ -109,12 +112,13 @@ class QuotaDispatcherHost::RequestQuotaDispatcher
if (type_ == quota::kStorageTypePersistent) {
quota_manager()->GetPersistentHostQuota(
host_,
- callback_factory_.NewCallback(&self_type::DidGetHostQuota));
+ base::Bind(&self_type::DidGetHostQuota,
+ weak_factory_.GetWeakPtr()));
} else {
quota_manager()->GetUsageAndQuota(
origin_, type_,
- callback_factory_.NewCallback(
- &self_type::DidGetTemporaryUsageAndQuota));
+ base::Bind(&self_type::DidGetTemporaryUsageAndQuota,
+ weak_factory_.GetWeakPtr()));
}
}
@@ -158,7 +162,8 @@ class QuotaDispatcherHost::RequestQuotaDispatcher
// Now we're allowed to set the new quota.
quota_manager()->SetPersistentHostQuota(
host_, requested_quota_,
- callback_factory_.NewCallback(&self_type::DidSetHostQuota));
+ base::Bind(&self_type::DidSetHostQuota,
+ weak_factory_.GetWeakPtr()));
}
void DidSetHostQuota(QuotaStatusCode status,
@@ -187,6 +192,7 @@ class QuotaDispatcherHost::RequestQuotaDispatcher
int64 current_quota_;
const int64 requested_quota_;
const int render_view_id_;
+ base::WeakPtrFactory<self_type> weak_factory_;
base::ScopedCallbackFactory<self_type> callback_factory_;
};
« no previous file with comments | « content/browser/renderer_host/database_message_filter.cc ('k') | webkit/appcache/appcache_quota_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698