tizen beta release
[framework/web/webkit-efl.git] / Source / WebCore / storage / IDBDatabaseBackendImpl.h
index d6383d9..35ebcb4 100755 (executable)
@@ -44,10 +44,17 @@ class IDBTransactionCoordinator;
 
 class IDBDatabaseBackendImpl : public IDBDatabaseBackendInterface {
 public:
+#if ENABLE(TIZEN_INDEXED_DATABASE)
+    static PassRefPtr<IDBDatabaseBackendImpl> create(ScriptExecutionContext* context, const String& name, IDBBackingStore* database, IDBTransactionCoordinator* coordinator, IDBFactoryBackendImpl* factory, const String& uniqueIdentifier)
+    {
+        return adoptRef(new IDBDatabaseBackendImpl(context, name, database, coordinator, factory, uniqueIdentifier));
+    }
+#else
     static PassRefPtr<IDBDatabaseBackendImpl> create(const String& name, IDBBackingStore* database, IDBTransactionCoordinator* coordinator, IDBFactoryBackendImpl* factory, const String& uniqueIdentifier)
     {
         return adoptRef(new IDBDatabaseBackendImpl(name, database, coordinator, factory, uniqueIdentifier));
     }
+#endif // TIZEN_INDEXED_DATABASE
     virtual ~IDBDatabaseBackendImpl();
 
     PassRefPtr<IDBBackingStore> backingStore() const;
@@ -58,6 +65,7 @@ public:
     // FIXME: Rename "open" to something more descriptive, like registerFrontEndCallbacks.
     void open(PassRefPtr<IDBDatabaseCallbacks>);
     void openConnection(PassRefPtr<IDBCallbacks>);
+    void deleteDatabase(PassRefPtr<IDBCallbacks>);
 
     virtual String name() const { return m_name; }
     virtual String version() const { return m_version; }
@@ -75,8 +83,13 @@ public:
     void transactionFinished(PassRefPtr<IDBTransactionBackendInterface>);
 
 private:
+#if ENABLE(TIZEN_INDEXED_DATABASE)
+    IDBDatabaseBackendImpl(ScriptExecutionContext*, const String& name, IDBBackingStore* database, IDBTransactionCoordinator*, IDBFactoryBackendImpl*, const String& uniqueIdentifier);
+#else
     IDBDatabaseBackendImpl(const String& name, IDBBackingStore* database, IDBTransactionCoordinator*, IDBFactoryBackendImpl*, const String& uniqueIdentifier);
+#endif // TIZEN_INDEXED_DATABASE
 
+    void openInternal();
     void loadObjectStores();
     void processPendingCalls();
 
@@ -91,6 +104,7 @@ private:
 
     RefPtr<IDBBackingStore> m_backingStore;
 #if ENABLE(TIZEN_INDEXED_DATABASE)
+    ScriptExecutionContext* m_scriptExecutionContext;
     int64_t m_id;
 #else
     int64 m_id;
@@ -114,6 +128,9 @@ private:
     class PendingOpenCall;
     Deque<RefPtr<PendingOpenCall> > m_pendingOpenCalls;
 
+    class PendingDeleteCall;
+    Deque<RefPtr<PendingDeleteCall> > m_pendingDeleteCalls;
+
     typedef ListHashSet<RefPtr<IDBDatabaseCallbacks> > DatabaseCallbacksSet;
     DatabaseCallbacksSet m_databaseCallbacksSet;
 };