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

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

Issue 385583005: For flex items, percent paddings should resolve against their respective dimension Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: WIP Patch 2 Created 6 years, 5 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/RenderBoxModelObject.h
diff --git a/Source/core/rendering/RenderBoxModelObject.h b/Source/core/rendering/RenderBoxModelObject.h
index 8f0c0b5c7b85178c2c1d3bb1f4df44a4bc9ddffd..349f880fff50a72f0591cf7443dfa0a03402d146 100644
--- a/Source/core/rendering/RenderBoxModelObject.h
+++ b/Source/core/rendering/RenderBoxModelObject.h
@@ -48,6 +48,17 @@ enum ContentChangeType {
CanvasContextChanged
};
+enum PaddingType {
+ TopPadding,
+ RightPadding,
+ BottomPadding,
+ LeftPadding,
+ BeforePadding,
+ AfterPadding,
+ StartPadding,
+ EndPadding
+};
+
class RenderTextFragment;
// This class is the base for all objects that adhere to the CSS box model as described
@@ -81,14 +92,14 @@ public:
virtual IntRect borderBoundingBox() const = 0;
// These return the CSS computed padding values.
- LayoutUnit computedCSSPaddingTop() const { return computedCSSPadding(style()->paddingTop()); }
- LayoutUnit computedCSSPaddingBottom() const { return computedCSSPadding(style()->paddingBottom()); }
- LayoutUnit computedCSSPaddingLeft() const { return computedCSSPadding(style()->paddingLeft()); }
- LayoutUnit computedCSSPaddingRight() const { return computedCSSPadding(style()->paddingRight()); }
- LayoutUnit computedCSSPaddingBefore() const { return computedCSSPadding(style()->paddingBefore()); }
- LayoutUnit computedCSSPaddingAfter() const { return computedCSSPadding(style()->paddingAfter()); }
- LayoutUnit computedCSSPaddingStart() const { return computedCSSPadding(style()->paddingStart()); }
- LayoutUnit computedCSSPaddingEnd() const { return computedCSSPadding(style()->paddingEnd()); }
+ LayoutUnit computedCSSPaddingTop() const { return computedCSSPadding(style()->paddingTop(), TopPadding); }
+ LayoutUnit computedCSSPaddingBottom() const { return computedCSSPadding(style()->paddingBottom(), BottomPadding); }
+ LayoutUnit computedCSSPaddingLeft() const { return computedCSSPadding(style()->paddingLeft(), LeftPadding); }
+ LayoutUnit computedCSSPaddingRight() const { return computedCSSPadding(style()->paddingRight(), RightPadding); }
+ LayoutUnit computedCSSPaddingBefore() const { return computedCSSPadding(style()->paddingBefore(), BeforePadding); }
+ LayoutUnit computedCSSPaddingAfter() const { return computedCSSPadding(style()->paddingAfter(), AfterPadding); }
+ LayoutUnit computedCSSPaddingStart() const { return computedCSSPadding(style()->paddingStart(), StartPadding); }
+ LayoutUnit computedCSSPaddingEnd() const { return computedCSSPadding(style()->paddingEnd(), EndPadding); }
// These functions are used during layout. Table cells
// override them to include some extra intrinsic padding.
@@ -297,11 +308,14 @@ public:
IntSize calculateImageIntrinsicDimensions(StyleImage*, const IntSize& scaledPositioningAreaSize, ScaleByEffectiveZoomOrNot) const;
private:
- LayoutUnit computedCSSPadding(const Length&) const;
+ LayoutUnit computedCSSPadding(const Length&, PaddingType) const;
virtual bool isBoxModelObject() const OVERRIDE FINAL { return true; }
IntSize calculateFillTileSize(const FillLayer*, const IntSize& scaledPositioningAreaSize) const;
+ LayoutUnit containingBlockLogicalHeightForContent() const;
+ LayoutUnit computePercentLogicalHeight() const;
+
RoundedRect getBackgroundRoundedRect(const LayoutRect&, InlineFlowBox*, LayoutUnit inlineBoxWidth, LayoutUnit inlineBoxHeight,
bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const;

Powered by Google App Engine
This is Rietveld 408576698