[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da

hans at chromium.org hans at chromium.org
Wed Dec 22 18:18:53 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit c60f78d5e5c20fe79ba4008349e695b4552c3ca1
Author: hans at chromium.org <hans at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Dec 9 19:35:28 2010 +0000

    2010-12-09  Sheriff Bot  <webkit.review.bot at gmail.com>
    
            Unreviewed, rolling out r73616.
            http://trac.webkit.org/changeset/73616
            https://bugs.webkit.org/show_bug.cgi?id=50772
    
            Breaks chromium win build (Requested by hwennborg on #webkit).
    
            * public/WebIDBKey.h:
            (WebKit::WebIDBKey::WebIDBKey):
            * src/WebIDBKey.cpp:
            (WebKit::WebIDBKey::assign):
            (WebKit::WebIDBKey::number):
    2010-12-09  Sheriff Bot  <webkit.review.bot at gmail.com>
    
            Unreviewed, rolling out r73616.
            http://trac.webkit.org/changeset/73616
            https://bugs.webkit.org/show_bug.cgi?id=50772
    
            Breaks chromium win build (Requested by hwennborg on #webkit).
    
            * bindings/v8/IDBBindingUtilities.cpp:
            (WebCore::createIDBKeyFromValue):
            * bindings/v8/custom/V8IDBKeyCustom.cpp:
            (WebCore::toV8):
            * storage/IDBFactoryBackendImpl.cpp:
            (WebCore::createTables):
            (WebCore::IDBFactoryBackendImpl::open):
            * storage/IDBKey.cpp:
            (WebCore::IDBKey::IDBKey):
            (WebCore::IDBKey::fromQuery):
            (WebCore::IDBKey::bind):
            (WebCore::IDBKey::bindWithNulls):
            * storage/IDBKey.h:
            (WebCore::IDBKey::create):
            (WebCore::IDBKey::number):
    2010-12-09  Sheriff Bot  <webkit.review.bot at gmail.com>
    
            Unreviewed, rolling out r73616.
            http://trac.webkit.org/changeset/73616
            https://bugs.webkit.org/show_bug.cgi?id=50772
    
            Breaks chromium win build (Requested by hwennborg on #webkit).
    
            * storage/indexeddb/index-basics-expected.txt:
            * storage/indexeddb/index-basics.html:
            * storage/indexeddb/index-cursor.html:
            * storage/indexeddb/keyrange-expected.txt:
            * storage/indexeddb/keyrange.html:
            * storage/indexeddb/objectstore-cursor.html:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73633 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index f8e2eb7..8b93780 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,18 @@
+2010-12-09  Sheriff Bot  <webkit.review.bot at gmail.com>
+
+        Unreviewed, rolling out r73616.
+        http://trac.webkit.org/changeset/73616
+        https://bugs.webkit.org/show_bug.cgi?id=50772
+
+        Breaks chromium win build (Requested by hwennborg on #webkit).
+
+        * storage/indexeddb/index-basics-expected.txt:
+        * storage/indexeddb/index-basics.html:
+        * storage/indexeddb/index-cursor.html:
+        * storage/indexeddb/keyrange-expected.txt:
+        * storage/indexeddb/keyrange.html:
+        * storage/indexeddb/objectstore-cursor.html:
+
 2010-12-09  Brian Weinstein  <bweinstein at apple.com>
 
         Land failing expected results for editing tests that have been failing since they were
diff --git a/LayoutTests/storage/indexeddb/index-basics-expected.txt b/LayoutTests/storage/indexeddb/index-basics-expected.txt
index 099dde3..acc5f4d 100644
--- a/LayoutTests/storage/indexeddb/index-basics-expected.txt
+++ b/LayoutTests/storage/indexeddb/index-basics-expected.txt
@@ -45,7 +45,6 @@ Deleted all object stores.
 db.createObjectStore('storeName', null)
 store.createIndex('indexName', 'x')
 store.createIndex('indexName2', 'y', false)
-store.createIndex('zIndex', 'z', true)
 PASS 'name' in indexObject is true
 PASS indexObject.name is "indexName"
 PASS 'storeName' in indexObject is true
@@ -58,7 +57,7 @@ PASS 'openKeyCursor' in indexObject is true
 PASS 'openCursor' in indexObject is true
 PASS 'getKey' in indexObject is true
 PASS 'get' in indexObject is true
-store.add({x: 'value', y: 'zzz', z: 2.72}, 'key')
+store.add({x: 'value', y: 'zzz'}, 'key')
 PASS 'onsuccess' in result is true
 PASS 'onerror' in result is true
 PASS 'readyState' in result is true
@@ -75,7 +74,7 @@ PASS 'onerror' in event.target is true
 PASS 'readyState' in event.target is true
 PASS event.target.readyState is event.target.DONE
 
-event.source.add({x: 'value2', y: 'zzz2', z: 2.71}, 'key2')
+event.source.add({x: 'value2', y: 'zzz2'}, 'key2')
 PASS 'onsuccess' in result is true
 PASS 'onerror' in result is true
 PASS 'readyState' in result is true
@@ -128,24 +127,6 @@ PASS 'readyState' in event.target is true
 PASS event.target.readyState is event.target.DONE
 
 PASS event.result is "key"
-indexObject3.get(2.71)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result.x is "value2"
 indexObject.get('value')
 PASS 'onsuccess' in result is true
 PASS 'onerror' in result is true
diff --git a/LayoutTests/storage/indexeddb/index-basics.html b/LayoutTests/storage/indexeddb/index-basics.html
index d5eec0a..7907070 100644
--- a/LayoutTests/storage/indexeddb/index-basics.html
+++ b/LayoutTests/storage/indexeddb/index-basics.html
@@ -49,7 +49,6 @@ function createIndex()
     window.store = evalAndLog("db.createObjectStore('storeName', null)");
     window.indexObject = evalAndLog("store.createIndex('indexName', 'x')");
     window.indexObject2 = evalAndLog("store.createIndex('indexName2', 'y', false)");
-    window.indexObject3 = evalAndLog("store.createIndex('zIndex', 'z', true)");
     addData();
 }
 
@@ -68,7 +67,7 @@ function addData()
     shouldBeTrue("'getKey' in indexObject");
     shouldBeTrue("'get' in indexObject");
 
-    result = evalAndLog("store.add({x: 'value', y: 'zzz', z: 2.72}, 'key')");
+    result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
     verifyResult(result);
     result.onsuccess = addMore;
     result.onerror = unexpectedErrorCallback;
@@ -78,7 +77,7 @@ function addMore()
 {
     verifySuccessEvent(event);
 
-    result = evalAndLog("event.source.add({x: 'value2', y: 'zzz2', z: 2.71}, 'key2')");
+    result = evalAndLog("event.source.add({x: 'value2', y: 'zzz2'}, 'key2')");
     verifyResult(result);
     result.onsuccess = getData;
     result.onerror = unexpectedErrorCallback;
@@ -110,17 +109,6 @@ function getObjectData2()
     verifySuccessEvent(event);
     shouldBeEqualToString("event.result", "key");
 
-    result = evalAndLog("indexObject3.get(2.71)");
-    verifyResult(result);
-    result.onsuccess = getObjectData3;
-    result.onerror = unexpectedErrorCallback;
-}
-
-function getObjectData3()
-{
-    verifySuccessEvent(event);
-    shouldBeEqualToString("event.result.x", "value2");
-
     result = evalAndLog("indexObject.get('value')");
     verifyResult(result);
     result.onsuccess = getDataFail;
diff --git a/LayoutTests/storage/indexeddb/index-cursor.html b/LayoutTests/storage/indexeddb/index-cursor.html
index 1a04d57..fb3147d 100644
--- a/LayoutTests/storage/indexeddb/index-cursor.html
+++ b/LayoutTests/storage/indexeddb/index-cursor.html
@@ -18,8 +18,8 @@ if (window.layoutTestController)
 window.testData = [
     1,
     1,
-    3.14159,
-    3.14159,
+    2,
+    2,
     10,
     // FIXME: Dates.
     "A big string",
diff --git a/LayoutTests/storage/indexeddb/keyrange-expected.txt b/LayoutTests/storage/indexeddb/keyrange-expected.txt
index cb5a380..faac937 100644
--- a/LayoutTests/storage/indexeddb/keyrange-expected.txt
+++ b/LayoutTests/storage/indexeddb/keyrange-expected.txt
@@ -27,11 +27,6 @@ PASS keyRange.lower is 1
 PASS keyRange.upper is 1
 PASS keyRange.lowerOpen is false
 PASS keyRange.upperOpen is false
-webkitIDBKeyRange.only(3.14)
-PASS keyRange.lower is 3.14
-PASS keyRange.upper is 3.14
-PASS keyRange.lowerOpen is false
-PASS keyRange.upperOpen is false
 webkitIDBKeyRange.only('a')
 PASS keyRange.lower is 'a'
 PASS keyRange.upper is 'a'
@@ -52,21 +47,6 @@ PASS keyRange.lower is 12
 PASS keyRange.lowerOpen is false
 PASS keyRange.upper is null
 PASS keyRange.upperOpen is false
-webkitIDBKeyRange.lowerBound(10.1,true)
-PASS keyRange.lower is 10.1
-PASS keyRange.lowerOpen is true
-PASS keyRange.upper is null
-PASS keyRange.upperOpen is false
-webkitIDBKeyRange.lowerBound(11.2,false)
-PASS keyRange.lower is 11.2
-PASS keyRange.lowerOpen is false
-PASS keyRange.upper is null
-PASS keyRange.upperOpen is false
-webkitIDBKeyRange.lowerBound(12.3,undefined)
-PASS keyRange.lower is 12.3
-PASS keyRange.lowerOpen is false
-PASS keyRange.upper is null
-PASS keyRange.upperOpen is false
 webkitIDBKeyRange.lowerBound('aa',true)
 PASS keyRange.lower is 'aa'
 PASS keyRange.lowerOpen is true
@@ -97,21 +77,6 @@ PASS keyRange.upper is 22
 PASS keyRange.upperOpen is false
 PASS keyRange.lower is null
 PASS keyRange.lowerOpen is false
-webkitIDBKeyRange.upperBound(20.2,true)
-PASS keyRange.upper is 20.2
-PASS keyRange.upperOpen is true
-PASS keyRange.lower is null
-PASS keyRange.lowerOpen is false
-webkitIDBKeyRange.upperBound(21.3,false)
-PASS keyRange.upper is 21.3
-PASS keyRange.upperOpen is false
-PASS keyRange.lower is null
-PASS keyRange.lowerOpen is false
-webkitIDBKeyRange.upperBound(22.4,undefined)
-PASS keyRange.upper is 22.4
-PASS keyRange.upperOpen is false
-PASS keyRange.lower is null
-PASS keyRange.lowerOpen is false
 webkitIDBKeyRange.upperBound('ba',true)
 PASS keyRange.upper is 'ba'
 PASS keyRange.upperOpen is true
@@ -152,31 +117,6 @@ PASS keyRange.lower is 34
 PASS keyRange.upper is 44
 PASS keyRange.lowerOpen is true
 PASS keyRange.upperOpen is true
-webkitIDBKeyRange.bound(30.1,40.2, {lowerOpen: undefined, upperOpen:undefined})
-PASS keyRange.lower is 30.1
-PASS keyRange.upper is 40.2
-PASS keyRange.lowerOpen is false
-PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound(31.3,41.4, {lowerOpen: false, upperOpen:false})
-PASS keyRange.lower is 31.3
-PASS keyRange.upper is 41.4
-PASS keyRange.lowerOpen is false
-PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound(32.5,42.6, {lowerOpen: false, upperOpen:true})
-PASS keyRange.lower is 32.5
-PASS keyRange.upper is 42.6
-PASS keyRange.lowerOpen is false
-PASS keyRange.upperOpen is true
-webkitIDBKeyRange.bound(33.7,43.8, {lowerOpen: true, upperOpen:false})
-PASS keyRange.lower is 33.7
-PASS keyRange.upper is 43.8
-PASS keyRange.lowerOpen is true
-PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound(34.9,44, {lowerOpen: true, upperOpen:true})
-PASS keyRange.lower is 34.9
-PASS keyRange.upper is 44
-PASS keyRange.lowerOpen is true
-PASS keyRange.upperOpen is true
 webkitIDBKeyRange.bound('aaa','aba', {lowerOpen: false, upperOpen:false})
 PASS keyRange.lower is 'aaa'
 PASS keyRange.upper is 'aba'
diff --git a/LayoutTests/storage/indexeddb/keyrange.html b/LayoutTests/storage/indexeddb/keyrange.html
index 80850bc..4b926da 100644
--- a/LayoutTests/storage/indexeddb/keyrange.html
+++ b/LayoutTests/storage/indexeddb/keyrange.html
@@ -84,15 +84,11 @@ function test()
     debug("");
 
     checkSingleKeyRange(1);
-    checkSingleKeyRange(3.14);
     checkSingleKeyRange("'a'");
 
     checkLowerBoundKeyRange(10, true);
     checkLowerBoundKeyRange(11, false);
     checkLowerBoundKeyRange(12);
-    checkLowerBoundKeyRange(10.1, true);
-    checkLowerBoundKeyRange(11.2, false);
-    checkLowerBoundKeyRange(12.3);
     checkLowerBoundKeyRange("'aa'", true);
     checkLowerBoundKeyRange("'ab'", false);
     checkLowerBoundKeyRange("'ac'");
@@ -100,9 +96,6 @@ function test()
     checkUpperBoundKeyRange(20, true);
     checkUpperBoundKeyRange(21, false);
     checkUpperBoundKeyRange(22);
-    checkUpperBoundKeyRange(20.2, true);
-    checkUpperBoundKeyRange(21.3, false);
-    checkUpperBoundKeyRange(22.4);
     checkUpperBoundKeyRange("'ba'", true);
     checkUpperBoundKeyRange("'bb'", false);
     checkUpperBoundKeyRange("'bc'");
@@ -113,12 +106,6 @@ function test()
     checkBoundKeyRange(33, 43, true, false);
     checkBoundKeyRange(34, 44, true, true);
 
-    checkBoundKeyRange(30.1, 40.2);
-    checkBoundKeyRange(31.3, 41.4, false, false);
-    checkBoundKeyRange(32.5, 42.6, false, true);
-    checkBoundKeyRange(33.7, 43.8, true, false);
-    checkBoundKeyRange(34.9, 44.0, true, true);
-
     checkBoundKeyRange("'aaa'", "'aba'", false, false);
     checkBoundKeyRange("'aab'", "'abb'");
     checkBoundKeyRange("'aac'", "'abc'", false, false);
diff --git a/LayoutTests/storage/indexeddb/objectstore-cursor.html b/LayoutTests/storage/indexeddb/objectstore-cursor.html
index e0db08f..3358917 100644
--- a/LayoutTests/storage/indexeddb/objectstore-cursor.html
+++ b/LayoutTests/storage/indexeddb/objectstore-cursor.html
@@ -16,9 +16,9 @@ if (window.layoutTestController)
  
 // In order of how it should be sorted by IndexedDB.
 window.testData = [
-    2.718281828459,
+    1,
+    2,
     3,
-    3.14159265,
     10,
     // FIXME: Dates.
     "A bigger string",
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index b75849a..1b76675 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,27 @@
+2010-12-09  Sheriff Bot  <webkit.review.bot at gmail.com>
+
+        Unreviewed, rolling out r73616.
+        http://trac.webkit.org/changeset/73616
+        https://bugs.webkit.org/show_bug.cgi?id=50772
+
+        Breaks chromium win build (Requested by hwennborg on #webkit).
+
+        * bindings/v8/IDBBindingUtilities.cpp:
+        (WebCore::createIDBKeyFromValue):
+        * bindings/v8/custom/V8IDBKeyCustom.cpp:
+        (WebCore::toV8):
+        * storage/IDBFactoryBackendImpl.cpp:
+        (WebCore::createTables):
+        (WebCore::IDBFactoryBackendImpl::open):
+        * storage/IDBKey.cpp:
+        (WebCore::IDBKey::IDBKey):
+        (WebCore::IDBKey::fromQuery):
+        (WebCore::IDBKey::bind):
+        (WebCore::IDBKey::bindWithNulls):
+        * storage/IDBKey.h:
+        (WebCore::IDBKey::create):
+        (WebCore::IDBKey::number):
+
 2010-12-09  Antonio Gomes  <agomes at rim.com>
 
         Rubber stamped by by Gustavo Noronha Silva.
diff --git a/WebCore/bindings/v8/IDBBindingUtilities.cpp b/WebCore/bindings/v8/IDBBindingUtilities.cpp
index 509d7c5..644e2d2 100644
--- a/WebCore/bindings/v8/IDBBindingUtilities.cpp
+++ b/WebCore/bindings/v8/IDBBindingUtilities.cpp
@@ -41,8 +41,8 @@ PassRefPtr<IDBKey> createIDBKeyFromValue(v8::Handle<v8::Value> value)
 {
     if (value->IsNull())
         return IDBKey::create();
-    if (value->IsNumber())
-        return IDBKey::create(value->NumberValue());
+    if (value->IsInt32())
+        return IDBKey::create(value->Int32Value());
     if (value->IsString())
         return IDBKey::create(v8ValueToWebCoreString(value));
     if (value->IsDate())
diff --git a/WebCore/bindings/v8/custom/V8IDBKeyCustom.cpp b/WebCore/bindings/v8/custom/V8IDBKeyCustom.cpp
index be05a80..2afa55f 100644
--- a/WebCore/bindings/v8/custom/V8IDBKeyCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8IDBKeyCustom.cpp
@@ -45,7 +45,7 @@ v8::Handle<v8::Value> toV8(IDBKey* key)
     case IDBKey::NullType:
         return v8::Null();
     case IDBKey::NumberType:
-        return v8::Number::New(key->number());
+        return v8::Integer::New(key->number());
     case IDBKey::StringType:
         return v8String(key->string());
     // FIXME: Implement dates.
diff --git a/WebCore/storage/IDBFactoryBackendImpl.cpp b/WebCore/storage/IDBFactoryBackendImpl.cpp
index 45cffeb..1f6b22e 100644
--- a/WebCore/storage/IDBFactoryBackendImpl.cpp
+++ b/WebCore/storage/IDBFactoryBackendImpl.cpp
@@ -35,8 +35,6 @@
 #include "IDBDatabaseException.h"
 #include "IDBSQLiteDatabase.h"
 #include "IDBTransactionCoordinator.h"
-#include "SQLiteStatement.h"
-#include "SQLiteTransaction.h"
 #include "SecurityOrigin.h"
 #include <wtf/Threading.h>
 #include <wtf/UnusedParam.h>
@@ -95,30 +93,25 @@ static PassRefPtr<IDBSQLiteDatabase> openSQLiteDatabase(SecurityOrigin* security
 
 static bool createTables(SQLiteDatabase& sqliteDatabase)
 {
-    if (sqliteDatabase.tableExists("Databases"))
-        return true;
-
     static const char* commands[] = {
-        "CREATE TABLE Databases (id INTEGER PRIMARY KEY, name TEXT NOT NULL, description TEXT NOT NULL, version TEXT NOT NULL)",
-        "CREATE UNIQUE INDEX Databases_name ON Databases(name)",
+        "CREATE TABLE IF NOT EXISTS Databases (id INTEGER PRIMARY KEY, name TEXT NOT NULL, description TEXT NOT NULL, version TEXT NOT NULL)",
+        "CREATE UNIQUE INDEX IF NOT EXISTS Databases_name ON Databases(name)",
 
-        "CREATE TABLE ObjectStores (id INTEGER PRIMARY KEY, name TEXT NOT NULL, keyPath TEXT, doAutoIncrement INTEGER NOT NULL, databaseId INTEGER NOT NULL REFERENCES Databases(id))",
-        "CREATE UNIQUE INDEX ObjectStores_composit ON ObjectStores(databaseId, name)",
+        "CREATE TABLE IF NOT EXISTS ObjectStores (id INTEGER PRIMARY KEY, name TEXT NOT NULL, keyPath TEXT, doAutoIncrement INTEGER NOT NULL, databaseId INTEGER NOT NULL REFERENCES Databases(id))",
+        "CREATE UNIQUE INDEX IF NOT EXISTS ObjectStores_composit ON ObjectStores(databaseId, name)",
 
-        "CREATE TABLE Indexes (id INTEGER PRIMARY KEY, objectStoreId INTEGER NOT NULL REFERENCES ObjectStore(id), name TEXT NOT NULL, keyPath TEXT, isUnique INTEGER NOT NULL)",
-        "CREATE UNIQUE INDEX Indexes_composit ON Indexes(objectStoreId, name)",
+        "CREATE TABLE IF NOT EXISTS Indexes (id INTEGER PRIMARY KEY, objectStoreId INTEGER NOT NULL REFERENCES ObjectStore(id), name TEXT NOT NULL, keyPath TEXT, isUnique INTEGER NOT NULL)",
+        "CREATE UNIQUE INDEX IF NOT EXISTS Indexes_composit ON Indexes(objectStoreId, name)",
 
-        "CREATE TABLE ObjectStoreData (id INTEGER PRIMARY KEY, objectStoreId INTEGER NOT NULL REFERENCES ObjectStore(id), keyString TEXT, keyDate INTEGER, keyNumber INTEGER, value TEXT NOT NULL)",
-        "CREATE UNIQUE INDEX ObjectStoreData_composit ON ObjectStoreData(keyString, keyDate, keyNumber, objectStoreId)",
+        "CREATE TABLE IF NOT EXISTS ObjectStoreData (id INTEGER PRIMARY KEY, objectStoreId INTEGER NOT NULL REFERENCES ObjectStore(id), keyString TEXT, keyDate INTEGER, keyNumber INTEGER, value TEXT NOT NULL)",
+        "CREATE UNIQUE INDEX IF NOT EXISTS ObjectStoreData_composit ON ObjectStoreData(keyString, keyDate, keyNumber, objectStoreId)",
 
-        "CREATE TABLE IndexData (id INTEGER PRIMARY KEY, indexId INTEGER NOT NULL REFERENCES Indexes(id), keyString TEXT, keyDate INTEGER, keyNumber INTEGER, objectStoreDataId INTEGER NOT NULL REFERENCES ObjectStoreData(id))",
-        "CREATE INDEX IndexData_composit ON IndexData(keyString, keyDate, keyNumber, indexId)",
-        "CREATE INDEX IndexData_objectStoreDataId ON IndexData(objectStoreDataId)",
-        "CREATE INDEX IndexData_indexId ON IndexData(indexId)",
+        "CREATE TABLE IF NOT EXISTS IndexData (id INTEGER PRIMARY KEY, indexId INTEGER NOT NULL REFERENCES Indexes(id), keyString TEXT, keyDate INTEGER, keyNumber INTEGER, objectStoreDataId INTEGER NOT NULL REFERENCES ObjectStoreData(id))",
+        "CREATE INDEX IF NOT EXISTS IndexData_composit ON IndexData(keyString, keyDate, keyNumber, indexId)",
+        "CREATE INDEX IF NOT EXISTS IndexData_objectStoreDataId ON IndexData(objectStoreDataId)",
+        "CREATE INDEX IF NOT EXISTS IndexData_indexId ON IndexData(indexId)"
         };
 
-    SQLiteTransaction transaction(sqliteDatabase, false);
-    transaction.begin();
     for (size_t i = 0; i < arraysize(commands); ++i) {
         if (!sqliteDatabase.executeCommand(commands[i])) {
             // FIXME: We should try to recover from this situation. Maybe nuke the database and start over?
@@ -126,80 +119,6 @@ static bool createTables(SQLiteDatabase& sqliteDatabase)
             return false;
         }
     }
-    transaction.commit();
-    return true;
-}
-
-static bool createMetaDataTable(SQLiteDatabase& sqliteDatabase)
-{
-    static const char* commands[] = {
-        "CREATE TABLE MetaData (name TEXT PRIMARY KEY, value NONE)",
-        "INSERT INTO MetaData VALUES ('version', 1)",
-    };
-
-    SQLiteTransaction transaction(sqliteDatabase, false);
-    transaction.begin();
-    for (size_t i = 0; i < arraysize(commands); ++i) {
-        if (!sqliteDatabase.executeCommand(commands[i]))
-            return false;
-    }
-    transaction.commit();
-    return true;
-}
-
-static bool getDatabaseVersion(SQLiteDatabase& sqliteDatabase, int* databaseVersion)
-{
-    SQLiteStatement query(sqliteDatabase, "SELECT value FROM MetaData WHERE name = 'version'");
-    if (query.prepare() != SQLResultOk || query.step() != SQLResultRow)
-        return false;
-
-    *databaseVersion = query.getColumnInt(0);
-    return query.finalize() == SQLResultOk;
-}
-
-static bool migrateDatabase(SQLiteDatabase& sqliteDatabase)
-{
-    if (!sqliteDatabase.tableExists("MetaData")) {
-        if (!createMetaDataTable(sqliteDatabase))
-            return false;
-    }
-
-    int databaseVersion;
-    if (!getDatabaseVersion(sqliteDatabase, &databaseVersion))
-        return false;
-
-    if (databaseVersion == 1) {
-        static const char* commands[] = {
-            "DROP TABLE IF EXISTS ObjectStoreData2",
-            "CREATE TABLE ObjectStoreData2 (id INTEGER PRIMARY KEY, objectStoreId INTEGER NOT NULL REFERENCES ObjectStore(id), keyString TEXT, keyDate REAL, keyNumber REAL, value TEXT NOT NULL)",
-            "INSERT INTO ObjectStoreData2 SELECT * FROM ObjectStoreData",
-            "DROP TABLE ObjectStoreData", // This depends on SQLite not enforcing referential consistency.
-            "ALTER TABLE ObjectStoreData2 RENAME TO ObjectStoreData",
-            "CREATE UNIQUE INDEX ObjectStoreData_composit ON ObjectStoreData(keyString, keyDate, keyNumber, objectStoreId)",
-            "DROP TABLE IF EXISTS IndexData2", // This depends on SQLite not enforcing referential consistency.
-            "CREATE TABLE IndexData2 (id INTEGER PRIMARY KEY, indexId INTEGER NOT NULL REFERENCES Indexes(id), keyString TEXT, keyDate REAL, keyNumber REAL, objectStoreDataId INTEGER NOT NULL REFERENCES ObjectStoreData(id))",
-            "INSERT INTO IndexData2 SELECT * FROM IndexData",
-            "DROP TABLE IndexData",
-            "ALTER TABLE IndexData2 RENAME TO IndexData",
-            "CREATE INDEX IndexData_composit ON IndexData(keyString, keyDate, keyNumber, indexId)",
-            "CREATE INDEX IndexData_objectStoreDataId ON IndexData(objectStoreDataId)",
-            "CREATE INDEX IndexData_indexId ON IndexData(indexId)",
-            "UPDATE MetaData SET value = 2 WHERE name = 'version'",
-        };
-
-        SQLiteTransaction transaction(sqliteDatabase, false);
-        transaction.begin();
-        for (size_t i = 0; i < arraysize(commands); ++i) {
-            if (!sqliteDatabase.executeCommand(commands[i])) {
-                LOG_ERROR("Failed to run the following command for IndexedDB: %s", commands[i]);
-                return false;
-            }
-        }
-        transaction.commit();
-
-        databaseVersion = 2;
-    }
-
     return true;
 }
 
@@ -222,9 +141,8 @@ void IDBFactoryBackendImpl::open(const String& name, PassRefPtr<IDBCallbacks> ca
     else {
         sqliteDatabase = openSQLiteDatabase(securityOrigin.get(), dataDir, maximumSize, fileIdentifier, this);
 
-        if (!sqliteDatabase || !createTables(sqliteDatabase->db()) || !migrateDatabase(sqliteDatabase->db())) {
+        if (!sqliteDatabase || !createTables(sqliteDatabase->db())) {
             callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::UNKNOWN_ERR, "Internal error."));
-            m_sqliteDatabaseMap.set(fileIdentifier, 0);
             return;
         }
         m_sqliteDatabaseMap.set(fileIdentifier, sqliteDatabase.get());
@@ -238,3 +156,4 @@ void IDBFactoryBackendImpl::open(const String& name, PassRefPtr<IDBCallbacks> ca
 } // namespace WebCore
 
 #endif // ENABLE(INDEXED_DATABASE)
+
diff --git a/WebCore/storage/IDBKey.cpp b/WebCore/storage/IDBKey.cpp
index d400382..4f8287a 100644
--- a/WebCore/storage/IDBKey.cpp
+++ b/WebCore/storage/IDBKey.cpp
@@ -38,7 +38,7 @@ IDBKey::IDBKey()
 {
 }
 
-IDBKey::IDBKey(double number)
+IDBKey::IDBKey(int32_t number)
     : m_type(NumberType)
     , m_number(number)
 {
@@ -65,7 +65,7 @@ PassRefPtr<IDBKey> IDBKey::fromQuery(SQLiteStatement& query, int baseColumn)
     }
 
     if (!query.isColumnNull(baseColumn + 2))
-        return IDBKey::create(query.getColumnDouble(baseColumn + 2));
+        return IDBKey::create(query.getColumnInt(baseColumn + 2));
 
     return IDBKey::create(); // Null.
 }
@@ -147,7 +147,7 @@ int IDBKey::bind(SQLiteStatement& query, int column) const
         query.bindText(column, m_string);
         return 1;
     case IDBKey::NumberType:
-        query.bindDouble(column, m_number);
+        query.bindInt(column, m_number);
         return 1;
     case IDBKey::NullType:
         return 0;
@@ -168,7 +168,7 @@ void IDBKey::bindWithNulls(SQLiteStatement& query, int baseColumn) const
     case IDBKey::NumberType:
         query.bindNull(baseColumn + 0);
         query.bindNull(baseColumn + 1);
-        query.bindDouble(baseColumn + 2, m_number);
+        query.bindInt(baseColumn + 2, m_number);
         break;
     case IDBKey::NullType:
         query.bindNull(baseColumn + 0);
diff --git a/WebCore/storage/IDBKey.h b/WebCore/storage/IDBKey.h
index 051351f..9a27742 100644
--- a/WebCore/storage/IDBKey.h
+++ b/WebCore/storage/IDBKey.h
@@ -43,7 +43,7 @@ public:
     {
         return adoptRef(new IDBKey());
     }
-    static PassRefPtr<IDBKey> create(double number)
+    static PassRefPtr<IDBKey> create(int32_t number)
     {
         return adoptRef(new IDBKey(number));
     }
@@ -68,7 +68,7 @@ public:
         return m_string;
     }
 
-    double number() const
+    int32_t number() const
     {
         ASSERT(m_type == NumberType);
         return m_number;
@@ -88,12 +88,12 @@ public:
 
 private:
     IDBKey();
-    explicit IDBKey(double);
+    explicit IDBKey(int32_t);
     explicit IDBKey(const String&);
 
     Type m_type;
     String m_string;
-    double m_number;
+    int32_t m_number;
 };
 
 }
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index c91266c..bad2897 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,17 @@
+2010-12-09  Sheriff Bot  <webkit.review.bot at gmail.com>
+
+        Unreviewed, rolling out r73616.
+        http://trac.webkit.org/changeset/73616
+        https://bugs.webkit.org/show_bug.cgi?id=50772
+
+        Breaks chromium win build (Requested by hwennborg on #webkit).
+
+        * public/WebIDBKey.h:
+        (WebKit::WebIDBKey::WebIDBKey):
+        * src/WebIDBKey.cpp:
+        (WebKit::WebIDBKey::assign):
+        (WebKit::WebIDBKey::number):
+
 2010-12-09  Hans Wennborg  <hans at chromium.org>
 
         Reviewed by Jeremy Orlow.
diff --git a/WebKit/chromium/public/WebIDBKey.h b/WebKit/chromium/public/WebIDBKey.h
index c77a5b7..171fe78 100644
--- a/WebKit/chromium/public/WebIDBKey.h
+++ b/WebKit/chromium/public/WebIDBKey.h
@@ -48,7 +48,7 @@ public:
     WEBKIT_API static WebIDBKey createFromValueAndKeyPath(const WebSerializedScriptValue&, const WebIDBKeyPath&);
 
     WebIDBKey(const WebString& string) { assign(string); }
-    WebIDBKey(double number) { assign(number); }
+    WebIDBKey(int32_t number) { assign(number); }
     WebIDBKey(const WebIDBKey& e) { assign(e); }
     WebIDBKey& operator=(const WebIDBKey& e)
     {
@@ -59,7 +59,7 @@ public:
     WEBKIT_API void assign(const WebIDBKey&);
     WEBKIT_API void assignNull();
     WEBKIT_API void assign(const WebString&);
-    WEBKIT_API void assign(double);
+    WEBKIT_API void assign(int32_t);
     WEBKIT_API void assignInvalid();
     WEBKIT_API void reset();
 
@@ -73,7 +73,7 @@ public:
 
     WEBKIT_API Type type() const;
     WEBKIT_API WebString string() const; // Only valid for StringType.
-    WEBKIT_API double number() const; // Only valid for numberType.
+    WEBKIT_API int32_t number() const; // Only valid for numberType.
 
 #if WEBKIT_IMPLEMENTATION
     WebIDBKey(const WTF::PassRefPtr<WebCore::IDBKey>&);
diff --git a/WebKit/chromium/src/WebIDBKey.cpp b/WebKit/chromium/src/WebIDBKey.cpp
index b7a7db8..413a9e6 100644
--- a/WebKit/chromium/src/WebIDBKey.cpp
+++ b/WebKit/chromium/src/WebIDBKey.cpp
@@ -77,7 +77,7 @@ void WebIDBKey::assign(const WebString& string)
     m_private = IDBKey::create(string);
 }
 
-void WebIDBKey::assign(double number)
+void WebIDBKey::assign(int32_t number)
 {
     m_private = IDBKey::create(number);
 }
@@ -104,7 +104,7 @@ WebString WebIDBKey::string() const
     return m_private->string();
 }
 
-double WebIDBKey::number() const
+int32_t WebIDBKey::number() const
 {
     return m_private->number();
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list