<!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>[177890] releases/WebKitGTK/webkit-2.4</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/177890">177890</a></dd>
<dt>Author</dt> <dd>carlosgc@webkit.org</dd>
<dt>Date</dt> <dd>2015-01-05 01:05:26 -0800 (Mon, 05 Jan 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Merge <a href="http://trac.webkit.org/projects/webkit/changeset/169475">r169475</a> - Don't dispatch 'beforeload' event inside FrameView::layout()
<https://bugs.webkit.org/show_bug.cgi?id=132621>
Reviewed by Brent Fulgham.
Source/WebCore:
Tests: fast/events/beforeload-assertion.html
fast/events/beforeload-iframe-crash.html
fast/events/beforeload-input-time-crash.html
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
* dom/Document.h:
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::renderWidgetForJSBindings):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderWidgetForJSBindings):
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired):
(WebCore::FrameView::flushAnyPendingPostLayoutTasks):
(WebCore::FrameView::performPostLayoutTasks):
* page/FrameView.h:
* testing/Internals.cpp:
(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
* testing/Internals.h:
* testing/Internals.idl:
Source/WebKit:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
LayoutTests:
* compositing/plugins/composited-plugin.html:
* compositing/plugins/no-backing-store.html:
* fast/dom/beforeload/flash-before-load.html:
* fast/events/beforeload-assertion-expected.txt: Added.
* fast/events/beforeload-assertion.html: Added.
* fast/events/beforeload-iframe-crash-expected.txt: Added.
* fast/events/beforeload-iframe-crash.html: Added.
* fast/events/beforeload-input-time-crash-expected.txt: Added.
* fast/events/beforeload-input-time-crash.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
* http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
* http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
* http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
* http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
* http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:
(testImpl.iframe.onload):
(testImpl):
* http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
* platform/mac/plugins/supports-carbon-event-model.html:
* platform/mac/plugins/testplugin-onnew-onpaint.html:
* plugins/get-user-agent-with-null-npp-from-npp-new.html:
* plugins/mouse-click-plugin-clears-selection.html:
* plugins/netscape-plugin-map-data-to-src.html:
* plugins/no-mime-with-valid-extension.html:
* plugins/plugin-initiate-popup-window.html:
* plugins/windowless_plugin_paint_test.html:
* resources/plugin.js: Added.
(runAfterPluginLoad):
Conflicts:
        Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestsChangeLog">releases/WebKitGTK/webkit-2.4/LayoutTests/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestscompositingpluginscompositedpluginhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/compositing/plugins/composited-plugin.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestscompositingpluginsnobackingstorehtml">releases/WebKitGTK/webkit-2.4/LayoutTests/compositing/plugins/no-backing-store.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestsfastdombeforeloadflashbeforeloadhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/fast/dom/beforeload/flash-before-load.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicy11plugintypesnotypedatahtml">releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicy11plugintypesnourlblockedhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicyobjectsrcnourlallowedhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicyobjectsrcnourlblockedhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicyobjectsrcnoneallowedhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-none-allowed.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicyobjectsrcnoneblockedhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-none-blocked.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicyresourcesmultipleiframeplugintestjs">releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestshttptestssecuritymixedContentinsecureplugininiframehtml">releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/mixedContent/insecure-plugin-in-iframe.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestsplatformmacpluginssupportscarboneventmodelhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/platform/mac/plugins/supports-carbon-event-model.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestsplatformmacpluginstestpluginonnewonpainthtml">releases/WebKitGTK/webkit-2.4/LayoutTests/platform/mac/plugins/testplugin-onnew-onpaint.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestspluginsgetuseragentwithnullnppfromnppnewhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/get-user-agent-with-null-npp-from-npp-new.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestspluginsmouseclickpluginclearsselectionhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/mouse-click-plugin-clears-selection.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestspluginsnetscapepluginmapdatatosrchtml">releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/netscape-plugin-map-data-to-src.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestspluginsnomimewithvalidextensionhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/no-mime-with-valid-extension.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestspluginsplugininitiatepopupwindowhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/plugin-initiate-popup-window.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestspluginswindowless_plugin_paint_testhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/windowless_plugin_paint_test.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebCoreChangeLog">releases/WebKitGTK/webkit-2.4/Source/WebCore/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebCoreWebCoreexpin">releases/WebKitGTK/webkit-2.4/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebCoredomDocumentcpp">releases/WebKitGTK/webkit-2.4/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebCoredomDocumenth">releases/WebKitGTK/webkit-2.4/Source/WebCore/dom/Document.h</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebCorehtmlHTMLAppletElementcpp">releases/WebKitGTK/webkit-2.4/Source/WebCore/html/HTMLAppletElement.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebCorehtmlHTMLEmbedElementcpp">releases/WebKitGTK/webkit-2.4/Source/WebCore/html/HTMLEmbedElement.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebCorehtmlHTMLObjectElementcpp">releases/WebKitGTK/webkit-2.4/Source/WebCore/html/HTMLObjectElement.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebCorepageFrameViewcpp">releases/WebKitGTK/webkit-2.4/Source/WebCore/page/FrameView.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebCorepageFrameViewh">releases/WebKitGTK/webkit-2.4/Source/WebCore/page/FrameView.h</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebCoretestingInternalscpp">releases/WebKitGTK/webkit-2.4/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebCoretestingInternalsh">releases/WebKitGTK/webkit-2.4/Source/WebCore/testing/Internals.h</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebCoretestingInternalsidl">releases/WebKitGTK/webkit-2.4/Source/WebCore/testing/Internals.idl</a></li>
<li><a href="#releasesWebKitGTKwebkit24SourceWebKitChangeLog">releases/WebKitGTK/webkit-2.4/Source/WebKit/ChangeLog</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestsfasteventsbeforeloadassertionexpectedtxt">releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-assertion-expected.txt</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestsfasteventsbeforeloadassertionhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-assertion.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestsfasteventsbeforeloadiframecrashexpectedtxt">releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-iframe-crash-expected.txt</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestsfasteventsbeforeloadiframecrashhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-iframe-crash.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestsfasteventsbeforeloadinputtimecrashexpectedtxt">releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-input-time-crash-expected.txt</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestsfasteventsbeforeloadinputtimecrashhtml">releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-input-time-crash.html</a></li>
<li><a href="#releasesWebKitGTKwebkit24LayoutTestsresourcespluginjs">releases/WebKitGTK/webkit-2.4/LayoutTests/resources/plugin.js</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="releasesWebKitGTKwebkit24LayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/ChangeLog (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/ChangeLog        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/ChangeLog        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,3 +1,41 @@
</span><ins>+2014-05-28 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Roll r168668 back in.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=132621>
+
+ Reviewed by Brent Fulgham.
+
+ * compositing/plugins/composited-plugin.html:
+ * compositing/plugins/no-backing-store.html:
+ * fast/dom/beforeload/flash-before-load.html:
+ * fast/events/beforeload-assertion-expected.txt: Added.
+ * fast/events/beforeload-assertion.html: Added.
+ * fast/events/beforeload-iframe-crash-expected.txt: Added.
+ * fast/events/beforeload-iframe-crash.html: Added.
+ * fast/events/beforeload-input-time-crash-expected.txt: Added.
+ * fast/events/beforeload-input-time-crash.html: Added.
+ * http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
+ * http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
+ * http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
+ * http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
+ * http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
+ * http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
+ * http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:
+ (testImpl.iframe.onload):
+ (testImpl):
+ * http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
+ * platform/mac/plugins/supports-carbon-event-model.html:
+ * platform/mac/plugins/testplugin-onnew-onpaint.html:
+ * plugins/get-user-agent-with-null-npp-from-npp-new.html:
+ * plugins/mouse-click-plugin-clears-selection.html:
+ * plugins/netscape-plugin-map-data-to-src.html:
+ * plugins/no-mime-with-valid-extension.html:
+ * plugins/plugin-initiate-popup-window.html:
+ * plugins/windowless_plugin_paint_test.html:
+ * resources/plugin.js: Added.
+ (runAfterPluginLoad):
+
</ins><span class="cx"> 2014-09-17 Philippe Normand <pnormand@igalia.com>
</span><span class="cx">
</span><span class="cx"> [GStreamer] Cannot play Vimeo video
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestscompositingpluginscompositedpluginhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/compositing/plugins/composited-plugin.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/compositing/plugins/composited-plugin.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/compositing/plugins/composited-plugin.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,6 +1,8 @@
</span><span class="cx"> <!DOCTYPE html>
</span><span class="cx"> <html>
</span><span class="cx"> <body>
</span><ins>+ <script src="../../resources/plugin.js"></script>
+ <script>runAfterPluginLoad(null, NotifyDone);</script>
</ins><span class="cx"> <embed type="application/x-webkit-test-netscape" drawingmodel="coreanimation">
</span><span class="cx"> </body>
</span><span class="cx"> </html>
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestscompositingpluginsnobackingstorehtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/compositing/plugins/no-backing-store.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/compositing/plugins/no-backing-store.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/compositing/plugins/no-backing-store.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -6,12 +6,13 @@
</span><span class="cx"> margin: 10px;
</span><span class="cx"> }
</span><span class="cx"> </style>
</span><ins>+ <script src="../../resources/plugin.js"></script>
</ins><span class="cx"> <script type="text/javascript" charset="utf-8">
</span><del>- if (window.testRunner) {
</del><ins>+ if (window.testRunner)
</ins><span class="cx"> testRunner.dumpAsText();
</span><del>- testRunner.waitUntilDone();
- }
</del><span class="cx">
</span><ins>+ runAfterPluginLoad(doTest, DoNotNotifyDone);
+
</ins><span class="cx"> function doTest()
</span><span class="cx"> {
</span><span class="cx"> // Need to wait for compositing layers to be updated. FIXME remove.
</span><span class="lines">@@ -22,7 +23,6 @@
</span><span class="cx"> }
</span><span class="cx"> }, 0)
</span><span class="cx"> }
</span><del>- window.addEventListener('load', doTest, false);
</del><span class="cx"> </script>
</span><span class="cx"> </head>
</span><span class="cx"> <body>
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestsfastdombeforeloadflashbeforeloadhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/fast/dom/beforeload/flash-before-load.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/fast/dom/beforeload/flash-before-load.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/fast/dom/beforeload/flash-before-load.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -4,9 +4,12 @@
</span><span class="cx"> </head>
</span><span class="cx"> <body>
</span><span class="cx"> <div id="console"></div>
</span><ins>+<script src="../../../resources/plugin.js"></script>
</ins><span class="cx"> <script>
</span><del>-if (window.testRunner)
- testRunner.dumpAsText();
</del><ins>+ if (window.testRunner)
+ testRunner.dumpAsText();
+
+ runAfterPluginLoad(null, NotifyDone);
</ins><span class="cx"> </script>
</span><span class="cx">
</span><span class="cx"> <object id="plugin" onbeforeload="return false" type="application/x-shockwave-flash" data="../../../plugins/resources/simple_blank.swf"
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestsfasteventsbeforeloadassertionexpectedtxt"></a>
<div class="addfile"><h4>Added: releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-assertion-expected.txt (0 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-assertion-expected.txt         (rev 0)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-assertion-expected.txt        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+
+PASS if no assertion failure.
</ins></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestsfasteventsbeforeloadassertionhtml"></a>
<div class="addfile"><h4>Added: releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-assertion.html (0 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-assertion.html         (rev 0)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-assertion.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+<div id="d1"></div>
+<script>
+if (window.testRunner)
+ testRunner.dumpAsText();
+document.addEventListener('beforeload', function(event) {
+ d1.appendChild(document.createElement('button'));
+ d1.offsetLeft;
+ d1.remove();
+}, true);
+</script>
+<embed src="data:image/png,"></embed>
+<p>PASS if no assertion failure.</p>
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestsfasteventsbeforeloadiframecrashexpectedtxt"></a>
<div class="addfile"><h4>Added: releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-iframe-crash-expected.txt (0 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-iframe-crash-expected.txt         (rev 0)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-iframe-crash-expected.txt        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+PASS if not crashed.
</ins></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestsfasteventsbeforeloadiframecrashhtml"></a>
<div class="addfile"><h4>Added: releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-iframe-crash.html (0 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-iframe-crash.html         (rev 0)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-iframe-crash.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+<iframe></iframe><object onbeforeload="crash()">
+<script>
+if (window.testRunner) {
+ testRunner.dumpAsText();
+ testRunner.waitUntilDone();
+}
+
+function crash() {
+ document.getElementsByTagName("iframe")[0].contentWindow.scrollX;
+ document.open();
+}
+
+document.body.offsetLeft;
+setTimeout(function() {
+ document.close();
+ document.body.innerHTML = 'PASS if not crashed.';
+ testRunner.notifyDone();
+}, 1);
+</script>
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestsfasteventsbeforeloadinputtimecrashexpectedtxt"></a>
<div class="addfile"><h4>Added: releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-input-time-crash-expected.txt (0 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-input-time-crash-expected.txt         (rev 0)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-input-time-crash-expected.txt        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+PASS if not crashed.
</ins></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestsfasteventsbeforeloadinputtimecrashhtml"></a>
<div class="addfile"><h4>Added: releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-input-time-crash.html (0 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-input-time-crash.html         (rev 0)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/fast/events/beforeload-input-time-crash.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+<input id="t1" type="time">
+<script>
+var time1 = document.getElementById('t1');
+document.addEventListener('beforeload', function(event) {
+ time1.value = time1.value ? '' : '23:59';
+}, true);
+
+if (window.testRunner) {
+ testRunner.dumpAsText();
+ testRunner.waitUntilDone();
+}
+setTimeout(function() {
+ document.body.innerHTML = 'PASS if not crashed.';
+ testRunner.notifyDone();
+}, 100);
+time1.focus();
+</script>
+<embed src="data:text/html,PASS"></embed>
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicy11plugintypesnotypedatahtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,11 +1,14 @@
</span><span class="cx"> <!DOCTYPE html>
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><ins>+<script src="/js-test-resources/plugin.js"></script>
</ins><span class="cx"> <script>
</span><del>-if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.dumpChildFramesAsText();
-}
</del><ins>+ if (window.testRunner) {
+ testRunner.dumpAsText();
+ testRunner.dumpChildFramesAsText();
+ }
+
+ runAfterPluginLoad(null, NotifyDone);
</ins><span class="cx"> </script>
</span><span class="cx"> <script src="/plugins/resources/mock-plugin-logger.js"></script>
</span><span class="cx"> <meta http-equiv="X-WebKit-CSP" content="plugin-types application/x-invalid-type">
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicy11plugintypesnourlblockedhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,9 +1,12 @@
</span><span class="cx"> <!DOCTYPE html>
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><ins>+<script src="/js-test-resources/plugin.js"></script>
</ins><span class="cx"> <script>
</span><del>-if (window.testRunner)
- testRunner.dumpAsText();
</del><ins>+ if (window.testRunner)
+ testRunner.dumpAsText();
+
+ runAfterPluginLoad(null, NotifyDone);
</ins><span class="cx"> </script>
</span><span class="cx"> <meta http-equiv="X-WebKit-CSP" content="plugin-types text/plain">
</span><span class="cx"> </head>
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicyobjectsrcnourlallowedhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,9 +1,12 @@
</span><span class="cx"> <!DOCTYPE html>
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><ins>+<script src="/js-test-resources/plugin.js"></script>
</ins><span class="cx"> <script>
</span><del>-if (window.testRunner)
- testRunner.dumpAsText();
</del><ins>+ if (window.testRunner)
+ testRunner.dumpAsText();
+
+ runAfterPluginLoad(null, NotifyDone);
</ins><span class="cx"> </script>
</span><span class="cx"> <meta http-equiv="Content-Security-Policy" content="object-src 'self'">
</span><span class="cx"> </head>
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicyobjectsrcnourlblockedhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,9 +1,12 @@
</span><span class="cx"> <!DOCTYPE html>
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><ins>+<script src="/js-test-resources/plugin.js"></script>
</ins><span class="cx"> <script>
</span><del>-if (window.testRunner)
- testRunner.dumpAsText();
</del><ins>+ if (window.testRunner)
+ testRunner.dumpAsText();
+
+ runAfterPluginLoad(null, NotifyDone);
</ins><span class="cx"> </script>
</span><span class="cx"> <meta http-equiv="Content-Security-Policy" content="object-src 'none'">
</span><span class="cx"> </head>
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicyobjectsrcnoneallowedhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-none-allowed.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-none-allowed.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-none-allowed.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,14 +1,17 @@
</span><span class="cx"> <!DOCTYPE html>
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><del>-<script>
-if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.dumpChildFramesAsText();
-}
-</script>
</del><ins>+<script src="/js-test-resources/plugin.js"></script>
</ins><span class="cx"> </head>
</span><span class="cx"> <body>
</span><span class="cx"> <iframe src="http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-object-data.pl?plugin=data:application/x-webkit-test-netscape,logifloaded&log=PASS!&csp=img-src%20'none'"></iframe>
</span><span class="cx"> </body>
</span><ins>+<script>
+ if (window.testRunner) {
+ testRunner.dumpAsText();
+ testRunner.dumpChildFramesAsText();
+ }
+
+ runAfterPluginLoad(null, NotifyDone, document.getElementsByTagName("iframe")[0]);
+</script>
</ins><span class="cx"> </html>
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicyobjectsrcnoneblockedhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-none-blocked.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-none-blocked.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/object-src-none-blocked.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,14 +1,17 @@
</span><span class="cx"> <!DOCTYPE html>
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><del>-<script>
-if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.dumpChildFramesAsText();
-}
-</script>
</del><ins>+<script src="/js-test-resources/plugin.js"></script>
</ins><span class="cx"> </head>
</span><span class="cx"> <body>
</span><span class="cx"> <iframe src="http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-object-data.pl?plugin=data:application/x-webkit-test-netscape,logifloaded&log=FAIL&csp=object-src%20'none'"></iframe>
</span><span class="cx"> </body>
</span><ins>+<script>
+ if (window.testRunner) {
+ testRunner.dumpAsText();
+ testRunner.dumpChildFramesAsText();
+ }
+
+ runAfterPluginLoad(null, NotifyDone, document.getElementsByTagName("iframe")[0]);
+</script>
</ins><span class="cx"> </html>
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestshttptestssecuritycontentSecurityPolicyresourcesmultipleiframeplugintestjs"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -38,7 +38,11 @@
</span><span class="cx"> else
</span><span class="cx"> iframe.src += "&type=application/x-webkit-test-netscape";
</span><span class="cx">
</span><del>- iframe.onload = function() { testImpl(experimental); };
</del><ins>+ iframe.onload = function() {
+ if (window.internals)
+ internals.updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(iframe);
+ testImpl(experimental);
+ };
</ins><span class="cx"> document.body.appendChild(iframe);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestshttptestssecuritymixedContentinsecureplugininiframehtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/mixedContent/insecure-plugin-in-iframe.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/mixedContent/insecure-plugin-in-iframe.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/http/tests/security/mixedContent/insecure-plugin-in-iframe.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -3,6 +3,11 @@
</span><span class="cx"> <script>
</span><span class="cx"> if (window.testRunner)
</span><span class="cx"> testRunner.dumpAsText();
</span><ins>+
+onload = function() {
+ if (window.internals)
+ internals.updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(document.querySelector('iframe'));
+};
</ins><span class="cx"> </script>
</span><span class="cx"> <p>This test loads a secure iframe that loads an insecure plugin. We should
</span><span class="cx"> get a mixed content callback because the insecure plug-in can script the secure
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestsplatformmacpluginssupportscarboneventmodelhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/platform/mac/plugins/supports-carbon-event-model.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/platform/mac/plugins/supports-carbon-event-model.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/platform/mac/plugins/supports-carbon-event-model.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,6 +1,9 @@
</span><ins>+<script src="../../../resources/plugin.js"></script>
</ins><span class="cx"> <script>
</span><del>-if (window.testRunner)
- testRunner.dumpAsText();
</del><ins>+ if (window.testRunner)
+ testRunner.dumpAsText();
+
+ runAfterPluginLoad(null, NotifyDone);
</ins><span class="cx"> </script>
</span><span class="cx">
</span><span class="cx"> <embed id="testPlugin"
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestsplatformmacpluginstestpluginonnewonpainthtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/platform/mac/plugins/testplugin-onnew-onpaint.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/platform/mac/plugins/testplugin-onnew-onpaint.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/platform/mac/plugins/testplugin-onnew-onpaint.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -2,6 +2,7 @@
</span><span class="cx">
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><ins>+ <script src="../../../resources/plugin.js"></script>
</ins><span class="cx"> <script type="text/javascript" charset="utf-8">
</span><span class="cx"> if (window.testRunner)
</span><span class="cx"> testRunner.dumpAsText();
</span><span class="lines">@@ -25,6 +26,8 @@
</span><span class="cx"> didPaint = true;
</span><span class="cx"> }
</span><span class="cx"> }
</span><ins>+
+ runAfterPluginLoad(null, NotifyDone);
</ins><span class="cx"> </script>
</span><span class="cx"> </head>
</span><span class="cx"> <body>
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestspluginsgetuseragentwithnullnppfromnppnewhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/get-user-agent-with-null-npp-from-npp-new.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/get-user-agent-with-null-npp-from-npp-new.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/get-user-agent-with-null-npp-from-npp-new.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,9 +1,11 @@
</span><span class="cx"> <!DOCTYPE html>
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><ins>+ <script src="../resources/plugin.js"></script>
</ins><span class="cx"> <script>
</span><span class="cx"> if (window.testRunner)
</span><span class="cx"> testRunner.dumpAsText();
</span><ins>+ runAfterPluginLoad(null, NotifyDone);
</ins><span class="cx"> </script>
</span><span class="cx"> </head>
</span><span class="cx"> <body>
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestspluginsmouseclickpluginclearsselectionhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/mouse-click-plugin-clears-selection.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/mouse-click-plugin-clears-selection.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/mouse-click-plugin-clears-selection.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,8 +1,9 @@
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><ins>+<script src="../resources/plugin.js"></script>
</ins><span class="cx"> <script>
</span><span class="cx">
</span><del>-function runTest() {
</del><ins>+runAfterPluginLoad(function() {
</ins><span class="cx"> inputElement = document.getElementById('frame');
</span><span class="cx"> inputElement.focus();
</span><span class="cx"> inputElement.select();
</span><span class="lines">@@ -14,10 +15,10 @@
</span><span class="cx"> eventSender.mouseDown();
</span><span class="cx"> eventSender.mouseUp();
</span><span class="cx"> }
</span><del>-}
</del><ins>+}, NotifyDone);
</ins><span class="cx"> </script>
</span><span class="cx"> </head>
</span><del>-<body onload="runTest();">
</del><ins>+<body>
</ins><span class="cx"> <embed id="plg" type="application/x-webkit-test-netscape" width="100" height="100" windowedplugin="false"></embed><br>
</span><span class="cx"> <input id="frame" value="hello"/>
</span><span class="cx"> <div id="output"></div>
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestspluginsnetscapepluginmapdatatosrchtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/netscape-plugin-map-data-to-src.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/netscape-plugin-map-data-to-src.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/netscape-plugin-map-data-to-src.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,8 +1,10 @@
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><ins>+<script src="../resources/plugin.js"></script>
</ins><span class="cx"> <script>
</span><span class="cx"> if (window.testRunner)
</span><span class="cx"> testRunner.dumpAsText();
</span><ins>+ runAfterPluginLoad(null, NotifyDone);
</ins><span class="cx"> </script>
</span><span class="cx"> <body style="margin:0px;overflow:hidden">
</span><span class="cx"> <object name="testPlugin" type="application/x-webkit-test-netscape" logSrc="true" data="blah">
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestspluginsnomimewithvalidextensionhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/no-mime-with-valid-extension.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/no-mime-with-valid-extension.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/no-mime-with-valid-extension.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,8 +1,8 @@
</span><ins>+<script src="../resources/plugin.js"></script>
</ins><span class="cx"> <script>
</span><del>- if (window.testRunner) {
</del><ins>+ if (window.testRunner)
</ins><span class="cx"> testRunner.dumpAsText();
</span><del>- testRunner.waitUntilDone();
- }
</del><ins>+ runAfterPluginLoad(null, NotifyDone);
</ins><span class="cx"> </script>
</span><span class="cx"> <p>
</span><span class="cx"> This test checks that <a href="https://bugs.webkit.org/show_bug.cgi?id=50657">bug 50568</a>
</span><span class="lines">@@ -12,8 +12,4 @@
</span><span class="cx"> attribute.
</span><span class="cx"> </p>
</span><span class="cx"> <!-- Embed tag with missing type="" parameter -->
</span><del>-<embed id="plugin" name="plugin" src="resources/test.testnetscape" logSrc="1">
-<script>
- if (window.testRunner)
- testRunner.notifyDone();
-</script>
</del><ins>+<embed id="plugin" name="plugin" src="resources/test.testnetscape" logSrc="1">
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestspluginsplugininitiatepopupwindowhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/plugin-initiate-popup-window.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/plugin-initiate-popup-window.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/plugin-initiate-popup-window.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> }
</span><span class="cx"> </script>
</span><span class="cx"> </head>
</span><del>-<body onload="window.setTimeout(test, 0);">
</del><ins>+<body onload="internals.updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(); test();">
</ins><span class="cx"> <embed type="application/x-webkit-test-netscape" width=100 height=40 evaluatescript="mouse::popup_by_mousedown()" windowedplugin="false"></embed><br>
</span><span class="cx"> <embed type="application/x-webkit-test-netscape" width=100 height=40 evaluatescript="key::popup_by_keydown()" windowedplugin="false"></embed><br>
</span><span class="cx"> Specify a script and a mouse/keyboard event to the plugin. The specified script will be evaluated in the browser when the specified event is received by the plugin. The test is for bug https://bugs.webkit.org/show_bug.cgi?id=41292.<br>
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestspluginswindowless_plugin_paint_testhtml"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/windowless_plugin_paint_test.html (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/windowless_plugin_paint_test.html        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/plugins/windowless_plugin_paint_test.html        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -14,6 +14,8 @@
</span><span class="cx"> var pluginDiv = document.getElementById("pluginDiv");
</span><span class="cx"> // Create the plugin in the middle of the page.
</span><span class="cx"> pluginDiv.innerHTML = "<embed id=\"testPlugin\" type=\"application/x-webkit-test-netscape\" width=\"200\" height=\"200\" onpaintevent=\"didPaint()\" windowedPlugin=\"false\"></embed>";
</span><ins>+ if (window.internals)
+ internals.updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks();
</ins><span class="cx"> testRunner.displayInvalidatedRegion();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24LayoutTestsresourcespluginjs"></a>
<div class="addfile"><h4>Added: releases/WebKitGTK/webkit-2.4/LayoutTests/resources/plugin.js (0 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/LayoutTests/resources/plugin.js         (rev 0)
+++ releases/WebKitGTK/webkit-2.4/LayoutTests/resources/plugin.js        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Wait for the load event, run post layout tasks, run the specified function,
+// and notify the test runner that the test is done.
+
+var NotifyDone = true;
+var DoNotNotifyDone = false;
+
+function runAfterPluginLoad(func, notifyDone, node) {
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+
+ window.addEventListener('load', function() {
+ if (window.internals)
+ internals.updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(node);
+
+ if (func)
+ func();
+
+ if (notifyDone && window.testRunner)
+ testRunner.notifyDone();
+ }, false);
+}
</ins></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebCore/ChangeLog (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebCore/ChangeLog        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebCore/ChangeLog        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,3 +1,37 @@
</span><ins>+2014-05-28 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Roll r168668 back in.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=132621>
+
+ Reviewed by Brent Fulgham.
+
+ Tests: fast/events/beforeload-assertion.html
+ fast/events/beforeload-iframe-crash.html
+ fast/events/beforeload-input-time-crash.html
+
+ * WebCore.exp.in:
+ * dom/Document.cpp:
+ (WebCore::Document::updateLayoutIgnorePendingStylesheets):
+ * dom/Document.h:
+ * html/HTMLAppletElement.cpp:
+ (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView):
+ (WebCore::FrameView::reset):
+ (WebCore::FrameView::updateEmbeddedObjectsTimerFired):
+ (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
+ (WebCore::FrameView::performPostLayoutTasks):
+ * page/FrameView.h:
+ * testing/Internals.cpp:
+ (WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
+ * testing/Internals.h:
+ * testing/Internals.idl:
+
</ins><span class="cx"> 2014-10-06 Philip Chimento <philip.chimento@gmail.com>
</span><span class="cx">
</span><span class="cx"> webkit-gtk 2.3.3 fails on darwin/quartz due to duplicate symbols in WebCore
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebCore/WebCore.exp.in (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebCore/WebCore.exp.in        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebCore/WebCore.exp.in        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1170,7 +1170,7 @@
</span><span class="cx"> __ZN7WebCore8Document26didRemoveWheelEventHandlerEv
</span><span class="cx"> __ZN7WebCore8Document26pageSizeAndMarginsInPixelsEiRNS_7IntSizeERiS3_S3_S3_
</span><span class="cx"> __ZN7WebCore8Document27removeMediaCanStartListenerEPNS_21MediaCanStartListenerE
</span><del>-__ZN7WebCore8Document36updateLayoutIgnorePendingStylesheetsEv
</del><ins>+__ZN7WebCore8Document36updateLayoutIgnorePendingStylesheetsENS0_18RunPostLayoutTasksE
</ins><span class="cx"> __ZN7WebCore8Document4headEv
</span><span class="cx"> __ZN7WebCore8Document8iconURLsEi
</span><span class="cx"> __ZN7WebCore8FormData28removeGeneratedFilesIfNeededEv
</span><span class="lines">@@ -1653,6 +1653,7 @@
</span><span class="cx"> __ZNK7WebCore21BackForwardController12forwardCountEv
</span><span class="cx"> __ZNK7WebCore21BackForwardController18canGoBackOrForwardEi
</span><span class="cx"> __ZNK7WebCore21BackForwardController9backCountEv
</span><ins>+__ZNK7WebCore21HTMLFrameOwnerElement15contentDocumentEv
</ins><span class="cx"> __ZNK7WebCore21NetworkStorageSession13cookieStorageEv
</span><span class="cx"> __ZNK7WebCore21RenderLayerCompositor11scrollLayerEv
</span><span class="cx"> __ZNK7WebCore21RenderLayerCompositor15rootRenderLayerEv
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebCore/dom/Document.cpp (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebCore/dom/Document.cpp        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebCore/dom/Document.cpp        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1836,10 +1836,10 @@
</span><span class="cx"> // stylesheets are loaded. Doing a layout ignoring the pending stylesheets
</span><span class="cx"> // lets us get reasonable answers. The long term solution to this problem is
</span><span class="cx"> // to instead suspend JavaScript execution.
</span><del>-void Document::updateLayoutIgnorePendingStylesheets()
</del><ins>+void Document::updateLayoutIgnorePendingStylesheets(Document::RunPostLayoutTasks runPostLayoutTasks)
</ins><span class="cx"> {
</span><span class="cx"> bool oldIgnore = m_ignorePendingStylesheets;
</span><del>-
</del><ins>+
</ins><span class="cx"> if (!haveStylesheetsLoaded()) {
</span><span class="cx"> m_ignorePendingStylesheets = true;
</span><span class="cx"> // FIXME: We are willing to attempt to suppress painting with outdated style info only once. Our assumption is that it would be
</span><span class="lines">@@ -1861,6 +1861,9 @@
</span><span class="cx">
</span><span class="cx"> updateLayout();
</span><span class="cx">
</span><ins>+ if (runPostLayoutTasks == RunPostLayoutTasksSynchronously && view())
+ view()->flushAnyPendingPostLayoutTasks();
+
</ins><span class="cx"> m_ignorePendingStylesheets = oldIgnore;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebCore/dom/Document.h (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebCore/dom/Document.h        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebCore/dom/Document.h        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -547,7 +547,11 @@
</span><span class="cx"> void recalcStyle(Style::Change = Style::NoChange);
</span><span class="cx"> void updateStyleIfNeeded();
</span><span class="cx"> void updateLayout();
</span><del>- void updateLayoutIgnorePendingStylesheets();
</del><ins>+ enum RunPostLayoutTasks {
+ RunPostLayoutTasksAsynchronously,
+ RunPostLayoutTasksSynchronously,
+ };
+ void updateLayoutIgnorePendingStylesheets(RunPostLayoutTasks = RunPostLayoutTasksAsynchronously);
</ins><span class="cx"> PassRef<RenderStyle> styleForElementIgnoringPendingStylesheets(Element*);
</span><span class="cx">
</span><span class="cx"> // Returns true if page box (margin boxes and page borders) is visible.
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebCorehtmlHTMLAppletElementcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebCore/html/HTMLAppletElement.cpp (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebCore/html/HTMLAppletElement.cpp        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebCore/html/HTMLAppletElement.cpp        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -88,7 +88,10 @@
</span><span class="cx"> if (!canEmbedJava())
</span><span class="cx"> return 0;
</span><span class="cx">
</span><del>- document().updateLayoutIgnorePendingStylesheets();
</del><ins>+ // Needs to load the plugin immediatedly because this function is called
+ // when JavaScript code accesses the plugin.
+ // FIXME: <rdar://16893708> Check if dispatching events here is safe.
+ document().updateLayoutIgnorePendingStylesheets(Document::RunPostLayoutTasksSynchronously);
</ins><span class="cx"> return renderWidget();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebCorehtmlHTMLEmbedElementcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebCore/html/HTMLEmbedElement.cpp (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebCore/html/HTMLEmbedElement.cpp        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebCore/html/HTMLEmbedElement.cpp        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -71,8 +71,12 @@
</span><span class="cx"> RenderWidget* HTMLEmbedElement::renderWidgetForJSBindings() const
</span><span class="cx"> {
</span><span class="cx"> FrameView* view = document().view();
</span><del>- if (!view || (!view->isInLayout() && !view->isPainting()))
- document().updateLayoutIgnorePendingStylesheets();
</del><ins>+ if (!view || (!view->isInLayout() && !view->isPainting())) {
+ // Needs to load the plugin immediatedly because this function is called
+ // when JavaScript code accesses the plugin.
+ // FIXME: <rdar://16893708> Check if dispatching events here is safe.
+ document().updateLayoutIgnorePendingStylesheets(Document::RunPostLayoutTasksSynchronously);
+ }
</ins><span class="cx"> return findWidgetRenderer(this);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebCorehtmlHTMLObjectElementcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebCore/html/HTMLObjectElement.cpp (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebCore/html/HTMLObjectElement.cpp        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebCore/html/HTMLObjectElement.cpp        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -83,7 +83,10 @@
</span><span class="cx">
</span><span class="cx"> RenderWidget* HTMLObjectElement::renderWidgetForJSBindings() const
</span><span class="cx"> {
</span><del>- document().updateLayoutIgnorePendingStylesheets();
</del><ins>+ // Needs to load the plugin immediatedly because this function is called
+ // when JavaScript code accesses the plugin.
+ // FIXME: <rdar://16893708> Check if dispatching events here is safe.
+ document().updateLayoutIgnorePendingStylesheets(Document::RunPostLayoutTasksSynchronously);
</ins><span class="cx"> return renderWidget(); // This will return 0 if the renderer is not a RenderWidget.
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebCorepageFrameViewcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebCore/page/FrameView.cpp (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebCore/page/FrameView.cpp        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebCore/page/FrameView.cpp        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -168,6 +168,7 @@
</span><span class="cx"> , m_layoutPhase(OutsideLayout)
</span><span class="cx"> , m_inSynchronousPostLayout(false)
</span><span class="cx"> , m_postLayoutTasksTimer(this, &FrameView::postLayoutTimerFired)
</span><ins>+ , m_updateEmbeddedObjectsTimer(this, &FrameView::updateEmbeddedObjectsTimerFired)
</ins><span class="cx"> , m_isTransparent(false)
</span><span class="cx"> , m_baseBackgroundColor(Color::white)
</span><span class="cx"> , m_mediaType("screen")
</span><span class="lines">@@ -256,6 +257,7 @@
</span><span class="cx"> m_layoutCount = 0;
</span><span class="cx"> m_nestedLayoutCount = 0;
</span><span class="cx"> m_postLayoutTasksTimer.stop();
</span><ins>+ m_updateEmbeddedObjectsTimer.stop();
</ins><span class="cx"> m_firstLayout = true;
</span><span class="cx"> m_firstLayoutCallbackPending = false;
</span><span class="cx"> m_wasScrolledByUser = false;
</span><span class="lines">@@ -2640,16 +2642,28 @@
</span><span class="cx"> return m_embeddedObjectsToUpdate->isEmpty();
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void FrameView::updateEmbeddedObjectsTimerFired(Timer<FrameView>*)
+{
+ RefPtr<FrameView> protect(this);
+ m_updateEmbeddedObjectsTimer.stop();
+ for (unsigned i = 0; i < maxUpdateEmbeddedObjectsIterations; i++) {
+ if (updateEmbeddedObjects())
+ break;
+ }
+}
+
</ins><span class="cx"> void FrameView::flushAnyPendingPostLayoutTasks()
</span><span class="cx"> {
</span><del>- if (!m_postLayoutTasksTimer.isActive())
- return;
-
- performPostLayoutTasks();
</del><ins>+ if (m_postLayoutTasksTimer.isActive())
+ performPostLayoutTasks();
+ if (m_updateEmbeddedObjectsTimer.isActive())
+ updateEmbeddedObjectsTimerFired(nullptr);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void FrameView::performPostLayoutTasks()
</span><span class="cx"> {
</span><ins>+ // FIXME: We should not run any JavaScript code in this function.
+
</ins><span class="cx"> m_postLayoutTasksTimer.stop();
</span><span class="cx">
</span><span class="cx"> frame().selection().setCaretRectNeedsUpdate();
</span><span class="lines">@@ -2706,10 +2720,7 @@
</span><span class="cx"> // is called through the post layout timer.
</span><span class="cx"> Ref<FrameView> protect(*this);
</span><span class="cx">
</span><del>- for (unsigned i = 0; i < maxUpdateEmbeddedObjectsIterations; i++) {
- if (updateEmbeddedObjects())
- break;
- }
</del><ins>+ m_updateEmbeddedObjectsTimer.startOneShot(0);
</ins><span class="cx">
</span><span class="cx"> if (page) {
</span><span class="cx"> if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordinator())
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebCorepageFrameViewh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebCore/page/FrameView.h (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebCore/page/FrameView.h        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebCore/page/FrameView.h        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -540,6 +540,7 @@
</span><span class="cx"> void enableSpeculativeTilingIfNeeded();
</span><span class="cx"> void speculativeTilingEnableTimerFired(Timer<FrameView>&);
</span><span class="cx">
</span><ins>+ void updateEmbeddedObjectsTimerFired(Timer<FrameView>*);
</ins><span class="cx"> bool updateEmbeddedObjects();
</span><span class="cx"> void updateEmbeddedObject(RenderEmbeddedObject&);
</span><span class="cx"> void scrollToAnchor();
</span><span class="lines">@@ -594,6 +595,7 @@
</span><span class="cx"> int m_layoutCount;
</span><span class="cx"> unsigned m_nestedLayoutCount;
</span><span class="cx"> Timer<FrameView> m_postLayoutTasksTimer;
</span><ins>+ Timer<FrameView> m_updateEmbeddedObjectsTimer;
</ins><span class="cx"> bool m_firstLayoutCallbackPending;
</span><span class="cx">
</span><span class="cx"> bool m_firstLayout;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebCore/testing/Internals.cpp (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebCore/testing/Internals.cpp        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebCore/testing/Internals.cpp        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -50,6 +50,7 @@
</span><span class="cx"> #include "FormController.h"
</span><span class="cx"> #include "FrameLoader.h"
</span><span class="cx"> #include "FrameView.h"
</span><ins>+#include "HTMLIFrameElement.h"
</ins><span class="cx"> #include "HTMLInputElement.h"
</span><span class="cx"> #include "HTMLNames.h"
</span><span class="cx"> #include "HTMLSelectElement.h"
</span><span class="lines">@@ -1870,6 +1871,28 @@
</span><span class="cx"> frameView->setTracksRepaints(false);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+void Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(ExceptionCode& ec)
+{
+ updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(nullptr, ec);
+}
+
+void Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(Node* node, ExceptionCode& ec)
+{
+ Document* document;
+ if (!node)
+ document = contextDocument();
+ else if (node->isDocumentNode())
+ document = toDocument(node);
+ else if (node->hasTagName(HTMLNames::iframeTag))
+ document = toHTMLIFrameElement(node)->contentDocument();
+ else {
+ ec = TypeError;
+ return;
+ }
+
+ document->updateLayoutIgnorePendingStylesheets(Document::RunPostLayoutTasksSynchronously);
+}
+
</ins><span class="cx"> #if !PLATFORM(IOS)
</span><span class="cx"> static const char* cursorTypeToString(Cursor::Type cursorType)
</span><span class="cx"> {
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebCoretestingInternalsh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebCore/testing/Internals.h (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebCore/testing/Internals.h        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebCore/testing/Internals.h        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -270,6 +270,8 @@
</span><span class="cx">
</span><span class="cx"> void startTrackingRepaints(ExceptionCode&);
</span><span class="cx"> void stopTrackingRepaints(ExceptionCode&);
</span><ins>+ void updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(ExceptionCode&);
+ void updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(Node*, ExceptionCode&);
</ins><span class="cx">
</span><span class="cx"> PassRefPtr<ArrayBuffer> serializeObject(PassRefPtr<SerializedScriptValue>) const;
</span><span class="cx"> PassRefPtr<SerializedScriptValue> deserializeBuffer(PassRefPtr<ArrayBuffer>) const;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebCoretestingInternalsidl"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebCore/testing/Internals.idl (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebCore/testing/Internals.idl        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebCore/testing/Internals.idl        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -231,6 +231,11 @@
</span><span class="cx"> [RaisesException] void startTrackingRepaints();
</span><span class="cx"> [RaisesException] void stopTrackingRepaints();
</span><span class="cx">
</span><ins>+ // |node| should be Document, HTMLIFrameElement, or unspecified.
+ // If |node| is an HTMLIFrameElement, it assumes node.contentDocument is
+ // specified without security checks. Unspecified means this document.
+ [RaisesException] void updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(optional Node node);
+
</ins><span class="cx"> // Returns a string with information about the mouse cursor used at the specified client location.
</span><span class="cx"> [RaisesException] DOMString getCurrentCursorInfo();
</span><span class="cx">
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit24SourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.4/Source/WebKit/ChangeLog (177889 => 177890)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.4/Source/WebKit/ChangeLog        2015-01-05 09:04:14 UTC (rev 177889)
+++ releases/WebKitGTK/webkit-2.4/Source/WebKit/ChangeLog        2015-01-05 09:05:26 UTC (rev 177890)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2014-05-28 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Roll r168668 back in.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=132621>
+
+ Reviewed by Brent Fulgham.
+
+ * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
+
</ins><span class="cx"> 2014-01-27 Roger Fong <roger_fong@apple.com>
</span><span class="cx">
</span><span class="cx"> [Windows] Tests crashing on Windows after r162816.
</span></span></pre>
</div>
</div>
</body>
</html>