<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Modern IDB: Ref-cycles and leaks"
   href="https://bugs.webkit.org/show_bug.cgi?id=154015#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Modern IDB: Ref-cycles and leaks"
   href="https://bugs.webkit.org/show_bug.cgi?id=154015">bug 154015</a>
              from <span class="vcard"><a class="email" href="mailto:beidson&#64;apple.com" title="Brady Eidson &lt;beidson&#64;apple.com&gt;"> <span class="fn">Brady Eidson</span></a>
</span></b>
        <pre>I'll be exploring this bit by bit to come up with the best lifetime strategy and logging my findings here.

First finding that directs future exploration:
On a very basic test page that:
-opens a new database
-creates one object store
-lets the transaction finish
-navigates away to a new page

...The IDBOpenDBRequest remains alive with a ref-count of 1. The holder of that ref is the IDBTransaction that represents the version change transaction.

Additionally, there's a circular reference between the IDBOpenDBRequest and the IDBTransaction.

The transaction doesn't need the request anymore after the last event has fired, so that ref should be broken, which would break the ref on the transaction itself.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>