Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(787)

Unified Diff: Source/core/rendering/CompositedLayerMapping.h

Issue 20723003: Fix pixel snapping issues when layers become composited (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Bring up to ToT again... Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/rendering/CompositedLayerMapping.h
diff --git a/Source/core/rendering/CompositedLayerMapping.h b/Source/core/rendering/CompositedLayerMapping.h
index 57bc022cedb869d276afc28fa802f292097f9ee1..5ffd82d56dede686c7f020f75608c53ea68f275c 100644
--- a/Source/core/rendering/CompositedLayerMapping.h
+++ b/Source/core/rendering/CompositedLayerMapping.h
@@ -50,7 +50,7 @@ enum CompositingLayerType {
struct GraphicsLayerPaintInfo {
RenderLayer* renderLayer;
- IntRect compositedBounds;
+ LayoutRect compositedBounds;
// A temporary offset used for squashing layers, when the origin of the
// squashing layer is not yet known.
@@ -150,8 +150,8 @@ public:
void animationPaused(double timeOffset, const String& name);
void animationFinished(const String& name);
- IntRect compositedBounds() const;
- void setCompositedBounds(const IntRect&);
+ LayoutRect compositedBounds() const;
+ void setCompositedBounds(const LayoutRect&);
void updateCompositedBounds();
void updateAfterWidgetResize();
@@ -172,7 +172,7 @@ public:
virtual void verifyNotPainting();
#endif
- IntRect contentsBox() const;
+ LayoutRect contentsBox() const;
IntRect backgroundBox() const;
// For informative purposes only.
@@ -192,6 +192,7 @@ public:
virtual String debugName(const GraphicsLayer*) OVERRIDE;
+ LayoutSize subpixelAccumulation() const { return m_subpixelAccumulation; }
private:
void createPrimaryGraphicsLayer();
void destroyGraphicsLayers();
@@ -218,11 +219,13 @@ private:
void updateDrawsContent(bool isSimpleContainer);
void registerScrollingLayers();
+ void adjustBoundsForSubPixelAccumulation(const RenderLayer* compositedAncestor, IntRect& localCompositingBounds, IntRect& relativeCompositingBounds, IntPoint& delta);
+
void setBackgroundLayerPaintsFixedRootBackground(bool);
GraphicsLayerPaintingPhase paintingPhaseForPrimaryLayer() const;
- IntSize contentOffsetInCompostingLayer() const;
+ LayoutSize contentOffsetInCompostingLayer() const;
// Result is transform origin in pixels.
FloatPoint3D computeTransformOrigin(const IntRect& borderBox) const;
// Result is perspective origin in pixels.
@@ -338,7 +341,8 @@ private:
OwnPtr<GraphicsLayer> m_squashingLayer; // Only used if any squashed layers exist, this is the backing that squashed layers paint into.
Vector<GraphicsLayerPaintInfo> m_squashedLayers;
- IntRect m_compositedBounds;
+ LayoutRect m_compositedBounds;
+ LayoutSize m_subpixelAccumulation; // The accumulated subpixel offset of the compositedBounds compared to absolute coordinates.
bool m_artificiallyInflatedBounds; // bounds had to be made non-zero to make transform-origin work
bool m_boundsConstrainedByClipping;

Powered by Google App Engine
This is Rietveld 408576698