Diff
Modified: trunk/Source/WebCore/ChangeLog (167302 => 167303)
--- trunk/Source/WebCore/ChangeLog 2014-04-15 06:57:02 UTC (rev 167302)
+++ trunk/Source/WebCore/ChangeLog 2014-04-15 07:32:10 UTC (rev 167303)
@@ -1,3 +1,18 @@
+2014-04-15 Commit Queue <commit-qu...@webkit.org>
+
+ Unreviewed, rolling out r167298.
+ https://bugs.webkit.org/show_bug.cgi?id=131670
+
+ Broke CSS filters (17 test crashes) (Requested by ap on
+ #webkit).
+
+ Reverted changeset:
+
+ "[iOS WK2] Pages often blank on first load if page loaded by
+ typing the URL"
+ https://bugs.webkit.org/show_bug.cgi?id=131665
+ http://trac.webkit.org/changeset/167298
+
2014-04-14 Pratik Solanki <psola...@apple.com>
Unreviewed. Attempt to fix Windows build after r167277.
Modified: trunk/Source/WebCore/WebCore.exp.in (167302 => 167303)
--- trunk/Source/WebCore/WebCore.exp.in 2014-04-15 06:57:02 UTC (rev 167302)
+++ trunk/Source/WebCore/WebCore.exp.in 2014-04-15 07:32:10 UTC (rev 167303)
@@ -871,6 +871,7 @@
__ZN7WebCore21NetworkStorageSession28createPrivateBrowsingSessionERKN3WTF6StringE
__ZN7WebCore21PlatformKeyboardEvent24disambiguateKeyDownEventENS_13PlatformEvent4TypeEb
__ZN7WebCore21RemoteCommandListener6createERNS_27RemoteCommandListenerClientE
+__ZN7WebCore21RenderLayerCompositor27setDocumentOverlayRootLayerEPNS_13GraphicsLayerE
__ZN7WebCore21ResourceLoadScheduler20servePendingRequestsENS_20ResourceLoadPriorityE
__ZN7WebCore21ResourceLoadScheduler20servePendingRequestsEPNS0_15HostInformationENS_20ResourceLoadPriorityE
__ZN7WebCore21ResourceLoadScheduler21resumePendingRequestsEv
Modified: trunk/Source/WebCore/page/ChromeClient.h (167302 => 167303)
--- trunk/Source/WebCore/page/ChromeClient.h 2014-04-15 06:57:02 UTC (rev 167302)
+++ trunk/Source/WebCore/page/ChromeClient.h 2014-04-15 07:32:10 UTC (rev 167303)
@@ -290,8 +290,6 @@
// Returns whether or not the client can render the composited layer,
// regardless of the settings.
virtual bool allowsAcceleratedCompositing() const { return true; }
- // Supply a layer that will added as an overlay over other document layers (scrolling with the document).
- virtual GraphicsLayer* documentOverlayLayerForFrame(Frame&) { return nullptr; }
enum CompositingTrigger {
ThreeDTransformTrigger = 1 << 0,
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (167302 => 167303)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2014-04-15 06:57:02 UTC (rev 167302)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2014-04-15 07:32:10 UTC (rev 167303)
@@ -255,6 +255,7 @@
, m_isTrackingRepaints(false)
, m_layersWithTiledBackingCount(0)
, m_rootLayerAttachment(RootLayerUnattached)
+ , m_documentOverlayRootLayer(nullptr)
, m_layerFlushTimer(this, &RenderLayerCompositor::layerFlushTimerFired)
, m_layerFlushThrottlingEnabled(page() && page()->progress().isMainLoadProgressing())
, m_layerFlushThrottlingTemporarilyDisabledForInteraction(false)
@@ -429,8 +430,7 @@
#if PLATFORM(IOS)
double horizontalMargin = defaultTileWidth / pageScaleFactor();
double verticalMargin = defaultTileHeight / pageScaleFactor();
- FloatRect visibleRect = frameView.computeCoverageRect(horizontalMargin, verticalMargin);
- rootLayer->flushCompositingState(visibleRect);
+ rootLayer->flushCompositingState(frameView.computeCoverageRect(horizontalMargin, verticalMargin));
#else
// Having a m_clipLayer indicates that we're doing scrolling via GraphicsLayers.
IntRect visibleRect = m_clipLayer ? IntRect(IntPoint(), frameView.contentsSize()) : frameView.visibleContentRect();
@@ -597,8 +597,6 @@
void RenderLayerCompositor::updateCompositingLayers(CompositingUpdateType updateType, RenderLayer* updateRoot)
{
m_updateCompositingLayersTimer.stop();
-
- ASSERT(!m_renderView.document().inPageCache());
// Compositing layers will be updated in Document::implicitClose() if suppressed here.
if (!m_renderView.document().visualUpdatesAllowed())
@@ -691,7 +689,6 @@
// Host the document layer in the RenderView's root layer.
if (isFullUpdate) {
- appendOverlayLayers(childList);
// Even when childList is empty, don't drop out of compositing mode if there are
// composited layers that we didn't hit in our traversal (e.g. because of visibility:hidden).
if (childList.isEmpty() && !hasAnyAdditionalCompositedLayers(*updateRoot))
@@ -724,17 +721,6 @@
InspectorInstrumentation::layerTreeDidChange(page());
}
-void RenderLayerCompositor::appendOverlayLayers(Vector<GraphicsLayer*>& childList)
-{
- Frame& frame = m_renderView.frameView().frame();
- Page* page = frame.page();
- if (!page)
- return;
-
- if (GraphicsLayer* overlayLayer = page->chrome().client().documentOverlayLayerForFrame(frame))
- childList.append(overlayLayer);
-}
-
void RenderLayerCompositor::layerBecameNonComposited(const RenderLayer& layer)
{
// Inform the inspector that the given RenderLayer was destroyed.
@@ -1475,6 +1461,9 @@
childLayersOfEnclosingLayer.append(layerBacking->childForSuperlayers());
}
+
+ if (m_documentOverlayRootLayer)
+ childLayersOfEnclosingLayer.append(m_documentOverlayRootLayer);
}
void RenderLayerCompositor::rebuildRegionCompositingLayerTree(RenderNamedFlowFragment* region, Vector<GraphicsLayer*>& childList, int depth)
@@ -3830,4 +3819,13 @@
m_renderView.frameView().firePaintRelatedMilestonesIfNeeded();
}
+void RenderLayerCompositor::setDocumentOverlayRootLayer(GraphicsLayer* documentOverlayRootLayer)
+{
+ if (m_documentOverlayRootLayer)
+ m_documentOverlayRootLayer->removeFromParent();
+ m_documentOverlayRootLayer = documentOverlayRootLayer;
+ setCompositingLayersNeedRebuild(true);
+ scheduleCompositingLayerUpdate();
+}
+
} // namespace WebCore
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.h (167302 => 167303)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.h 2014-04-15 06:57:02 UTC (rev 167302)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.h 2014-04-15 07:32:10 UTC (rev 167303)
@@ -304,6 +304,8 @@
void setRootExtendedBackgroundColor(const Color&);
Color rootExtendedBackgroundColor() const { return m_rootExtendedBackgroundColor; }
+ void setDocumentOverlayRootLayer(GraphicsLayer*);
+
private:
class OverlapMap;
@@ -364,7 +366,6 @@
bool layerHas3DContent(const RenderLayer&) const;
bool isRunningAcceleratedTransformAnimation(RenderLayerModelObject&) const;
- void appendOverlayLayers(Vector<GraphicsLayer*>&);
bool hasAnyAdditionalCompositedLayers(const RenderLayer& rootLayer) const;
void ensureRootLayer();
@@ -507,6 +508,8 @@
std::unique_ptr<GraphicsLayer> m_layerForFooter;
#endif
+ GraphicsLayer* m_documentOverlayRootLayer;
+
std::unique_ptr<GraphicsLayerUpdater> m_layerUpdater; // Updates tiled layer visible area periodically while animations are running.
Timer<RenderLayerCompositor> m_layerFlushTimer;
Modified: trunk/Source/WebKit2/ChangeLog (167302 => 167303)
--- trunk/Source/WebKit2/ChangeLog 2014-04-15 06:57:02 UTC (rev 167302)
+++ trunk/Source/WebKit2/ChangeLog 2014-04-15 07:32:10 UTC (rev 167303)
@@ -1,3 +1,18 @@
+2014-04-15 Commit Queue <commit-qu...@webkit.org>
+
+ Unreviewed, rolling out r167298.
+ https://bugs.webkit.org/show_bug.cgi?id=131670
+
+ Broke CSS filters (17 test crashes) (Requested by ap on
+ #webkit).
+
+ Reverted changeset:
+
+ "[iOS WK2] Pages often blank on first load if page loaded by
+ typing the URL"
+ https://bugs.webkit.org/show_bug.cgi?id=131665
+ http://trac.webkit.org/changeset/167298
+
2014-04-14 Simon Fraser <simon.fra...@apple.com>
[iOS WK2] Pages often blank on first load if page loaded by typing the URL
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (167302 => 167303)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp 2014-04-15 06:57:02 UTC (rev 167302)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp 2014-04-15 07:32:10 UTC (rev 167303)
@@ -771,14 +771,6 @@
m_page->exitAcceleratedCompositingMode();
}
-GraphicsLayer* WebChromeClient::documentOverlayLayerForFrame(Frame& frame)
-{
- if (&frame == &m_page->corePage()->mainFrame())
- return m_page->pageOverlayController().documentOverlayRootLayer();
-
- return nullptr;
-}
-
void WebChromeClient::setNeedsOneShotDrawingSynchronization()
{
notImplemented();
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h (167302 => 167303)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h 2014-04-15 06:57:02 UTC (rev 167302)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h 2014-04-15 07:32:10 UTC (rev 167303)
@@ -202,7 +202,6 @@
virtual void attachRootGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*) override;
virtual void setNeedsOneShotDrawingSynchronization() override;
virtual void scheduleCompositingLayerFlush() override;
- virtual WebCore::GraphicsLayer* documentOverlayLayerForFrame(WebCore::Frame&) override;
virtual CompositingTriggerFlags allowedCompositingTriggers() const
{
Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm (167302 => 167303)
--- trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm 2014-04-15 06:57:02 UTC (rev 167302)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm 2014-04-15 07:32:10 UTC (rev 167303)
@@ -94,6 +94,8 @@
children.append(m_webPage->pageOverlayController().viewOverlayRootLayer());
}
m_rootLayer->setChildren(children);
+
+ m_webPage->mainFrameView()->renderView()->compositor().setDocumentOverlayRootLayer(m_webPage->pageOverlayController().documentOverlayRootLayer());
}
void RemoteLayerTreeDrawingArea::updateGeometry(const IntSize& viewSize, const IntSize& layerPosition)
Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm (167302 => 167303)
--- trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm 2014-04-15 06:57:02 UTC (rev 167302)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm 2014-04-15 07:32:10 UTC (rev 167303)
@@ -449,6 +449,8 @@
[m_hostingLayer setSublayers:layer ? @[ layer, m_webPage->pageOverlayController().viewOverlayRootLayer()->platformLayer() ] : @[ ]];
+ m_webPage->mainFrameView()->renderView()->compositor().setDocumentOverlayRootLayer(m_webPage->pageOverlayController().documentOverlayRootLayer());
+
bool hadRootLayer = !!m_rootLayer;
m_rootLayer = layer;
[m_rootLayer setSublayerTransform:m_transform];