<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[189698] releases/WebKitGTK/webkit-2.10</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/189698">189698</a></dd>
<dt>Author</dt> <dd>carlosgc@webkit.org</dd>
<dt>Date</dt> <dd>2015-09-14 02:04:00 -0700 (Mon, 14 Sep 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merge <a href="http://trac.webkit.org/projects/webkit/changeset/189164">r189164</a> - REGRESSION (<a href="http://trac.webkit.org/projects/webkit/changeset/188820">r188820</a>): fast/dom/HTMLObjectElement/object-as-frame.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=148533

Reviewed by Chris Dumez.

Source/WebCore:

&lt;object&gt; element may cause document load event fire too early. By making data URL
loading faster <a href="http://trac.webkit.org/projects/webkit/changeset/188820">r188820</a> made this condition more likely to trigger in this test.

* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):

    Post-parsing style recalc may trigger loads for &lt;object&gt; elements. If all other loads have already
    completed this may cause load event to fire synchronously from the initial empty document construction.

    Fix by preventing load events during subframe initialization. They will be fired if needed by the
    subsequent explicit call to FrameLoader::checkCompleted.

LayoutTests:

* TestExpectations:

    Unskip.

* fast/dom/HTMLObjectElement/object-as-frame.html:

    Use more logical text in the data url.

* http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
* http/tests/loading/basic-credentials-sent-automatically-expected.txt:
* platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
* platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt:
* webarchive/loading/object-expected.txt:

    Update test results.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#releasesWebKitGTKwebkit210LayoutTestsChangeLog">releases/WebKitGTK/webkit-2.10/LayoutTests/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit210LayoutTestsfastdomHTMLObjectElementobjectasframehtml">releases/WebKitGTK/webkit-2.10/LayoutTests/fast/dom/HTMLObjectElement/object-as-frame.html</a></li>
<li><a href="#releasesWebKitGTKwebkit210LayoutTestshttptestsloadingbasicauthresendwrongcredentialsexpectedtxt">releases/WebKitGTK/webkit-2.10/LayoutTests/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt</a></li>
<li><a href="#releasesWebKitGTKwebkit210LayoutTestshttptestsloadingbasiccredentialssentautomaticallyexpectedtxt">releases/WebKitGTK/webkit-2.10/LayoutTests/http/tests/loading/basic-credentials-sent-automatically-expected.txt</a></li>
<li><a href="#releasesWebKitGTKwebkit210LayoutTestsplatformwk2httptestsloadingbasicauthresendwrongcredentialsexpectedtxt">releases/WebKitGTK/webkit-2.10/LayoutTests/platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt</a></li>
<li><a href="#releasesWebKitGTKwebkit210LayoutTestsplatformwk2httptestsloadingbasiccredentialssentautomaticallyexpectedtxt">releases/WebKitGTK/webkit-2.10/LayoutTests/platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt</a></li>
<li><a href="#releasesWebKitGTKwebkit210LayoutTestswebarchiveloadingobjectexpectedtxt">releases/WebKitGTK/webkit-2.10/LayoutTests/webarchive/loading/object-expected.txt</a></li>
<li><a href="#releasesWebKitGTKwebkit210SourceWebCoreChangeLog">releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit210SourceWebCoreloaderSubframeLoadercpp">releases/WebKitGTK/webkit-2.10/Source/WebCore/loader/SubframeLoader.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="releasesWebKitGTKwebkit210LayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.10/LayoutTests/ChangeLog (189697 => 189698)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.10/LayoutTests/ChangeLog        2015-09-14 08:59:21 UTC (rev 189697)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/ChangeLog        2015-09-14 09:04:00 UTC (rev 189698)
</span><span class="lines">@@ -1,3 +1,26 @@
</span><ins>+2015-08-31  Antti Koivisto  &lt;antti@apple.com&gt;
+
+        REGRESSION (r188820): fast/dom/HTMLObjectElement/object-as-frame.html is flaky
+        https://bugs.webkit.org/show_bug.cgi?id=148533
+
+        Reviewed by Chris Dumez.
+
+        * TestExpectations:
+
+            Unskip.
+
+        * fast/dom/HTMLObjectElement/object-as-frame.html:
+
+            Use more logical text in the data url.
+
+        * http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
+        * http/tests/loading/basic-credentials-sent-automatically-expected.txt:
+        * platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
+        * platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt:
+        * webarchive/loading/object-expected.txt:
+
+            Update test results.
+
</ins><span class="cx"> 2015-08-21  Doug Russell  &lt;d_russell@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         AX: Table with CSS that makes a row anonymous can return NULL from cellForColumnAndRow
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit210LayoutTestsfastdomHTMLObjectElementobjectasframehtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.10/LayoutTests/fast/dom/HTMLObjectElement/object-as-frame.html (189697 => 189698)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.10/LayoutTests/fast/dom/HTMLObjectElement/object-as-frame.html        2015-09-14 08:59:21 UTC (rev 189697)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/fast/dom/HTMLObjectElement/object-as-frame.html        2015-09-14 09:04:00 UTC (rev 189698)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> &lt;body onload=&quot;runTests()&quot;&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;iframe name=&quot;frame&quot; src=&quot;data:text/html,Old contents of iframe&quot;&gt;&lt;/iframe&gt;
</span><del>-&lt;object name=&quot;obj&quot; type=&quot;text/html&quot; data=&quot;data:text/html,New contents of frame&quot;&gt;&lt;/object&gt;
</del><ins>+&lt;object name=&quot;obj&quot; type=&quot;text/html&quot; data=&quot;data:text/html,Old contents of object&quot;&gt;&lt;/object&gt;
</ins><span class="cx"> 
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit210LayoutTestshttptestsloadingbasicauthresendwrongcredentialsexpectedtxt"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.10/LayoutTests/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt (189697 => 189698)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.10/LayoutTests/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt        2015-09-14 08:59:21 UTC (rev 189697)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt        2015-09-14 09:04:00 UTC (rev 189698)
</span><span class="lines">@@ -5,7 +5,6 @@
</span><span class="cx"> http://127.0.0.1:8000/loading/resources/test2/protected-resource.php - didReceiveAuthenticationChallenge - Responding with wrongusername:wrongpassword
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didCommitLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didFinishDocumentLoadForFrame
</span><del>-main frame - didHandleOnloadEventsForFrame
</del><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame1--&gt;--&gt;&quot; - didStartProvisionalLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didHandleOnloadEventsForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didFinishLoadForFrame
</span><span class="lines">@@ -13,6 +12,7 @@
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame1--&gt;--&gt;&quot; - didCommitLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame1--&gt;--&gt;&quot; - didFinishDocumentLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame1--&gt;--&gt;&quot; - didHandleOnloadEventsForFrame
</span><ins>+main frame - didHandleOnloadEventsForFrame
</ins><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame1--&gt;--&gt;&quot; - didFinishLoadForFrame
</span><span class="cx"> main frame - didFinishLoadForFrame
</span><span class="cx"> This test makes sure that once WebCore preemptively sends out Basic credentials it thinks apply to a new resource, and that resource response with a 401 challenge, that it doesn't try to send the same wrong credentials a second time.
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit210LayoutTestshttptestsloadingbasiccredentialssentautomaticallyexpectedtxt"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.10/LayoutTests/http/tests/loading/basic-credentials-sent-automatically-expected.txt (189697 => 189698)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.10/LayoutTests/http/tests/loading/basic-credentials-sent-automatically-expected.txt        2015-09-14 08:59:21 UTC (rev 189697)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/http/tests/loading/basic-credentials-sent-automatically-expected.txt        2015-09-14 09:04:00 UTC (rev 189698)
</span><span class="lines">@@ -5,7 +5,6 @@
</span><span class="cx"> http://127.0.0.1:8000/loading/resources/subresources/protected-resource.php - didReceiveAuthenticationChallenge - Responding with first:first-pw
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didCommitLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didFinishDocumentLoadForFrame
</span><del>-main frame - didHandleOnloadEventsForFrame
</del><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame1--&gt;--&gt;&quot; - didStartProvisionalLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didHandleOnloadEventsForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didFinishLoadForFrame
</span><span class="lines">@@ -23,6 +22,7 @@
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame3--&gt;--&gt;&quot; - didCommitLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame3--&gt;--&gt;&quot; - didFinishDocumentLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame3--&gt;--&gt;&quot; - didHandleOnloadEventsForFrame
</span><ins>+main frame - didHandleOnloadEventsForFrame
</ins><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame3--&gt;--&gt;&quot; - didFinishLoadForFrame
</span><span class="cx"> main frame - didFinishLoadForFrame
</span><span class="cx"> This test makes sure that once an HTTP Basic Auth. protected path is authenticated once, urls that emanate from that path automatically have their credentials sent without a challenge.
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit210LayoutTestsplatformwk2httptestsloadingbasicauthresendwrongcredentialsexpectedtxt"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.10/LayoutTests/platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt (189697 => 189698)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.10/LayoutTests/platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt        2015-09-14 08:59:21 UTC (rev 189697)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt        2015-09-14 09:04:00 UTC (rev 189698)
</span><span class="lines">@@ -5,7 +5,6 @@
</span><span class="cx"> 127.0.0.1:8000 - didReceiveAuthenticationChallenge - Responding with wrongusername:wrongpassword
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didCommitLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didFinishDocumentLoadForFrame
</span><del>-main frame - didHandleOnloadEventsForFrame
</del><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame1--&gt;--&gt;&quot; - didStartProvisionalLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didHandleOnloadEventsForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didFinishLoadForFrame
</span><span class="lines">@@ -13,6 +12,7 @@
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame1--&gt;--&gt;&quot; - didCommitLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame1--&gt;--&gt;&quot; - didFinishDocumentLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame1--&gt;--&gt;&quot; - didHandleOnloadEventsForFrame
</span><ins>+main frame - didHandleOnloadEventsForFrame
</ins><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame1--&gt;--&gt;&quot; - didFinishLoadForFrame
</span><span class="cx"> main frame - didFinishLoadForFrame
</span><span class="cx"> This test makes sure that once WebCore preemptively sends out Basic credentials it thinks apply to a new resource, and that resource response with a 401 challenge, that it doesn't try to send the same wrong credentials a second time.
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit210LayoutTestsplatformwk2httptestsloadingbasiccredentialssentautomaticallyexpectedtxt"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.10/LayoutTests/platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt (189697 => 189698)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.10/LayoutTests/platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt        2015-09-14 08:59:21 UTC (rev 189697)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt        2015-09-14 09:04:00 UTC (rev 189698)
</span><span class="lines">@@ -5,7 +5,6 @@
</span><span class="cx"> 127.0.0.1:8000 - didReceiveAuthenticationChallenge - Responding with first:first-pw
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didCommitLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didFinishDocumentLoadForFrame
</span><del>-main frame - didHandleOnloadEventsForFrame
</del><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame1--&gt;--&gt;&quot; - didStartProvisionalLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didHandleOnloadEventsForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didFinishLoadForFrame
</span><span class="lines">@@ -23,6 +22,7 @@
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame3--&gt;--&gt;&quot; - didCommitLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame3--&gt;--&gt;&quot; - didFinishDocumentLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame3--&gt;--&gt;&quot; - didHandleOnloadEventsForFrame
</span><ins>+main frame - didHandleOnloadEventsForFrame
</ins><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame3--&gt;--&gt;&quot; - didFinishLoadForFrame
</span><span class="cx"> main frame - didFinishLoadForFrame
</span><span class="cx"> This test makes sure that once an HTTP Basic Auth. protected path is authenticated once, urls that emanate from that path automatically have their credentials sent without a challenge.
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit210LayoutTestswebarchiveloadingobjectexpectedtxt"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.10/LayoutTests/webarchive/loading/object-expected.txt (189697 => 189698)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.10/LayoutTests/webarchive/loading/object-expected.txt        2015-09-14 08:59:21 UTC (rev 189697)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/webarchive/loading/object-expected.txt        2015-09-14 09:04:00 UTC (rev 189698)
</span><span class="lines">@@ -6,12 +6,12 @@
</span><span class="cx"> main frame - didStartProvisionalLoadForFrame
</span><span class="cx"> main frame - didCancelClientRedirectForFrame
</span><span class="cx"> main frame - didCommitLoadForFrame
</span><del>-main frame - didHandleOnloadEventsForFrame
</del><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didStartProvisionalLoadForFrame
</span><span class="cx"> main frame - didFinishDocumentLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didCommitLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didFinishDocumentLoadForFrame
</span><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didHandleOnloadEventsForFrame
</span><ins>+main frame - didHandleOnloadEventsForFrame
</ins><span class="cx"> frame &quot;&lt;!--framePath //&lt;!--frame0--&gt;--&gt;&quot; - didFinishLoadForFrame
</span><span class="cx"> main frame - didFinishLoadForFrame
</span><span class="cx"> Loading this webarchive with an object should not crash.
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit210SourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog (189697 => 189698)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog        2015-09-14 08:59:21 UTC (rev 189697)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog        2015-09-14 09:04:00 UTC (rev 189698)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2015-08-31  Antti Koivisto  &lt;antti@apple.com&gt;
+
+        REGRESSION (r188820): fast/dom/HTMLObjectElement/object-as-frame.html is flaky
+        https://bugs.webkit.org/show_bug.cgi?id=148533
+
+        Reviewed by Chris Dumez.
+
+        &lt;object&gt; element may cause document load event fire too early. By making data URL
+        loading faster r188820 made this condition more likely to trigger in this test.
+
+        * loader/SubframeLoader.cpp:
+        (WebCore::SubframeLoader::loadSubframe):
+
+            Post-parsing style recalc may trigger loads for &lt;object&gt; elements. If all other loads have already
+            completed this may cause load event to fire synchronously from the initial empty document construction.
+
+            Fix by preventing load events during subframe initialization. They will be fired if needed by the
+            subsequent explicit call to FrameLoader::checkCompleted.
+
</ins><span class="cx"> 2015-08-22  Antti Koivisto  &lt;antti@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Decode data URLs in web process
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit210SourceWebCoreloaderSubframeLoadercpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/loader/SubframeLoader.cpp (189697 => 189698)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.10/Source/WebCore/loader/SubframeLoader.cpp        2015-09-14 08:59:21 UTC (rev 189697)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/loader/SubframeLoader.cpp        2015-09-14 09:04:00 UTC (rev 189698)
</span><span class="lines">@@ -320,8 +320,14 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     String referrerToUse = SecurityPolicy::generateReferrerHeader(ownerElement.document().referrerPolicy(), url, referrer);
</span><ins>+
+    // Prevent initial empty document load from triggering load events.
+    m_frame.document()-&gt;incrementLoadEventDelayCount();
+
</ins><span class="cx">     RefPtr&lt;Frame&gt; frame = m_frame.loader().client().createFrame(url, name, &amp;ownerElement, referrerToUse, allowsScrolling, marginWidth, marginHeight);
</span><span class="cx"> 
</span><ins>+    m_frame.document()-&gt;decrementLoadEventDelayCount();
+
</ins><span class="cx">     if (!frame)  {
</span><span class="cx">         m_frame.loader().checkCallImplicitClose();
</span><span class="cx">         return nullptr;
</span></span></pre>
</div>
</div>

</body>
</html>