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 |