Skip to content
  • commit-queue@webkit.org's avatar
    IndexedDB: Use ScriptValue instead of SerializedScriptValue for get/openCursor · b90c8b80
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=95409
    
    Patch by Alec Flett <alecflett@chromium.org> on 2012-09-17
    Reviewed by Kentaro Hara.
    
    Source/WebCore:
    
    This reduces a bunch of serialization/deserialization when writing
    to objectstores with indexes.
    
    No new tests, as this covers core functionality of IndexedDB, and
    almost every test would fail. Some likely tests that would fail
    fundamentally include:
    
    storage/indexeddb/objectstore-basics.html
    storage/indexeddb/cursor-basics.html
    storage/indexeddb/index-basics.html
    
    * Modules/indexeddb/IDBAny.cpp:
    (WebCore::IDBAny::scriptValue):
    (WebCore::IDBAny::integer):
    (WebCore):
    (WebCore::IDBAny::set):
    * Modules/indexeddb/IDBAny.h:
    (WebCore):
    (IDBAny):
    (WebCore::IDBAny::create):
    * Modules/indexeddb/IDBCursor.cpp:
    (WebCore::IDBCursor::setValueReady):
    * Modules/indexeddb/IDBCursor.h:
    (WebCore):
    (IDBCursor):
    * Modules/indexeddb/IDBDatabase.cpp:
    (WebCore::IDBDatabase::version):
    * Modules/indexeddb/IDBObjectStore.cpp:
    (WebCore):
    * Modules/indexeddb/IDBRequest.cpp:
    (WebCore::IDBRequest::setResultCursor):
    (WebCore::IDBRequest::onSuccess):
    (WebCore):
    (WebCore::IDBRequest::onSuccessInternal):
    (WebCore::IDBRequest::dispatchEvent):
    * Modules/indexeddb/IDBRequest.h:
    (IDBRequest):
    * Modules/indexeddb/IDBTransactionCallbacks.h:
    * bindings/v8/IDBBindingUtilities.cpp:
    (WebCore::deserializeIDBValue):
    (WebCore::injectIDBKeyIntoScriptValue):
    * bindings/v8/IDBBindingUtilities.h:
    (WebCore):
    * bindings/v8/custom/V8IDBAnyCustom.cpp:
    (WebCore::toV8):
    
    Source/WebKit/chromium:
    
    This removes a bunch of tests that have been migrated to
    LayoutTests, in https://bugs.webkit.org/show_bug.cgi?id=96818.
    
    * tests/IDBBindingUtilitiesTest.cpp:
    (WebCore::checkKeyFromValueAndKeyPathInternal):
    (WebCore::checkKeyPathNullValue):
    (WebCore::injectKey):
    (WebCore::checkInjection):
    (WebCore::checkInjectionFails):
    (WebCore::checkKeyPathStringValue):
    (WebCore::checkKeyPathNumberValue):
    (WebCore::TEST):
    * tests/IDBKeyPathTest.cpp:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128789 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    b90c8b80