Changeset 123146 in webkit
- Timestamp:
- Jul 19, 2012 1:46:03 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r123145 r123146 1 2012-07-19 Dan Bernstein <mitz@apple.com> 2 3 In flipped blocks writing modes, no flipping occurs when mapping RenderText’s local coordinates to absolute 4 https://bugs.webkit.org/show_bug.cgi?id=91780 5 6 Reviewed by Anders Carlsson. 7 8 * fast/writing-mode/flipped-blocks-text-map-local-to-container-expected.txt: Added. 9 * fast/writing-mode/flipped-blocks-text-map-local-to-container.html: Added. 10 1 11 2012-07-19 Erik Arvidsson <arv@chromium.org> 2 12 -
trunk/Source/WebCore/ChangeLog
r123145 r123146 1 2012-07-19 Dan Bernstein <mitz@apple.com> 2 3 In flipped blocks writing modes, no flipping occurs when mapping RenderText’s local coordinates to absolute 4 https://bugs.webkit.org/show_bug.cgi?id=91780 5 6 Reviewed by Anders Carlsson. 7 8 Test: fast/writing-mode/flipped-blocks-text-map-local-to-container.html 9 10 When RenderObject::mapLocalToContainer() was called on a RenderText with ApplyContainerFlip, 11 it would not flip (if the container was not a box) but it would always pass 12 DoNotApplyContainerFlip when recurring to the parent. This meant that no one applied the flip. 13 14 * rendering/RenderInline.cpp: 15 (WebCore::RenderInline::mapLocalToContainer): Made the setting of applyContainerFlip to 16 false unconditional on the container actually being flipped. 17 * rendering/RenderObject.cpp: 18 (WebCore::RenderObject::mapLocalToContainer): Rather than always passing 19 DoNotApplyContainerFlip when recurring to the parent, changed this function to pass through 20 the value of applyContainerFlip it was called with, unless it applied the flip itself. 21 1 22 2012-07-19 Erik Arvidsson <arv@chromium.org> 2 23 -
trunk/Source/WebCore/rendering/RenderInline.cpp
r123025 r123146 1136 1136 return; 1137 1137 1138 if (applyContainerFlip && o->isBox() && o->style()->isFlippedBlocksWritingMode()) { 1139 IntPoint centerPoint = roundedIntPoint(transformState.mappedPoint()); 1140 transformState.move(toRenderBox(o)->flipForWritingModeIncludingColumns(centerPoint) - centerPoint); 1138 if (applyContainerFlip && o->isBox()) { 1139 if (o->style()->isFlippedBlocksWritingMode()) { 1140 IntPoint centerPoint = roundedIntPoint(transformState.mappedPoint()); 1141 transformState.move(toRenderBox(o)->flipForWritingModeIncludingColumns(centerPoint) - centerPoint); 1142 } 1141 1143 applyContainerFlip = DoNotApplyContainerFlip; 1142 1144 } -
trunk/Source/WebCore/rendering/RenderObject.cpp
r123061 r123146 1994 1994 } 1995 1995 1996 void RenderObject::mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed, bool useTransforms, TransformState& transformState, ApplyContainerFlipOrNot , bool* wasFixed) const1996 void RenderObject::mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed, bool useTransforms, TransformState& transformState, ApplyContainerFlipOrNot applyContainerFlip, bool* wasFixed) const 1997 1997 { 1998 1998 if (repaintContainer == this) … … 2005 2005 // FIXME: this should call offsetFromContainer to share code, but I'm not sure it's ever called. 2006 2006 LayoutPoint centerPoint = roundedLayoutPoint(transformState.mappedPoint()); 2007 if (o->isBox() && o->style()->isFlippedBlocksWritingMode()) 2008 transformState.move(toRenderBox(o)->flipForWritingModeIncludingColumns(roundedLayoutPoint(transformState.mappedPoint())) - centerPoint); 2007 if (applyContainerFlip && o->isBox()) { 2008 if (o->style()->isFlippedBlocksWritingMode()) 2009 transformState.move(toRenderBox(o)->flipForWritingModeIncludingColumns(roundedLayoutPoint(transformState.mappedPoint())) - centerPoint); 2010 applyContainerFlip = DoNotApplyContainerFlip; 2011 } 2009 2012 2010 2013 LayoutSize columnOffset; … … 2016 2019 transformState.move(-toRenderBox(o)->scrolledContentOffset()); 2017 2020 2018 o->mapLocalToContainer(repaintContainer, fixed, useTransforms, transformState, DoNotApplyContainerFlip, wasFixed);2021 o->mapLocalToContainer(repaintContainer, fixed, useTransforms, transformState, applyContainerFlip, wasFixed); 2019 2022 } 2020 2023
Note: See TracChangeset
for help on using the changeset viewer.