Title: [163892] trunk
Revision
163892
Author
beid...@apple.com
Date
2014-02-11 11:31:46 -0800 (Tue, 11 Feb 2014)

Log Message

IndexedDB tests on some bots are flakey (timeouts)
<rdar://problem/16038745> and https://bugs.webkit.org/show_bug.cgi?id=128612

Reviewed by Sam Weinig.

Source/WebKit2:

When messing with JSC VM’s and such, always use APIEntryShim instead of JSLockHolder.
*ESPECIALLY* when dealing with multiple threads.

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):

LayoutTests:

* platform/mac-wk2/TestExpectations: Reenable the tests.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (163891 => 163892)


--- trunk/LayoutTests/ChangeLog	2014-02-11 19:27:12 UTC (rev 163891)
+++ trunk/LayoutTests/ChangeLog	2014-02-11 19:31:46 UTC (rev 163892)
@@ -1,3 +1,12 @@
+2014-02-11  Brady Eidson  <beid...@apple.com>
+
+        IndexedDB tests on some bots are flakey (timeouts)
+        <rdar://problem/16038745> and https://bugs.webkit.org/show_bug.cgi?id=128612
+
+        Reviewed by Sam Weinig.
+
+        * platform/mac-wk2/TestExpectations: Reenable the tests.
+
 2014-02-11  James Craig  <jcr...@apple.com>
 
         Web Inspector: AX: Accessibility Node Inspection

Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (163891 => 163892)


--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2014-02-11 19:27:12 UTC (rev 163891)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2014-02-11 19:31:46 UTC (rev 163892)
@@ -472,20 +472,20 @@
 # All IndexedDB tests are skipped in WK1.
 # Reenable individual tests here that are known to pass, with the eventual goal of re-enabling the entire directory.
 # (Except, skip them for now since https://bugs.webkit.org/show_bug.cgi?id=128341 is getting in the way of testing in general)
-# storage/indexeddb/mozilla/add-twice-failure.html [ Pass ]
-# storage/indexeddb/mozilla/autoincrement-indexes.html [ Pass ]
-# storage/indexeddb/mozilla/clear.html [ Pass ]
-# storage/indexeddb/mozilla/create-index-with-integer-keys.html [ Pass ]
-# storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html [ Pass ]
-# storage/indexeddb/mozilla/cursor-mutation.html [ Pass ]
-# storage/indexeddb/mozilla/cursor-update-updates-indexes.html [ Pass ]
-# storage/indexeddb/mozilla/cursors.html [ Pass ]
-# storage/indexeddb/mozilla/index-prev-no-duplicate.html [ Pass ]
-# storage/indexeddb/mozilla/indexes.html [ Pass ]
-# storage/indexeddb/mozilla/object-cursors.html [ Pass ]
-# storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html [ Pass ]
-# storage/indexeddb/mozilla/object-store-remove-values.html [ Pass ]
-# storage/indexeddb/mozilla/versionchange-abort.html [ Pass ]
+storage/indexeddb/mozilla/add-twice-failure.html [ Pass ]
+storage/indexeddb/mozilla/autoincrement-indexes.html [ Pass ]
+storage/indexeddb/mozilla/clear.html [ Pass ]
+storage/indexeddb/mozilla/create-index-with-integer-keys.html [ Pass ]
+storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html [ Pass ]
+storage/indexeddb/mozilla/cursor-mutation.html [ Pass ]
+storage/indexeddb/mozilla/cursor-update-updates-indexes.html [ Pass ]
+storage/indexeddb/mozilla/cursors.html [ Pass ]
+storage/indexeddb/mozilla/index-prev-no-duplicate.html [ Pass ]
+storage/indexeddb/mozilla/indexes.html [ Pass ]
+storage/indexeddb/mozilla/object-cursors.html [ Pass ]
+storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html [ Pass ]
+storage/indexeddb/mozilla/object-store-remove-values.html [ Pass ]
+storage/indexeddb/mozilla/versionchange-abort.html [ Pass ]
 
 ### END OF (5) Features that are not supported in WebKit1, so skipped in mac/TestExpectations then re-enabled here
 ########################################

Modified: trunk/Source/WebKit2/ChangeLog (163891 => 163892)


--- trunk/Source/WebKit2/ChangeLog	2014-02-11 19:27:12 UTC (rev 163891)
+++ trunk/Source/WebKit2/ChangeLog	2014-02-11 19:31:46 UTC (rev 163892)
@@ -1,3 +1,17 @@
+2014-02-11  Brady Eidson  <beid...@apple.com>
+
+        IndexedDB tests on some bots are flakey (timeouts)
+        <rdar://problem/16038745> and https://bugs.webkit.org/show_bug.cgi?id=128612
+
+        Reviewed by Sam Weinig.
+
+        When messing with JSC VM’s and such, always use APIEntryShim instead of JSLockHolder.
+        *ESPECIALLY* when dealing with multiple threads.
+
+        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
+        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): 
+        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
+
 2014-02-11  Dan Bernstein  <m...@apple.com>
 
         Stop using PLATFORM(MAC) in WebKit2/Shared except where it means “OS X but not iOS”

Modified: trunk/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp (163891 => 163892)


--- trunk/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp	2014-02-11 19:27:12 UTC (rev 163891)
+++ trunk/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp	2014-02-11 19:31:46 UTC (rev 163892)
@@ -33,6 +33,7 @@
 #include "Logging.h"
 #include "SQLiteIDBCursor.h"
 #include "SQLiteIDBTransaction.h"
+#include <_javascript_Core/APIShims.h>
 #include <WebCore/FileSystem.h>
 #include <WebCore/IDBBindingUtilities.h>
 #include <WebCore/IDBDatabaseMetadata.h>
@@ -76,7 +77,7 @@
     m_sqliteDB = nullptr;
 
     if (m_vm) {
-        JSLockHolder lockHolder(m_vm.get());
+        APIEntryShim shim(m_vm.get());
         m_globalObject.clear();
         m_vm = nullptr;
     }
@@ -630,7 +631,7 @@
 
     m_cursors.set(cursor->identifier(), cursor);
 
-    OwnPtr<JSLockHolder> lockHolder;
+    OwnPtr<APIEntryShim> shim;
     while (!cursor->currentKey().isNull) {
         const IDBKeyData& key = cursor->currentKey();
         const Vector<uint8_t>& valueBuffer = cursor->currentValueBuffer();
@@ -638,12 +639,12 @@
         if (!m_globalObject) {
             ASSERT(!m_vm);
             m_vm = VM::create();
-            lockHolder = adoptPtr(new JSLockHolder(m_vm.get()));
+            shim = adoptPtr(new APIEntryShim(m_vm.get()));
             m_globalObject.set(*m_vm, JSGlobalObject::create(*m_vm, JSGlobalObject::createStructure(*m_vm, jsNull())));
         }
 
-        if (!lockHolder)
-            lockHolder = adoptPtr(new JSLockHolder(m_vm.get()));
+        if (!shim)
+            shim = adoptPtr(new APIEntryShim(m_vm.get()));
 
         Deprecated::ScriptValue value = deserializeIDBValueBuffer(m_globalObject->globalExec(), valueBuffer, true);
         Vector<IDBKeyData> indexKeys;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to