Skip to content

Commit

Permalink
Unreviewed, rolling out r143691.
Browse files Browse the repository at this point in the history
http://trac.webkit.org/changeset/143691
https://bugs.webkit.org/show_bug.cgi?id=110559

Breaks compilation on mac. (Requested by vsevik on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-21

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore):
(WebCore::RenderLayerCompositor::reasonForCompositing):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

Canonical link: https://commits.webkit.org/128835@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
WebKit Review Bot authored and Vsevolod Vlasov committed Feb 22, 2013
1 parent b231b82 commit 30a8960
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 146 deletions.
15 changes: 15 additions & 0 deletions Source/WebCore/ChangeLog
@@ -1,3 +1,18 @@
2013-02-21 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r143691.
http://trac.webkit.org/changeset/143691
https://bugs.webkit.org/show_bug.cgi?id=110559

Breaks compilation on mac. (Requested by vsevik on #webkit).

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore):
(WebCore::RenderLayerCompositor::reasonForCompositing):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

2013-02-21 Philip Rogers <pdr@google.com>

Remove deep copy of ImageBuffer in tiled SVG backgrounds
Expand Down
149 changes: 35 additions & 114 deletions Source/WebCore/rendering/RenderLayerCompositor.cpp
Expand Up @@ -578,7 +578,7 @@ void RenderLayerCompositor::logLayerInfo(const RenderLayer* layer, int depth)

LOG(Compositing, "%*p %dx%d %.2fKB (%s) %s\n", 12 + depth * 2, layer, backing->compositedBounds().width(), backing->compositedBounds().height(),
backing->backingStoreMemoryEstimate() / 1024,
logReasonsForCompositing(layer), layer->name().utf8().data());
reasonForCompositing(layer), layer->name().utf8().data());
}
#endif

Expand Down Expand Up @@ -1713,166 +1713,87 @@ bool RenderLayerCompositor::requiresOwnBackingStore(const RenderLayer* layer, co
return false;
}

CompositingReasons RenderLayerCompositor::reasonsForCompositing(const RenderLayer* layer) const
#if !LOG_DISABLED
const char* RenderLayerCompositor::reasonForCompositing(const RenderLayer* layer)
{
CompositingReasons reasons = CompositingReasonNone;

if (!layer || !layer->isComposited())
return reasons;

RenderObject* renderer = layer->renderer();
if (layer->isReflection()) {
renderer = renderer->parent();
layer = toRenderLayerModelObject(renderer)->layer();
}

if (requiresCompositingForTransform(renderer))
reasons |= CompositingReason3DTransform;
return "3D transform";

if (requiresCompositingForVideo(renderer))
reasons |= CompositingReasonVideo;
return "video";

if (requiresCompositingForCanvas(renderer))
reasons |= CompositingReasonCanvas;
return "canvas";

if (requiresCompositingForPlugin(renderer))
reasons |= CompositingReasonPlugin;
return "plugin";

if (requiresCompositingForFrame(renderer))
reasons |= CompositingReasonIFrame;
return "iframe";

if ((canRender3DTransforms() && renderer->style()->backfaceVisibility() == BackfaceVisibilityHidden))
reasons |= CompositingReasonBackfaceVisibilityHidden;
return "backface-visibility: hidden";

if (clipsCompositingDescendants(layer))
reasons |= CompositingReasonClipsCompositingDescendants;
return "clips compositing descendants";

if (requiresCompositingForAnimation(renderer))
reasons |= CompositingReasonAnimation;
return "animation";

if (requiresCompositingForFilters(renderer))
reasons |= CompositingReasonFilters;
return "filters";

if (requiresCompositingForPosition(renderer, layer))
reasons |= renderer->style()->position() == FixedPosition ? CompositingReasonPositionFixed : CompositingReasonPositionSticky;
return renderer->style()->position() == FixedPosition ? "position: fixed" : "position: sticky";

if (requiresCompositingForOverflowScrolling(layer))
reasons |= CompositingReasonOverflowScrollingTouch;

if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForStacking)
reasons |= CompositingReasonStacking;
else if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForOverlap)
reasons |= CompositingReasonOverlap;
else if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForBackgroundLayer)
reasons |= CompositingReasonNegativeZIndexChildren;
else if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForGraphicalEffect) {
if (layer->transform())
reasons |= CompositingReasonTransformWithCompositedDescendants;

if (renderer->isTransparent())
reasons |= CompositingReasonOpacityWithCompositedDescendants;

if (renderer->hasMask())
reasons |= CompositingReasonMaskWithCompositedDescendants;

if (renderer->hasReflection())
reasons |= CompositingReasonReflectionWithCompositedDescendants;

if (renderer->hasFilter())
reasons |= CompositingReasonFilterWithCompositedDescendants;

if (renderer->hasBlendMode())
reasons |= CompositingReasonBlendingWithCompositedDescendants;
} else if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForPerspective)
reasons |= CompositingReasonPerspective;
else if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForPreserve3D)
reasons |= CompositingReasonPreserve3D;

if (inCompositingMode() && layer->isRootLayer())
reasons |= CompositingReasonRoot;

return reasons;
}

#if !LOG_DISABLED
const char* RenderLayerCompositor::logReasonsForCompositing(const RenderLayer* layer)
{
CompositingReasons reasons = reasonsForCompositing(layer);

if (!reasons)
return "";

if (reasons & CompositingReason3DTransform)
return "3D transform";

if (reasons & CompositingReasonVideo)
return "video";

if (reasons & CompositingReasonCanvas)
return "canvas";

if (reasons & CompositingReasonPlugin)
return "plugin";

if (reasons & CompositingReasonIFrame)
return "iframe";

if (reasons & CompositingReasonBackfaceVisibilityHidden)
return "backface-visibility: hidden";

if (reasons & CompositingReasonClipsCompositingDescendants)
return "clips compositing descendants";

if (reasons & CompositingReasonAnimation)
return "animation";

if (reasons & CompositingReasonFilters)
return "filters";

if (reasons & CompositingReasonPositionFixed)
return "position: fixed";

if (reasons & CompositingReasonPositionSticky)
return "position: sticky";

if (reasons & CompositingReasonOverflowScrollingTouch)
return "-webkit-overflow-scrolling: touch";

if (reasons & CompositingReasonStacking)
if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForStacking)
return "stacking";

if (reasons & CompositingReasonOverlap)
if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForOverlap)
return "overlap";

if (reasons & CompositingReasonNegativeZIndexChildren)
if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForBackgroundLayer)
return "negative z-index children";

if (reasons & CompositingReasonTransformWithCompositedDescendants)
return "transform with composited descendants";
if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForGraphicalEffect) {
if (layer->transform())
return "transform with composited descendants";

if (reasons & CompositingReasonOpacityWithCompositedDescendants)
return "opacity with composited descendants";
if (renderer->isTransparent())
return "opacity with composited descendants";

if (reasons & CompositingReasonMaskWithCompositedDescendants)
return "mask with composited descendants";
if (renderer->hasMask())
return "mask with composited descendants";

if (reasons & CompositingReasonReflectionWithCompositedDescendants)
return "reflection with composited descendants";
if (renderer->hasReflection())
return "reflection with composited descendants";

if (reasons & CompositingReasonFilterWithCompositedDescendants)
return "filter with composited descendants";
if (renderer->hasFilter())
return "filter with composited descendants";

if (reasons & CompositingReasonBlendingWithCompositedDescendants)
return "blending with composited descendants";
if (renderer->hasBlendMode())
return "blending with composited descendants";
}

if (reasons & CompositingReasonPerspective)
if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForPerspective)
return "perspective";

if (reasons & CompositingReasonPreserve3D)
if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForPreserve3D)
return "preserve-3d";

if (reasons & CompositingReasonRoot)
if (inCompositingMode() && layer->isRootLayer())
return "root";

return "";
}
#endif

Expand Down
33 changes: 1 addition & 32 deletions Source/WebCore/rendering/RenderLayerCompositor.h
Expand Up @@ -55,35 +55,6 @@ enum CompositingUpdateType {
CompositingUpdateOnCompositedScroll
};

enum {
CompositingReasonNone = 0,
CompositingReason3DTransform = 1 << 0,
CompositingReasonVideo = 1 << 1,
CompositingReasonCanvas = 1 << 2,
CompositingReasonPlugin = 1 << 3,
CompositingReasonIFrame = 1 << 4,
CompositingReasonBackfaceVisibilityHidden = 1 << 5,
CompositingReasonClipsCompositingDescendants = 1 << 6,
CompositingReasonAnimation = 1 << 7,
CompositingReasonFilters = 1 << 8,
CompositingReasonPositionFixed = 1 << 9,
CompositingReasonPositionSticky = 1 << 10,
CompositingReasonOverflowScrollingTouch = 1 << 11,
CompositingReasonStacking = 1 << 12,
CompositingReasonOverlap = 1 << 13,
CompositingReasonNegativeZIndexChildren = 1 << 14,
CompositingReasonTransformWithCompositedDescendants = 1 << 15,
CompositingReasonOpacityWithCompositedDescendants = 1 << 16,
CompositingReasonMaskWithCompositedDescendants = 1 << 17,
CompositingReasonReflectionWithCompositedDescendants = 1 << 18,
CompositingReasonFilterWithCompositedDescendants = 1 << 19,
CompositingReasonBlendingWithCompositedDescendants = 1 << 20,
CompositingReasonPerspective = 1 << 21,
CompositingReasonPreserve3D = 1 << 22,
CompositingReasonRoot = 1 << 23
};
typedef unsigned CompositingReasons;

// RenderLayerCompositor manages the hierarchy of
// composited RenderLayers. It determines which RenderLayers
// become compositing, and creates and maintains a hierarchy of
Expand Down Expand Up @@ -370,12 +341,10 @@ class RenderLayerCompositor : public GraphicsLayerClient, public GraphicsLayerUp
#endif

#if !LOG_DISABLED
const char* logReasonsForCompositing(const RenderLayer*);
const char* reasonForCompositing(const RenderLayer*);
void logLayerInfo(const RenderLayer*, int depth);
#endif

CompositingReasons reasonsForCompositing(const RenderLayer*) const;

private:
RenderView* m_renderView;
OwnPtr<GraphicsLayer> m_rootContentLayer;
Expand Down

0 comments on commit 30a8960

Please sign in to comment.