summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/RenderBoxModelObject.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-10-17 16:21:14 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-10-17 16:21:14 +0200
commit8995b83bcbfbb68245f779b64e5517627c6cc6ea (patch)
tree17985605dab9263cc2444bd4d45f189e142cca7c /Source/WebCore/rendering/RenderBoxModelObject.h
parentb9c9652036d5e9f1e29c574f40bc73a35c81ace6 (diff)
downloadqtwebkit-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.h31
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)