| Index: webkit/quota/mock_quota_manager.h
|
| diff --git a/webkit/quota/mock_quota_manager.h b/webkit/quota/mock_quota_manager.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..636404d7e8e504eee599fb9bfd618ab45acc254e
|
| --- /dev/null
|
| +++ b/webkit/quota/mock_quota_manager.h
|
| @@ -0,0 +1,83 @@
|
| +// Copyright (c) 2011 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_QUOTA_MOCK_QUOTA_MANAGER_H_
|
| +#define WEBKIT_QUOTA_MOCK_QUOTA_MANAGER_H_
|
| +#pragma once
|
| +
|
| +#include <vector>
|
| +#include <string>
|
| +
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "googleurl/src/gurl.h"
|
| +#include "webkit/quota/quota_client.h"
|
| +#include "webkit/quota/quota_manager.h"
|
| +#include "webkit/quota/quota_task.h"
|
| +#include "webkit/quota/quota_types.h"
|
| +
|
| +namespace quota {
|
| +
|
| +// Mocks the pieces of QuotaManager's interface that are used for time-based
|
| +// deletion of a profile's browsing data. Origins can be added to the mock by
|
| +// calling AddOrigin, and that list of origins is then searched through in
|
| +// GetOriginsModifiedSince. Neither GetOriginsModifiedSince nor DeleteOriginData
|
| +// touches the actual origin data stored in the profile.
|
| +class MockQuotaManager : public QuotaManager {
|
| + public:
|
| + // Contains the essential bits of information about an origin that the
|
| + // MockQuotaManager needs to understand: the origin itself, the StorageType,
|
| + // and its modification time.
|
| + struct OriginInfo {
|
| + OriginInfo(const GURL& origin,
|
| + StorageType type,
|
| + base::Time modified);
|
| + ~OriginInfo();
|
| +
|
| + GURL origin;
|
| + StorageType type;
|
| + base::Time modified;
|
| + };
|
| +
|
| + MockQuotaManager(bool is_incognito,
|
| + const FilePath& profile_path,
|
| + base::MessageLoopProxy* io_thread,
|
| + base::MessageLoopProxy* db_thread,
|
| + SpecialStoragePolicy* special_storage_policy);
|
| +
|
| + virtual ~MockQuotaManager();
|
| +
|
| + // Adds an origin to the canned list that will be searched through via
|
| + // GetOriginsModifiedSince.
|
| + bool AddOrigin(const GURL& origin, StorageType type, base::Time modified);
|
| +
|
| + // Checks an origin and type against the origins that have been added via
|
| + // AddOrigin and removed via DeleteOriginData. If the origin exists in the
|
| + // canned list with the proper StorageType, returns true.
|
| + bool OriginHasData(const GURL& origin, StorageType type) const;
|
| +
|
| + // Overrides QuotaManager's implementation with a canned implementation that
|
| + // allows clients to set up the origin database that should be queried. This
|
| + // method will only search through the origins added explicitly via AddOrigin.
|
| + virtual void GetOriginsModifiedSince(StorageType type,
|
| + base::Time modified_since,
|
| + GetOriginsCallback* callback) OVERRIDE;
|
| +
|
| + // Removes an origin from the canned list of origins, but doesn't touch
|
| + // anything on disk.
|
| + virtual void DeleteOriginData(const GURL& origin,
|
| + StorageType type,
|
| + StatusCallback* callback) OVERRIDE;
|
| + private:
|
| + class GetModifiedSinceTask;
|
| + class DeleteOriginDataTask;
|
| +
|
| + // The list of stored origins that have been added via AddOrigin.
|
| + std::vector<OriginInfo> origins_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(MockQuotaManager);
|
| +};
|
| +
|
| +} // namespace quota
|
| +
|
| +#endif // WEBKIT_QUOTA_MOCK_QUOTA_MANAGER_H_
|
|
|