Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / public / platform / WebIDBDatabase.h
index 1dbddf6..379ff87 100644 (file)
@@ -27,6 +27,7 @@
 #define WebIDBDatabase_h
 
 #include "WebCommon.h"
+#include "WebIDBCursor.h"
 #include "WebIDBMetadata.h"
 
 namespace blink {
@@ -44,9 +45,15 @@ class WebIDBDatabase {
 public:
     virtual ~WebIDBDatabase() { }
 
+    enum TransactionMode {
+        TransactionReadOnly = 0,
+        TransactionReadWrite,
+        TransactionVersionChange,
+    };
+
     virtual void createObjectStore(long long transactionId, long long objectStoreId, const WebString& name, const WebIDBKeyPath&, bool autoIncrement) { BLINK_ASSERT_NOT_REACHED(); }
     virtual void deleteObjectStore(long long transactionId, long long objectStoreId) { BLINK_ASSERT_NOT_REACHED(); }
-    virtual void createTransaction(long long id, WebIDBDatabaseCallbacks* callbacks, const WebVector<long long>&, unsigned short mode) { BLINK_ASSERT_NOT_REACHED(); }
+    virtual void createTransaction(long long id, WebIDBDatabaseCallbacks*, const WebVector<long long>& scope, TransactionMode) { BLINK_ASSERT_NOT_REACHED(); }
     virtual void close() { BLINK_ASSERT_NOT_REACHED(); }
     virtual void forceClose() { BLINK_ASSERT_NOT_REACHED(); }
 
@@ -58,13 +65,15 @@ public:
 
     enum TaskType {
         NormalTask = 0,
-        PreemptiveTask
+        PreemptiveTask,
+        TaskTypeLast = PreemptiveTask
     };
 
     enum PutMode {
         AddOrUpdate,
         AddOnly,
-        CursorUpdate
+        CursorUpdate,
+        PutModeLast = CursorUpdate
     };
 
     static const long long minimumIndexId = 30;
@@ -76,7 +85,7 @@ public:
     virtual void put(long long transactionId, long long objectStoreId, const WebData& value, const WebIDBKey&, PutMode, WebIDBCallbacks*, const WebVector<long long>& indexIds, const WebVector<WebIndexKeys>&) { BLINK_ASSERT_NOT_REACHED(); }
     virtual void setIndexKeys(long long transactionId, long long objectStoreId, const WebIDBKey&, const WebVector<long long>& indexIds, const WebVector<WebIndexKeys>&) { BLINK_ASSERT_NOT_REACHED(); }
     virtual void setIndexesReady(long long transactionId, long long objectStoreId, const WebVector<long long>& indexIds) { BLINK_ASSERT_NOT_REACHED(); }
-    virtual void openCursor(long long transactionId, long long objectStoreId, long long indexId, const WebIDBKeyRange&, unsigned short direction, bool keyOnly, TaskType, WebIDBCallbacks*) { BLINK_ASSERT_NOT_REACHED(); }
+    virtual void openCursor(long long transactionId, long long objectStoreId, long long indexId, const WebIDBKeyRange&, WebIDBCursor::Direction, bool keyOnly, TaskType, WebIDBCallbacks*) { BLINK_ASSERT_NOT_REACHED(); }
     virtual void count(long long transactionId, long long objectStoreId, long long indexId, const WebIDBKeyRange&, WebIDBCallbacks*) { BLINK_ASSERT_NOT_REACHED(); }
     virtual void deleteRange(long long transactionId, long long objectStoreId, const WebIDBKeyRange&, WebIDBCallbacks*) { BLINK_ASSERT_NOT_REACHED(); }
     virtual void clear(long long transactionId, long long objectStoreId, WebIDBCallbacks*) { BLINK_ASSERT_NOT_REACHED(); }