<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:mcatanzaro&#64;igalia.com" title="Michael Catanzaro &lt;mcatanzaro&#64;igalia.com&gt;"> <span class="fn">Michael Catanzaro</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Inconsistencies in main resource load delegates when loading from history"
   href="https://bugs.webkit.org/show_bug.cgi?id=150927">bug 150927</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">CC</td>
           <td>
               &nbsp;
           </td>
           <td>mcatanzaro&#64;igalia.com
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Inconsistencies in main resource load delegates when loading from history"
   href="https://bugs.webkit.org/show_bug.cgi?id=150927#c15">Comment # 15</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Inconsistencies in main resource load delegates when loading from history"
   href="https://bugs.webkit.org/show_bug.cgi?id=150927">bug 150927</a>
              from <span class="vcard"><a class="email" href="mailto:mcatanzaro&#64;igalia.com" title="Michael Catanzaro &lt;mcatanzaro&#64;igalia.com&gt;"> <span class="fn">Michael Catanzaro</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=150927#c12">comment #12</a>)
<span class="quote">&gt; &gt; LayoutTests/ChangeLog:9
&gt; &gt; +        Add test to check that load delegates are the same when loading
&gt; &gt; +        from history with the page cache enabled and disabled.
&gt; 
&gt; Why is this right? There is no loading when restoring a page from page
&gt; cache, so it's not clear to me why delegates should be the same.</span >

Applications get very, very confused when load events happen out of order. To make it easier to write applications, we have an API guarantee that events will only occur in the order STARTED -&gt; REDIRECTED -&gt; COMMITTED -&gt; FINISHED. But we currently implement this guarantee with hacks in the GTK+ WebKitWebView object, to delay the emission of WebCore events when they arrive out of order when loading from the page cache. So when loading from the page cache, the load state exposed by our API is different than the load state exposed by WebCore. We've found this leads to $BUGS.

For example, after COMMITTED apps expect to be able to get TLS certificate info, but when loading from the page cache, we transition to the COMMITTED state for the load after WebCore has already transitioned to STARTED for the next load, and the TLS certificate info is NULL when we've guaranteed it not to be because it got cleared when WebCore transitioned to STARTED. It's going to be difficult for us to fix all such issues when discovered. I'm actually surprised that you're not having similar bugs.</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>