Changeset 91309 in webkit


Ignore:
Timestamp:
Jul 19, 2011 3:13:56 PM (13 years ago)
Author:
Nate Chapin
Message:

Source/WebCore: [V8] Wait until no v8 context is on the stack before
cancelling pending indexed db transactions.
https://bugs.webkit.org/show_bug.cgi?id=64552

Reviewed by Adam Barth.

Test: storage/indexeddb/transaction-abort-with-js-recursion.html

  • bindings/v8/V8Proxy.cpp:

(WebCore::V8Proxy::didLeaveScriptContext):

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=64552.

Reviewed by Adam Barth.

  • storage/indexeddb/transaction-abort-with-js-recursion-expected.txt: Added.
  • storage/indexeddb/transaction-abort-with-js-recursion.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r91308 r91309  
     12011-07-19  Nate Chapin  <japhet@chromium.org>
     2
     3        Test for https://bugs.webkit.org/show_bug.cgi?id=64552.
     4
     5        Reviewed by Adam Barth.
     6
     7        * storage/indexeddb/transaction-abort-with-js-recursion-expected.txt: Added.
     8        * storage/indexeddb/transaction-abort-with-js-recursion.html: Added.
     9
    1102011-07-19  Mike West  <mkwst@chromium.org>
    211
  • trunk/Source/WebCore/ChangeLog

    r91308 r91309  
     12011-07-19  Nate Chapin  <japhet@chromium.org>
     2
     3        [V8] Wait until no v8 context is on the stack before
     4        cancelling pending indexed db transactions.
     5        https://bugs.webkit.org/show_bug.cgi?id=64552
     6
     7        Reviewed by Adam Barth.
     8
     9        Test: storage/indexeddb/transaction-abort-with-js-recursion.html
     10
     11        * bindings/v8/V8Proxy.cpp:
     12        (WebCore::V8Proxy::didLeaveScriptContext):
     13
    1142011-07-19  MORITA Hajime  <morrita@google.com>
    215
  • trunk/Source/WebCore/bindings/v8/V8Proxy.cpp

    r88100 r91309  
    612612    if (!page)
    613613        return;
     614    // If we've just left a top level script context and local storage has been
     615    // instantiated, we must ensure that any storage locks have been freed.
     616    // Per http://dev.w3.org/html5/spec/Overview.html#storage-mutex
     617    if (m_recursion)
     618        return;
    614619#if ENABLE(INDEXED_DATABASE)
    615620    // If we've just left a script context and indexed database has been
     
    618623    IDBPendingTransactionMonitor::abortPendingTransactions();
    619624#endif // ENABLE(INDEXED_DATABASE)
    620     // If we've just left a top level script context and local storage has been
    621     // instantiated, we must ensure that any storage locks have been freed.
    622     // Per http://dev.w3.org/html5/spec/Overview.html#storage-mutex
    623     if (m_recursion != 0)
    624         return;
    625625    if (page->group().hasLocalStorage())
    626626        page->group().localStorage()->unlock();
Note: See TracChangeset for help on using the changeset viewer.