Diff
Modified: trunk/Source/WebCore/ChangeLog (92650 => 92651)
--- trunk/Source/WebCore/ChangeLog 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebCore/ChangeLog 2011-08-08 23:21:16 UTC (rev 92651)
@@ -1,3 +1,36 @@
+
+ Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState
+ https://bugs.webkit.org/show_bug.cgi?id=65708
+
+ Add logic to syncCompositingState to compute the visible rect for each
+ layer. This can be used to synchronously render the visible tiles of a
+ TiledLayer and avoid the flashing that often occurs when tiles are rendered
+ asynchronously. A new synchronouslyDisplayTilesInRect is also added to do
+ the actual rendering, but the call is not currently being made.
+
+ Reviewed by Simon Fraser.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::syncCompositingStateForThisFrame):
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::syncCompositingState):
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::syncCompositingState):
+ (WebCore::GraphicsLayerCA::recursiveCommitChanges):
+ (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
+ (WebCore::GraphicsLayerCA::updateSublayerList):
+ (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
+ * platform/graphics/ca/GraphicsLayerCA.h:
+ * platform/graphics/ca/PlatformCALayer.h:
+ * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+ (PlatformCALayer::synchronouslyDisplayTilesInRect):
+ * platform/graphics/transforms/TransformState.cpp:
+ (WebCore::TransformState::operator=):
+ * platform/graphics/transforms/TransformState.h:
+ (WebCore::TransformState::TransformState):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
+
2011-08-08 Sheriff Bot <[email protected]>
Unreviewed, rolling out r92619.
Modified: trunk/Source/WebCore/page/FrameView.cpp (92650 => 92651)
--- trunk/Source/WebCore/page/FrameView.cpp 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebCore/page/FrameView.cpp 2011-08-08 23:21:16 UTC (rev 92651)
@@ -701,8 +701,11 @@
Document* document = m_frame->document();
if (isDocumentRunningFullScreenAnimation(document)) {
RenderLayerBacking* backing = document->fullScreenRenderer()->layer()->backing();
- if (GraphicsLayer* fullScreenLayer = backing->graphicsLayer())
- fullScreenLayer->syncCompositingState();
+ if (GraphicsLayer* fullScreenLayer = backing->graphicsLayer()) {
+ // FIXME: Passing frameRect() is correct only when RenderLayerCompositor uses a ScrollLayer (as in WebKit2)
+ // otherwise, the passed clip rect needs to take scrolling into account
+ fullScreenLayer->syncCompositingState(frameRect());
+ }
}
#endif
return true;
Modified: trunk/Source/WebCore/platform/graphics/GraphicsLayer.h (92650 => 92651)
--- trunk/Source/WebCore/platform/graphics/GraphicsLayer.h 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebCore/platform/graphics/GraphicsLayer.h 2011-08-08 23:21:16 UTC (rev 92651)
@@ -365,7 +365,7 @@
// Some compositing systems may do internal batching to synchronize compositing updates
// with updates drawn into the window. These methods flush internal batched state on this layer
// and descendant layers, and this layer only.
- virtual void syncCompositingState() { }
+ virtual void syncCompositingState(const FloatRect& /* clipRect */) { }
virtual void syncCompositingStateForThisLayerOnly() { }
// Return a string with a human readable form of the layer tree, If debug is true
Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (92650 => 92651)
--- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2011-08-08 23:21:16 UTC (rev 92651)
@@ -36,6 +36,7 @@
#include "RotateTransformOperation.h"
#include "ScaleTransformOperation.h"
#include "SystemTime.h"
+#include "TransformState.h"
#include "TranslateTransformOperation.h"
#include <QuartzCore/CATransform3D.h>
#include <limits.h>
@@ -810,9 +811,10 @@
return FloatPoint();
}
-void GraphicsLayerCA::syncCompositingState()
+void GraphicsLayerCA::syncCompositingState(const FloatRect& clipRect)
{
- recursiveCommitChanges();
+ TransformState state(TransformState::UnapplyInverseTransformDirection, FloatQuad(clipRect));
+ recursiveCommitChanges(state);
}
void GraphicsLayerCA::syncCompositingStateForThisLayerOnly()
@@ -823,8 +825,46 @@
commitLayerChangesAfterSublayers();
}
-void GraphicsLayerCA::recursiveCommitChanges(float pageScaleFactor, const FloatPoint& positionRelativeToBase, bool affectedByPageScale)
+void GraphicsLayerCA::recursiveCommitChanges(const TransformState& state, float pageScaleFactor, const FloatPoint& positionRelativeToBase, bool affectedByPageScale)
{
+ // Save the state before sending down to kids and restore it after
+ TransformState localState = state;
+
+ TransformState::TransformAccumulation accumulation = preserves3D() ? TransformState::AccumulateTransform : TransformState::FlattenTransform;
+ localState.move(-m_position.x(), -m_position.y(), accumulation);
+
+ if (!transform().isIdentity()) {
+ TransformationMatrix transformWithAnchorPoint;
+ FloatPoint3D absoluteAnchorPoint(anchorPoint());
+ absoluteAnchorPoint.scale(size().width(), size().height(), 1);
+ transformWithAnchorPoint.translate3d(absoluteAnchorPoint.x(), absoluteAnchorPoint.y(), absoluteAnchorPoint.z());
+ transformWithAnchorPoint.multiply(transform());
+ transformWithAnchorPoint.translate3d(-absoluteAnchorPoint.x(), -absoluteAnchorPoint.y(), -absoluteAnchorPoint.z());
+ localState.applyTransform(transformWithAnchorPoint, accumulation);
+ }
+
+ FloatRect clipRectForChildren = localState.lastPlanarQuad().boundingBox();
+ FloatRect clipRectForSelf;
+
+ if (masksToBounds()) {
+ ASSERT(accumulation == TransformState::FlattenTransform);
+
+ // Replace the quad in the TransformState with one that is clipped to this layer's bounds
+ clipRectForSelf = FloatRect(0, 0, m_size.width(), m_size.height());
+ clipRectForSelf.intersect(clipRectForChildren);
+ localState.setQuad(clipRectForSelf);
+ }
+
+#ifdef VISIBLE_TILE_WASH
+ if (m_visibleTileWashLayer) {
+ if (clipRectForSelf.isEmpty()) {
+ clipRectForSelf = FloatRect(0, 0, m_size.width(), m_size.height());
+ clipRectForSelf.intersect(clipRectForChildren);
+ }
+ m_visibleTileWashLayer->setFrame(clipRectForSelf);
+ }
+#endif
+
bool hadChanges = m_uncommittedChanges;
if (appliesPageScale()) {
@@ -844,13 +884,17 @@
const Vector<GraphicsLayer*>& childLayers = children();
size_t numChildren = childLayers.size();
+
+ if (!childrenTransform().isIdentity())
+ localState.applyTransform(childrenTransform(), accumulation);
+
for (size_t i = 0; i < numChildren; ++i) {
GraphicsLayerCA* curChild = static_cast<GraphicsLayerCA*>(childLayers[i]);
- curChild->recursiveCommitChanges(pageScaleFactor, baseRelativePosition, affectedByPageScale);
+ curChild->recursiveCommitChanges(localState, pageScaleFactor, baseRelativePosition, affectedByPageScale);
}
if (m_replicaLayer)
- static_cast<GraphicsLayerCA*>(m_replicaLayer)->recursiveCommitChanges(pageScaleFactor, baseRelativePosition, affectedByPageScale);
+ static_cast<GraphicsLayerCA*>(m_replicaLayer)->recursiveCommitChanges(localState, pageScaleFactor, baseRelativePosition, affectedByPageScale);
if (m_maskLayer)
static_cast<GraphicsLayerCA*>(m_maskLayer)->commitLayerChangesAfterSublayers();
@@ -861,6 +905,11 @@
client()->didCommitChangesForLayer(this);
}
+void GraphicsLayerCA::platformCALayerPaintContents(GraphicsContext& context, const IntRect& clip)
+{
+ paintGraphicsLayerContents(context, clip);
+}
+
void GraphicsLayerCA::commitLayerChangesBeforeSublayers(float pageScaleFactor, const FloatPoint& positionRelativeToBase)
{
if (!m_uncommittedChanges)
@@ -989,6 +1038,11 @@
for (size_t i = 0; i < newSublayers.size(); --i)
newSublayers[i]->removeFromSuperlayer();
}
+
+#ifdef VISIBLE_TILE_WASH
+ if (m_visibleTileWashLayer)
+ newSublayers.append(m_visibleTileWashLayer);
+#endif
if (m_structuralLayer) {
m_structuralLayer->setSublayers(newSublayers);
@@ -2062,7 +2116,22 @@
m_layer = PlatformCALayer::create(useTiledLayer ? PlatformCALayer::LayerTypeWebTiledLayer : PlatformCALayer::LayerTypeWebLayer, this);
m_usingTiledLayer = useTiledLayer;
+#ifdef VISIBLE_TILE_WASH
if (useTiledLayer) {
+ static Color washFillColor(255, 0, 0, 50);
+ static Color washBorderColor(255, 0, 0, 100);
+
+ m_visibleTileWashLayer = PlatformCALayer::create(PlatformCALayer::LayerTypeLayer, this);
+ m_visibleTileWashLayer->setName("Visible Tile Wash Layer");
+ m_visibleTileWashLayer->setAnchorPoint(FloatPoint3D(0, 0, 0));
+ m_visibleTileWashLayer->setBorderColor(washBorderColor);
+ m_visibleTileWashLayer->setBorderWidth(8);
+ m_visibleTileWashLayer->setBackgroundColor(washFillColor);
+ } else
+ m_visibleTileWashLayer = 0;
+#endif
+
+ if (useTiledLayer) {
#if !HAVE_MODERN_QUARTZCORE
// Tiled layer has issues with flipped coordinates.
setContentsOrientation(CompositingCoordinatesTopDown);
@@ -2074,7 +2143,12 @@
}
m_layer->adoptSublayers(oldLayer.get());
-
+
+#ifdef VISIBLE_TILE_WASH
+ if (m_visibleTileWashLayer)
+ m_layer->appendSublayer(m_visibleTileWashLayer.get());
+#endif
+
// FIXME: Skip this step if we don't have a superlayer. This is problably a benign
// case that happens while restructuring the layer tree.
ASSERT(oldLayer->superlayer());
Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h (92650 => 92651)
--- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h 2011-08-08 23:21:16 UTC (rev 92651)
@@ -37,9 +37,14 @@
#include <wtf/RetainPtr.h>
#include <wtf/text/StringHash.h>
+// Enable this to add a light red wash over the visible portion of Tiled Layers, as computed
+// by syncCompositingState().
+// #define VISIBLE_TILE_WASH
+
namespace WebCore {
class PlatformCALayer;
+class TransformState;
class GraphicsLayerCA : public GraphicsLayer, public PlatformCALayerClient {
public:
@@ -119,9 +124,9 @@
virtual void setMaintainsPixelAlignment(bool);
virtual void pageScaleFactorChanged();
- void recursiveCommitChanges(float pageScaleFactor = 1, const FloatPoint& positionRelativeToBase = FloatPoint(), bool affectedByPageScale = false);
+ void recursiveCommitChanges(const TransformState&, float pageScaleFactor = 1, const FloatPoint& positionRelativeToBase = FloatPoint(), bool affectedByPageScale = false);
- virtual void syncCompositingState();
+ virtual void syncCompositingState(const FloatRect&);
virtual void syncCompositingStateForThisLayerOnly();
bool allowTiledLayer() const { return m_allowTiledLayer; }
@@ -137,7 +142,7 @@
virtual void platformCALayerAnimationStarted(CFTimeInterval beginTime);
virtual CompositingCoordinatesOrientation platformCALayerContentsOrientation() const { return contentsOrientation(); }
- virtual void platformCALayerPaintContents(GraphicsContext& context, const IntRect& clip) { paintGraphicsLayerContents(context, clip); }
+ virtual void platformCALayerPaintContents(GraphicsContext&, const IntRect& clip);
virtual bool platformCALayerShowDebugBorders() const { return showDebugBorders(); }
virtual bool platformCALayerShowRepaintCounter() const { return showRepaintCounter(); }
virtual int platformCALayerIncrementRepaintCount() { return incrementRepaintCount(); }
@@ -348,6 +353,10 @@
OwnPtr<LayerMap> m_layerClones;
OwnPtr<LayerMap> m_structuralLayerClones;
OwnPtr<LayerMap> m_contentsLayerClones;
+
+#ifdef VISIBLE_TILE_WASH
+ RefPtr<PlatformCALayer> m_visibleTileWashLayer;
+#endif
enum ContentsLayerPurpose {
NoContentsLayer = 0,
Modified: trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.h (92650 => 92651)
--- trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.h 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.h 2011-08-08 23:21:16 UTC (rev 92651)
@@ -195,6 +195,10 @@
void printTree() const;
#endif
+#if PLATFORM(MAC) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
+ void synchronouslyDisplayTilesInRect(const FloatRect&);
+#endif
+
protected:
PlatformCALayer(LayerType, PlatformLayer*, PlatformCALayerClient*);
Modified: trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm (92650 => 92651)
--- trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm 2011-08-08 23:21:16 UTC (rev 92651)
@@ -89,6 +89,14 @@
@end
+#if !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
+@interface CATiledLayer(GraphicsLayerCAPrivate)
+- (void)displayInRect:(CGRect)r levelOfDetail:(int)lod options:(NSDictionary *)dict;
+- (BOOL)canDrawConcurrently;
+- (void)setCanDrawConcurrently:(BOOL)flag;
+@end
+#endif
+
@interface CALayer(Private)
- (void)setContentsChanged;
#if !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
@@ -750,4 +758,21 @@
#endif
}
+#if !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
+void PlatformCALayer::synchronouslyDisplayTilesInRect(const FloatRect& rect)
+{
+ if (m_layerType != LayerTypeWebTiledLayer)
+ return;
+
+ WebTiledLayer *tiledLayer = static_cast<WebTiledLayer*>(m_layer.get());
+
+ BEGIN_BLOCK_OBJC_EXCEPTIONS
+ BOOL oldCanDrawConcurrently = [tiledLayer canDrawConcurrently];
+ [tiledLayer setCanDrawConcurrently:NO];
+ [tiledLayer displayInRect:rect levelOfDetail:0 options:nil];
+ [tiledLayer setCanDrawConcurrently:oldCanDrawConcurrently];
+ END_BLOCK_OBJC_EXCEPTIONS
+}
+#endif
+
#endif // USE(ACCELERATED_COMPOSITING)
Modified: trunk/Source/WebCore/platform/graphics/transforms/TransformState.cpp (92650 => 92651)
--- trunk/Source/WebCore/platform/graphics/transforms/TransformState.cpp 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebCore/platform/graphics/transforms/TransformState.cpp 2011-08-08 23:21:16 UTC (rev 92651)
@@ -30,6 +30,25 @@
namespace WebCore {
+TransformState& TransformState::operator=(const TransformState& other)
+{
+ m_mapPoint = other.m_mapPoint;
+ m_mapQuad = other.m_mapQuad;
+ if (m_mapPoint)
+ m_lastPlanarPoint = other.m_lastPlanarPoint;
+ if (m_mapQuad)
+ m_lastPlanarQuad = other.m_lastPlanarQuad;
+ m_accumulatingTransform = other.m_accumulatingTransform;
+ m_direction = other.m_direction;
+
+ m_accumulatedTransform.clear();
+
+ if (other.m_accumulatedTransform)
+ m_accumulatedTransform = adoptPtr(new TransformationMatrix(*other.m_accumulatedTransform));
+
+ return *this;
+}
+
void TransformState::move(int x, int y, TransformAccumulation accumulate)
{
if (m_accumulatingTransform && m_accumulatedTransform) {
Modified: trunk/Source/WebCore/platform/graphics/transforms/TransformState.h (92650 => 92651)
--- trunk/Source/WebCore/platform/graphics/transforms/TransformState.h 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebCore/platform/graphics/transforms/TransformState.h 2011-08-08 23:21:16 UTC (rev 92651)
@@ -36,7 +36,6 @@
namespace WebCore {
class TransformState {
- WTF_MAKE_NONCOPYABLE(TransformState);
public:
enum TransformDirection { ApplyTransformDirection, UnapplyInverseTransformDirection };
enum TransformAccumulation { FlattenTransform, AccumulateTransform };
@@ -69,6 +68,10 @@
{
}
+ TransformState(const TransformState& other) { *this = other; }
+
+ TransformState& operator=(const TransformState&);
+
void setQuad(const FloatQuad& quad) { m_lastPlanarQuad = quad; }
void move(const IntSize& s, TransformAccumulation accumulate = FlattenTransform)
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (92650 => 92651)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2011-08-08 23:21:16 UTC (rev 92651)
@@ -203,9 +203,15 @@
ASSERT(!m_flushingLayers);
m_flushingLayers = true;
- if (GraphicsLayer* rootLayer = rootGraphicsLayer())
- rootLayer->syncCompositingState();
-
+ if (GraphicsLayer* rootLayer = rootGraphicsLayer()) {
+ FrameView* frameView = m_renderView ? m_renderView->frameView() : 0;
+ if (frameView) {
+ // FIXME: Passing frameRect() is correct only when RenderLayerCompositor uses a ScrollLayer (as in WebKit2)
+ // otherwise, the passed clip rect needs to take scrolling into account
+ rootLayer->syncCompositingState(frameView->frameRect());
+ }
+ }
+
ASSERT(m_flushingLayers);
m_flushingLayers = false;
}
Modified: trunk/Source/WebKit/mac/ChangeLog (92650 => 92651)
--- trunk/Source/WebKit/mac/ChangeLog 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebKit/mac/ChangeLog 2011-08-08 23:21:16 UTC (rev 92651)
@@ -1,3 +1,16 @@
+2011-08-08 Chris Marrin <[email protected]>
+
+ Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState
+ https://bugs.webkit.org/show_bug.cgi?id=65708
+
+ Supply initial display rects for the full-screen case
+
+ Reviewed by Simon Fraser.
+
+ * WebView/WebFullScreenController.mm:
+ (-[WebFullScreenController enterFullscreen:]):
+ (-[WebFullScreenController exitFullscreen]):
+
2011-08-06 Joseph Pecoraro <[email protected]>
Potential Leaks - RetainPtr<> over retaining Create'd objects
Modified: trunk/Source/WebKit/mac/WebView/WebFullScreenController.mm (92650 => 92651)
--- trunk/Source/WebKit/mac/WebView/WebFullScreenController.mm 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebKit/mac/WebView/WebFullScreenController.mm 2011-08-08 23:21:16 UTC (rev 92651)
@@ -421,7 +421,7 @@
// Some properties haven't propogated from the GraphicsLayer to the CALayer yet. So
// tell the renderer's layer to sync it's compositing state:
GraphicsLayer* rendererGraphics = _renderer->layer()->backing()->graphicsLayer();
- rendererGraphics->syncCompositingState();
+ rendererGraphics->syncCompositingState(destinationFrame);
CALayer* rendererLayer = rendererGraphics->platformLayer();
[[self _fullscreenWindow] setRendererLayer:rendererLayer];
@@ -572,7 +572,7 @@
[self _document]->setFullScreenRendererBackgroundColor(Color::transparent);
- rendererGraphics->syncCompositingState();
+ rendererGraphics->syncCompositingState(layerEndFrame);
CALayer* rendererLayer = rendererGraphics->platformLayer();
[[self _fullscreenWindow] setRendererLayer:rendererLayer];
Modified: trunk/Source/WebKit2/ChangeLog (92650 => 92651)
--- trunk/Source/WebKit2/ChangeLog 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebKit2/ChangeLog 2011-08-08 23:21:16 UTC (rev 92651)
@@ -1,3 +1,17 @@
+2011-08-08 Chris Marrin <[email protected]>
+
+ Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState
+ https://bugs.webkit.org/show_bug.cgi?id=65708
+
+ Supply initial display rects for the full-screen case
+
+ Reviewed by Simon Fraser.
+
+ * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
+ (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
+ (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation):
+ (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation):
+
2011-08-08 Dan Bernstein <[email protected]>
<rdar://problem/9652350> REGRESSION (r87755): WKView doesn't update when I drag files into a background Safari window
Modified: trunk/Source/WebKit2/WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm (92650 => 92651)
--- trunk/Source/WebKit2/WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm 2011-08-08 23:09:50 UTC (rev 92650)
+++ trunk/Source/WebKit2/WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm 2011-08-08 23:21:16 UTC (rev 92651)
@@ -173,7 +173,7 @@
[CATransaction setDisableActions:YES];
m_rootLayer->removeAllChildren();
m_rootLayer->addChild(layer);
- m_rootLayer->syncCompositingState();
+ m_rootLayer->syncCompositingState(getFullScreenRect());
[CATransaction commit];
[[NSNotificationCenter defaultCenter] postNotificationName:@"WebKitLayerHostChanged" object:m_rootLayer->platformLayer() userInfo:nil];
@@ -203,7 +203,7 @@
IntRect destinationFrame = getFullScreenRect();
m_element->document()->setFullScreenRendererSize(destinationFrame.size());
- m_rootLayer->syncCompositingState();
+ m_rootLayer->syncCompositingState(destinationFrame);
// FIXME: Once we gain the ability to do native WebKit animations of generated
// content, this can change to use them. Meanwhile, we'll have to animate the
@@ -226,7 +226,7 @@
IntRect destinationFrame = getFullScreenRect();
m_element->document()->setFullScreenRendererSize(destinationFrame.size());
- m_rootLayer->syncCompositingState();
+ m_rootLayer->syncCompositingState(destinationFrame);
// FIXME: Once we gain the ability to do native WebKit animations of generated
// content, this can change to use them. Meanwhile, we'll have to animate the