| Index: content/browser/indexed_db/indexed_db_factory.h
|
| diff --git a/content/browser/indexed_db/indexed_db_factory.h b/content/browser/indexed_db/indexed_db_factory.h
|
| index b143853a3a0c3150e7c04c35a3304aee244f04b3..3d1a22e0307677bc34c76627b7a652e485a9054b 100644
|
| --- a/content/browser/indexed_db/indexed_db_factory.h
|
| +++ b/content/browser/indexed_db/indexed_db_factory.h
|
| @@ -18,6 +18,14 @@
|
| #include "content/common/content_export.h"
|
| #include "url/gurl.h"
|
|
|
| +namespace base {
|
| +class TaskRunner;
|
| +}
|
| +
|
| +namespace net {
|
| +class URLRequestContext;
|
| +}
|
| +
|
| namespace content {
|
|
|
| class IndexedDBBackingStore;
|
| @@ -28,26 +36,32 @@ class CONTENT_EXPORT IndexedDBFactory
|
| public:
|
| explicit IndexedDBFactory(IndexedDBContextImpl* context);
|
|
|
| - // Notifications from weak pointers.
|
| void ReleaseDatabase(const IndexedDBDatabase::Identifier& identifier,
|
| const GURL& origin_url,
|
| bool forcedClose);
|
| + void ReleaseBackingStore(const GURL& origin_url, bool immediate);
|
|
|
| void GetDatabaseNames(scoped_refptr<IndexedDBCallbacks> callbacks,
|
| const GURL& origin_url,
|
| - const base::FilePath& data_directory);
|
| + const base::FilePath& data_directory,
|
| + base::TaskRunner* task_runner);
|
| void Open(const string16& name,
|
| int64 version,
|
| + net::URLRequestContext* request_context,
|
| int64 transaction_id,
|
| scoped_refptr<IndexedDBCallbacks> callbacks,
|
| scoped_refptr<IndexedDBDatabaseCallbacks> database_callbacks,
|
| const GURL& origin_url,
|
| - const base::FilePath& data_directory);
|
| + const base::FilePath& data_directory,
|
| + int child_process_id,
|
| + base::TaskRunner* task_runner);
|
|
|
| void DeleteDatabase(const string16& name,
|
| + net::URLRequestContext* request_context,
|
| scoped_refptr<IndexedDBCallbacks> callbacks,
|
| const GURL& origin_url,
|
| - const base::FilePath& data_directory);
|
| + const base::FilePath& data_directory,
|
| + base::TaskRunner* task_runner);
|
|
|
| void HandleBackingStoreFailure(const GURL& origin_url);
|
|
|
| @@ -68,18 +82,20 @@ class CONTENT_EXPORT IndexedDBFactory
|
| virtual scoped_refptr<IndexedDBBackingStore> OpenBackingStore(
|
| const GURL& origin_url,
|
| const base::FilePath& data_directory,
|
| + net::URLRequestContext* request_context,
|
| blink::WebIDBDataLoss* data_loss,
|
| std::string* data_loss_reason,
|
| - bool* disk_full);
|
| + bool* disk_full,
|
| + base::TaskRunner* task_runner);
|
|
|
| - void ReleaseBackingStore(const GURL& origin_url, bool immediate);
|
| void CloseBackingStore(const GURL& origin_url);
|
|
|
| private:
|
| // Called internally after a database is closed, with some delay. If this
|
| // factory has the last reference, it will be released.
|
| void MaybeCloseBackingStore(const GURL& origin_url);
|
| - bool HasLastBackingStoreReference(const GURL& origin_url) const;
|
| + bool HasLastBackingStoreReference(
|
| + const GURL& origin_url, bool forcedClose) const;
|
|
|
| IndexedDBContextImpl* context_;
|
|
|
| @@ -92,6 +108,7 @@ class CONTENT_EXPORT IndexedDBFactory
|
| IndexedDBBackingStoreMap backing_store_map_;
|
|
|
| std::set<scoped_refptr<IndexedDBBackingStore> > session_only_backing_stores_;
|
| + std::set<GURL> backends_opened_since_boot_;
|
| };
|
|
|
| } // namespace content
|
|
|