Diff
Modified: tags/Safari-600.1.3.3/Source/WebCore/ChangeLog (171863 => 171864)
--- tags/Safari-600.1.3.3/Source/WebCore/ChangeLog 2014-07-31 17:18:02 UTC (rev 171863)
+++ tags/Safari-600.1.3.3/Source/WebCore/ChangeLog 2014-07-31 17:20:27 UTC (rev 171864)
@@ -1,5 +1,9 @@
2014-07-31 Babak Shafiei <[email protected]>
+ Roll out r171647.
+
+2014-07-31 Babak Shafiei <[email protected]>
+
Roll out r171661.
2014-07-29 Babak Shafiei <[email protected]>
Modified: tags/Safari-600.1.3.3/Source/WebCore/dom/Document.cpp (171863 => 171864)
--- tags/Safari-600.1.3.3/Source/WebCore/dom/Document.cpp 2014-07-31 17:18:02 UTC (rev 171863)
+++ tags/Safari-600.1.3.3/Source/WebCore/dom/Document.cpp 2014-07-31 17:20:27 UTC (rev 171864)
@@ -515,7 +515,6 @@
, m_disabledFieldsetElementsCount(0)
, m_hasInjectedPlugInsScript(false)
, m_renderTreeBeingDestroyed(false)
- , m_hasPreparedForDestruction(false)
, m_hasStyleWithViewportUnits(false)
{
allDocuments().add(this);
@@ -2048,9 +2047,6 @@
void Document::prepareForDestruction()
{
- if (m_hasPreparedForDestruction)
- return;
-
#if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS)
clearTouchEventListeners();
#endif
@@ -2059,8 +2055,7 @@
if (m_domWindow && m_frame)
m_domWindow->willDetachDocumentFromFrame();
- if (hasLivingRenderTree())
- destroyRenderTree();
+ destroyRenderTree();
if (isPluginDocument())
toPluginDocument(this)->detachFromPluginElement();
@@ -2092,8 +2087,6 @@
m_mediaQueryMatcher->documentDestroyed();
disconnectFromFrame();
-
- m_hasPreparedForDestruction = true;
}
void Document::removeAllEventListeners()
Modified: tags/Safari-600.1.3.3/Source/WebCore/dom/Document.h (171863 => 171864)
--- tags/Safari-600.1.3.3/Source/WebCore/dom/Document.h 2014-07-31 17:18:02 UTC (rev 171863)
+++ tags/Safari-600.1.3.3/Source/WebCore/dom/Document.h 2014-07-31 17:20:27 UTC (rev 171864)
@@ -1695,7 +1695,6 @@
bool m_hasInjectedPlugInsScript;
bool m_renderTreeBeingDestroyed;
- bool m_hasPreparedForDestruction;
bool m_hasStyleWithViewportUnits;
};
Modified: tags/Safari-600.1.3.3/Source/WebCore/loader/FrameLoader.cpp (171863 => 171864)
--- tags/Safari-600.1.3.3/Source/WebCore/loader/FrameLoader.cpp 2014-07-31 17:18:02 UTC (rev 171863)
+++ tags/Safari-600.1.3.3/Source/WebCore/loader/FrameLoader.cpp 2014-07-31 17:20:27 UTC (rev 171864)
@@ -613,10 +613,10 @@
if (!m_frame.document()->inPageCache()) {
m_frame.document()->cancelParsing();
m_frame.document()->stopActiveDOMObjects();
- bool hadLivingRenderTree = m_frame.document()->hasLivingRenderTree();
- m_frame.document()->prepareForDestruction();
- if (hadLivingRenderTree)
+ if (m_frame.document()->hasLivingRenderTree()) {
+ m_frame.document()->prepareForDestruction();
m_frame.document()->removeFocusedNodeOfSubtree(m_frame.document());
+ }
}
// Do this after detaching the document so that the unload event works.
Modified: tags/Safari-600.1.3.3/Source/WebCore/page/Frame.cpp (171863 => 171864)
--- tags/Safari-600.1.3.3/Source/WebCore/page/Frame.cpp 2014-07-31 17:18:02 UTC (rev 171863)
+++ tags/Safari-600.1.3.3/Source/WebCore/page/Frame.cpp 2014-07-31 17:20:27 UTC (rev 171864)
@@ -251,7 +251,7 @@
// Prepare for destruction now, so any unload event handlers get run and the DOMWindow is
// notified. If we wait until the view is destroyed, then things won't be hooked up enough for
// these calls to work.
- if (!view && m_doc && !m_doc->inPageCache())
+ if (!view && m_doc && m_doc->hasLivingRenderTree() && !m_doc->inPageCache())
m_doc->prepareForDestruction();
if (m_view)
@@ -271,7 +271,7 @@
{
ASSERT(!newDocument || newDocument->frame() == this);
- if (m_doc && !m_doc->inPageCache())
+ if (m_doc && m_doc->hasLivingRenderTree() && !m_doc->inPageCache())
m_doc->prepareForDestruction();
m_doc = newDocument.get();
Modified: tags/Safari-600.1.3.3/Source/WebKit2/ChangeLog (171863 => 171864)
--- tags/Safari-600.1.3.3/Source/WebKit2/ChangeLog 2014-07-31 17:18:02 UTC (rev 171863)
+++ tags/Safari-600.1.3.3/Source/WebKit2/ChangeLog 2014-07-31 17:20:27 UTC (rev 171864)
@@ -1,3 +1,7 @@
+2014-07-31 Babak Shafiei <[email protected]>
+
+ Roll out r171647.
+
2014-07-29 Babak Shafiei <[email protected]>
Merge r171647.
Modified: tags/Safari-600.1.3.3/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (171863 => 171864)
--- tags/Safari-600.1.3.3/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2014-07-31 17:18:02 UTC (rev 171863)
+++ tags/Safari-600.1.3.3/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2014-07-31 17:20:27 UTC (rev 171864)
@@ -887,6 +887,10 @@
void WebFrameLoaderClient::committedLoad(DocumentLoader* loader, const char* data, int length)
{
+ // If we're loading a custom representation, we don't want to hand off the data to WebCore.
+ if (m_frameHasCustomContentProvider)
+ return;
+
if (!m_pluginView)
loader->commitData(data, length);