diff options
| author | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-17 16:21:14 +0200 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-17 16:21:14 +0200 |
| commit | 8995b83bcbfbb68245f779b64e5517627c6cc6ea (patch) | |
| tree | 17985605dab9263cc2444bd4d45f189e142cca7c /Source/WebCore/rendering/RenderBoxModelObject.h | |
| parent | b9c9652036d5e9f1e29c574f40bc73a35c81ace6 (diff) | |
| download | qtwebkit-8995b83bcbfbb68245f779b64e5517627c6cc6ea.tar.gz | |
Imported WebKit commit cf4f8fc6f19b0629f51860cb2d4b25e139d07e00 (http://svn.webkit.org/repository/webkit/trunk@131592)
New snapshot that includes the build fixes for Mac OS X 10.6 and earlier as well
as the previously cherry-picked changes
Diffstat (limited to 'Source/WebCore/rendering/RenderBoxModelObject.h')
| -rw-r--r-- | Source/WebCore/rendering/RenderBoxModelObject.h | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/Source/WebCore/rendering/RenderBoxModelObject.h b/Source/WebCore/rendering/RenderBoxModelObject.h index 6ee354c9a..b2fa38583 100644 --- a/Source/WebCore/rendering/RenderBoxModelObject.h +++ b/Source/WebCore/rendering/RenderBoxModelObject.h @@ -25,7 +25,7 @@ #define RenderBoxModelObject_h #include "LayoutTypesInlineMethods.h" -#include "RenderObject.h" +#include "RenderLayerModelObject.h" #include "ShadowData.h" namespace WebCore { @@ -56,7 +56,7 @@ class StickyPositionViewportConstraints; // This class is the base for all objects that adhere to the CSS box model as described // at http://www.w3.org/TR/CSS21/box.html -class RenderBoxModelObject : public RenderObject { +class RenderBoxModelObject : public RenderLayerModelObject { public: RenderBoxModelObject(Node*); virtual ~RenderBoxModelObject(); @@ -82,14 +82,9 @@ public: int pixelSnappedOffsetWidth() const; int pixelSnappedOffsetHeight() const; - virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle) OVERRIDE; - virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE; - virtual void updateBoxModelInfoFromStyle(); + virtual void updateFromStyle() OVERRIDE; - bool hasSelfPaintingLayer() const; - RenderLayer* layer() const { return m_layer; } - - virtual bool requiresLayer() const { return isRoot() || isPositioned() || createsGroup() || hasClipPath() || hasTransform() || hasHiddenBackface() || hasReflection() || style()->specifiesColumns(); } + virtual bool requiresLayer() const OVERRIDE { return isRoot() || isPositioned() || createsGroup() || hasClipPath() || hasTransform() || hasHiddenBackface() || hasReflection() || style()->specifiesColumns(); } // This will work on inlines to return the bounding box of all of the lines' border boxes. virtual IntRect borderBoundingBox() const = 0; @@ -163,10 +158,7 @@ public: virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const = 0; virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const = 0; - virtual void mapAbsoluteToLocalPoint(bool fixed, bool useTransforms, TransformState&) const OVERRIDE; - - // Called by RenderObject::willBeDestroyed() and is the only way layers should ever be destroyed - void destroyLayer(); + virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) const OVERRIDE; void highQualityRepaintTimerFired(Timer<RenderBoxModelObject>*); @@ -251,6 +243,8 @@ protected: static bool shouldAntialiasLines(GraphicsContext*); + static void clipRoundedInnerRect(GraphicsContext*, const LayoutRect&, const RoundedRect& clipRect); + public: // For RenderBlocks and RenderInlines with m_style->styleType() == FIRST_LETTER, this tracks their remaining text fragments RenderObject* firstLetterRemainingText() const; @@ -293,6 +287,7 @@ private: RoundedRect getBackgroundRoundedRect(const LayoutRect&, InlineFlowBox*, LayoutUnit inlineBoxWidth, LayoutUnit inlineBoxHeight, bool includeLogicalLeftEdge, bool includeLogicalRightEdge); + void clipBorderSidePolygon(GraphicsContext*, const RoundedRect& outerBorder, const RoundedRect& innerBorder, BoxSide, bool firstEdgeMatches, bool secondEdgeMatches); void clipBorderSideForComplexInnerPath(GraphicsContext*, const RoundedRect&, const RoundedRect&, BoxSide, const class BorderEdge[]); @@ -307,16 +302,6 @@ private: void drawBoxSideFromPath(GraphicsContext*, const LayoutRect&, const Path&, const class BorderEdge[], float thickness, float drawThickness, BoxSide, const RenderStyle*, Color, EBorderStyle, BackgroundBleedAvoidance, bool includeLogicalLeftEdge, bool includeLogicalRightEdge); - - friend class RenderView; - - RenderLayer* m_layer; - - // Used to store state between styleWillChange and styleDidChange - static bool s_wasFloating; - static bool s_hadLayer; - static bool s_hadTransform; - static bool s_layerWasSelfPainting; }; inline RenderBoxModelObject* toRenderBoxModelObject(RenderObject* object) |
