Changeset 167727 in webkit
- Timestamp:
- Apr 23, 2014 3:19:19 PM (10 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r167724 r167727 1 2014-04-23 David Hyatt <hyatt@apple.com> 2 3 [New Multicolumn] fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode.html fails 4 https://bugs.webkit.org/show_bug.cgi?id=132078 5 6 Reviewed by Anders Carlsson. 7 8 * rendering/RenderBox.cpp: 9 (WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation): 10 Add a parameter to test for orthogonal writing modes. If we're perpendicular, 11 then we should not skip the flow thread, since we resolve relative to the column width, 12 and that is always set. 13 14 (WebCore::RenderBox::computePercentageLogicalHeight): 15 Patched to pass in whether or not the box and the ancestor block are perpendicular. 16 17 * rendering/RenderBox.h: 18 Patched the signature of skipContainingBlockForPercentHeightCalculation 19 1 20 2014-04-23 Myles C. Maxfield <mmaxfield@apple.com> 2 21 -
trunk/Source/WebCore/rendering/RenderBox.cpp
r167706 r167727 2713 2713 } 2714 2714 2715 bool RenderBox::skipContainingBlockForPercentHeightCalculation(const RenderBox* containingBlock ) const2715 bool RenderBox::skipContainingBlockForPercentHeightCalculation(const RenderBox* containingBlock, bool isPerpendicularWritingMode) const 2716 2716 { 2717 2717 // Flow threads for multicol or paged overflow should be skipped. They are invisible to the DOM, 2718 2718 // and percent heights of children should be resolved against the multicol or paged container. 2719 if (containingBlock->isInFlowRenderFlowThread() )2719 if (containingBlock->isInFlowRenderFlowThread() && !isPerpendicularWritingMode) 2720 2720 return true; 2721 2721 … … 2735 2735 const RenderBox* containingBlockChild = this; 2736 2736 LayoutUnit rootMarginBorderPaddingHeight = 0; 2737 while (!cb->isRenderView() && skipContainingBlockForPercentHeightCalculation(cb)) { 2737 bool isHorizontal = isHorizontalWritingMode(); 2738 while (!cb->isRenderView() && skipContainingBlockForPercentHeightCalculation(cb, isHorizontal != cb->isHorizontalWritingMode())) { 2738 2739 if (cb->isBody() || cb->isRoot()) 2739 2740 rootMarginBorderPaddingHeight += cb->marginBefore() + cb->marginAfter() + cb->borderAndPaddingLogicalHeight(); … … 2752 2753 bool includeBorderPadding = isTable(); 2753 2754 2754 if (isHorizontal WritingMode()!= cb->isHorizontalWritingMode())2755 if (isHorizontal != cb->isHorizontalWritingMode()) 2755 2756 availableHeight = containingBlockChild->containingBlockLogicalWidthForContent(); 2756 2757 else if (hasOverrideContainingBlockLogicalHeight()) -
trunk/Source/WebCore/rendering/RenderBox.h
r167706 r167727 670 670 bool repaintLayerRectsForImage(WrappedImagePtr image, const FillLayer* layers, bool drawingBackground); 671 671 672 bool skipContainingBlockForPercentHeightCalculation(const RenderBox* containingBlock ) const;672 bool skipContainingBlockForPercentHeightCalculation(const RenderBox* containingBlock, bool isPerpendicularWritingMode) const; 673 673 674 674 LayoutUnit containingBlockLogicalWidthForPositioned(const RenderBoxModelObject* containingBlock, RenderRegion* = 0, bool checkForPerpendicularWritingMode = true) const;
Note: See TracChangeset
for help on using the changeset viewer.