Chromium Code Reviews| 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..11e8096adf951fe68dd295baedcfb6b26e121a2d 100644 |
| --- a/content/browser/in_process_webkit/indexed_db_context.h |
| +++ b/content/browser/in_process_webkit/indexed_db_context.h |
| @@ -6,6 +6,8 @@ |
| #define CONTENT_BROWSER_IN_PROCESS_WEBKIT_INDEXED_DB_CONTEXT_H_ |
| #pragma once |
| +#include <map> |
| + |
| #include "base/basictypes.h" |
| #include "base/file_path.h" |
| #include "base/memory/ref_counted.h" |
| @@ -53,17 +55,33 @@ class IndexedDBContext : public base::RefCountedThreadSafe<IndexedDBContext> { |
| clear_local_state_on_exit_ = clear_local_state; |
| } |
| - // Deletes a single indexed db file. |
| + // Deletes the leveldb directory for a single origin. |
| 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, DeleteIndexedDBForOrigin and |
| + // DeleteIndexedDBFile. |
| + void EvictOriginIfNotInUse(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); |
|
michaeln
2011/08/04 00:23:27
nit: maybe ConnectionOpened() for symmetry with Co
dgrogan
2011/08/04 19:47:50
Done.
|
| + 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); |
|
michaeln
2011/08/04 00:23:27
can more of these new methods be made private?
dgrogan
2011/08/04 19:47:50
This one can.
|
| + |
| quota::QuotaManagerProxy* quota_manager_proxy(); |
| #ifdef UNIT_TEST |
| @@ -85,6 +103,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 space_available_map_; |
| + |
| + std::map<GURL, unsigned int> connection_count_; |
| + |
| + int64 ReadUsageFromDisk(const GURL& origin_url) const; |
| + void QueryAvailableQuota(const GURL& origin_url); |
|
michaeln
2011/08/04 00:23:27
style: define members within a section
types
m
dgrogan
2011/08/04 19:47:50
Done.
|
| }; |
| #endif // CONTENT_BROWSER_IN_PROCESS_WEBKIT_INDEXED_DB_CONTEXT_H_ |