Index: webkit/browser/quota/mock_quota_manager_proxy.h |
diff --git a/webkit/browser/quota/mock_quota_manager_proxy.h b/webkit/browser/quota/mock_quota_manager_proxy.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dfae52ed96e6fbeccbb0131fe0ba3475466c1525 |
--- /dev/null |
+++ b/webkit/browser/quota/mock_quota_manager_proxy.h |
@@ -0,0 +1,85 @@ |
+// 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_MOCK_QUOTA_MANAGER_PROXY_H_ |
+#define WEBKIT_BROWSER_QUOTA_MOCK_QUOTA_MANAGER_PROXY_H_ |
+ |
+#include "url/gurl.h" |
+#include "webkit/browser/quota/mock_quota_manager.h" |
+#include "webkit/browser/quota/quota_client.h" |
+#include "webkit/browser/quota/quota_manager_proxy.h" |
+#include "webkit/common/quota/quota_types.h" |
+ |
+namespace quota { |
+ |
+class MockQuotaManager; |
+ |
+class MockQuotaManagerProxy : public QuotaManagerProxy { |
+ public: |
+ // It is ok to give NULL to |quota_manager|. |
+ MockQuotaManagerProxy(MockQuotaManager* quota_manager, |
+ base::SingleThreadTaskRunner* task_runner); |
+ |
+ virtual void RegisterClient(QuotaClient* client) OVERRIDE; |
+ |
+ void SimulateQuotaManagerDestroyed(); |
+ |
+ // We don't mock them. |
+ virtual void NotifyOriginInUse(const GURL& origin) OVERRIDE {} |
+ virtual void NotifyOriginNoLongerInUse(const GURL& origin) OVERRIDE {} |
+ virtual void SetUsageCacheEnabled(QuotaClient::ID client_id, |
+ const GURL& origin, |
+ StorageType type, |
+ bool enabled) OVERRIDE {} |
+ virtual void GetUsageAndQuota( |
+ base::SequencedTaskRunner* original_task_runner, |
+ const GURL& origin, |
+ StorageType type, |
+ const QuotaManager::GetUsageAndQuotaCallback& callback) OVERRIDE {} |
+ |
+ // Validates the |client_id| and updates the internal access count |
+ // which can be accessed via notify_storage_accessed_count(). |
+ // The also records the |origin| and |type| in last_notified_origin_ and |
+ // last_notified_type_. |
+ virtual void NotifyStorageAccessed(QuotaClient::ID client_id, |
+ const GURL& origin, |
+ StorageType type) OVERRIDE; |
+ |
+ // Records the |origin|, |type| and |delta| as last_notified_origin_, |
+ // last_notified_type_ and last_notified_delta_ respecitvely. |
+ // If non-null MockQuotaManager is given to the constructor this also |
+ // updates the manager's internal usage information. |
+ virtual void NotifyStorageModified(QuotaClient::ID client_id, |
+ const GURL& origin, |
+ StorageType type, |
+ int64 delta) OVERRIDE; |
+ |
+ int notify_storage_accessed_count() const { return storage_accessed_count_; } |
+ int notify_storage_modified_count() const { return storage_modified_count_; } |
+ GURL last_notified_origin() const { return last_notified_origin_; } |
+ StorageType last_notified_type() const { return last_notified_type_; } |
+ int64 last_notified_delta() const { return last_notified_delta_; } |
+ |
+ protected: |
+ virtual ~MockQuotaManagerProxy(); |
+ |
+ private: |
+ MockQuotaManager* mock_manager() const { |
+ return static_cast<MockQuotaManager*>(quota_manager()); |
+ } |
+ |
+ int storage_accessed_count_; |
+ int storage_modified_count_; |
+ GURL last_notified_origin_; |
+ StorageType last_notified_type_; |
+ int64 last_notified_delta_; |
+ |
+ QuotaClient* registered_client_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MockQuotaManagerProxy); |
+}; |
+ |
+} // namespace quota |
+ |
+#endif // WEBKIT_BROWSER_QUOTA_MOCK_QUOTA_MANAGER_PROXY_H_ |