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

Unified Diff: webkit/browser/quota/quota_manager_proxy.h

Issue 136573007: Quota: Factor out (Mock)QuotaManagerProxy into its own file for readability (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review fix Created 6 years, 11 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 | « webkit/browser/quota/quota_manager.cc ('k') | webkit/browser/quota/quota_manager_proxy.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/browser/quota/quota_manager_proxy.h
diff --git a/webkit/browser/quota/quota_manager_proxy.h b/webkit/browser/quota/quota_manager_proxy.h
new file mode 100644
index 0000000000000000000000000000000000000000..21c97c6cd388c7e38d596b72f51aa2a4fe10c553
--- /dev/null
+++ b/webkit/browser/quota/quota_manager_proxy.h
@@ -0,0 +1,78 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef WEBKIT_BROWSER_QUOTA_QUOTA_MANAGER_PROXY_H_
+#define WEBKIT_BROWSER_QUOTA_QUOTA_MANAGER_PROXY_H_
+
+#include "base/basictypes.h"
+#include "base/callback.h"
+#include "base/files/file_path.h"
+#include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
+#include "base/memory/weak_ptr.h"
+#include "base/sequenced_task_runner_helpers.h"
+#include "webkit/browser/quota/quota_callbacks.h"
+#include "webkit/browser/quota/quota_client.h"
+#include "webkit/browser/quota/quota_database.h"
+#include "webkit/browser/quota/quota_manager.h"
+#include "webkit/browser/quota/quota_task.h"
+#include "webkit/browser/quota/special_storage_policy.h"
+#include "webkit/browser/webkit_storage_browser_export.h"
+
+namespace base {
+class SequencedTaskRunner;
+class SingleThreadTaskRunner;
+}
+
+namespace quota {
+
+// The proxy may be called and finally released on any thread.
+class WEBKIT_STORAGE_BROWSER_EXPORT QuotaManagerProxy
+ : public base::RefCountedThreadSafe<QuotaManagerProxy> {
+ public:
+ typedef QuotaManager::GetUsageAndQuotaCallback
+ GetUsageAndQuotaCallback;
+
+ virtual void RegisterClient(QuotaClient* client);
+ virtual void NotifyStorageAccessed(QuotaClient::ID client_id,
+ const GURL& origin,
+ StorageType type);
+ virtual void NotifyStorageModified(QuotaClient::ID client_id,
+ const GURL& origin,
+ StorageType type,
+ int64 delta);
+ virtual void NotifyOriginInUse(const GURL& origin);
+ virtual void NotifyOriginNoLongerInUse(const GURL& origin);
+
+ virtual void SetUsageCacheEnabled(QuotaClient::ID client_id,
+ const GURL& origin,
+ StorageType type,
+ bool enabled);
+ virtual void GetUsageAndQuota(
+ base::SequencedTaskRunner* original_task_runner,
+ const GURL& origin,
+ StorageType type,
+ const GetUsageAndQuotaCallback& callback);
+
+ // This method may only be called on the IO thread.
+ // It may return NULL if the manager has already been deleted.
+ QuotaManager* quota_manager() const;
+
+ protected:
+ friend class QuotaManager;
+ friend class base::RefCountedThreadSafe<QuotaManagerProxy>;
+
+ QuotaManagerProxy(QuotaManager* manager,
+ base::SingleThreadTaskRunner* io_thread);
+ virtual ~QuotaManagerProxy();
+
+ QuotaManager* manager_; // only accessed on the io thread
+ scoped_refptr<base::SingleThreadTaskRunner> io_thread_;
+
+ DISALLOW_COPY_AND_ASSIGN(QuotaManagerProxy);
+};
+
+} // namespace quota
+
+#endif // WEBKIT_BROWSER_QUOTA_QUOTA_MANAGER_PROXY_H_
« no previous file with comments | « webkit/browser/quota/quota_manager.cc ('k') | webkit/browser/quota/quota_manager_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698