| Index: content/browser/in_process_webkit/indexed_db_context.h
|
| diff --git a/content/browser/in_process_webkit/indexed_db_context.h b/content/browser/in_process_webkit/indexed_db_context.h
|
| index 408cccc737a15a2a863092a8093bbbcdeeb3e9a9..1f5c232b559a5d6218de09543a55dfe4c87a259f 100644
|
| --- a/content/browser/in_process_webkit/indexed_db_context.h
|
| +++ b/content/browser/in_process_webkit/indexed_db_context.h
|
| @@ -12,6 +12,8 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "content/browser/browser_thread.h"
|
|
|
| +#include <map>
|
| +
|
| class GURL;
|
| class FilePath;
|
| class WebKitContext;
|
| @@ -56,14 +58,29 @@ class IndexedDBContext : public base::RefCountedThreadSafe<IndexedDBContext> {
|
| // Deletes a single indexed db file.
|
| void DeleteIndexedDBFile(const FilePath& file_path);
|
|
|
| - // Deletes all indexed db files for the given origin.
|
| + // Deletes all indexed db files for the given origin. Only works for
|
| + // extensions, not any origin.
|
| void DeleteIndexedDBForOrigin(const string16& origin_id);
|
|
|
| + // TODO(dgrogan): Once we can delete IndexedDB directories out from
|
| + // underneath open webkit instances, merge this and DeleteIndexedDBForOrigin.
|
| + void EvictOrigin(const GURL& origin_url);
|
| +
|
| // Does a particular origin get unlimited storage?
|
| bool IsUnlimitedStorageGranted(const GURL& origin) const;
|
|
|
| void GetAllOriginIdentifiers(std::vector<string16>* origin_ids);
|
|
|
| + void NewConnection(const GURL& origin_url);
|
| + void TransactionComplete(const GURL& origin_url);
|
| + void ConnectionClosed(const GURL& origin_url);
|
| + int64 InitializeDiskUsage(const GURL& origin_url);
|
| + void GotUpdatedQuota(const GURL& origin_url, int64 usage, int64 quota);
|
| + bool WouldBeOverQuota(const GURL& origin_url, int64 additional_bytes);
|
| + bool IsOverQuota(const GURL& origin_url);
|
| +
|
| + void QueryDiskAndUpdateQuotaUsage(const GURL& origin_url);
|
| +
|
| quota::QuotaManagerProxy* quota_manager_proxy();
|
|
|
| #ifdef UNIT_TEST
|
| @@ -85,6 +102,15 @@ class IndexedDBContext : public base::RefCountedThreadSafe<IndexedDBContext> {
|
| scoped_refptr<quota::QuotaManagerProxy> quota_manager_proxy_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(IndexedDBContext);
|
| +
|
| + typedef std::map<GURL, int64> OriginToSizeMap;
|
| + OriginToSizeMap origin_size_map_;
|
| + OriginToSizeMap origin_allocated_quota_map_;
|
| +
|
| + std::map<GURL, unsigned int> connection_count_;
|
| +
|
| + int64 ReadUsageFromDisk(const GURL& origin_url) const;
|
| + void QueryAvailableQuota(const GURL& origin_url);
|
| };
|
|
|
| #endif // CONTENT_BROWSER_IN_PROCESS_WEBKIT_INDEXED_DB_CONTEXT_H_
|
|
|