https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text. Change staticX and staticY
to be staticInlinePosition and staticBlockPosition. Patch all of the computations involving these variables to be writing
mode aware. Mixed writing modes are not yet supported.
Reviewed by Dan Bernstein.
Added new tests in fast/block/positioning/auto.
Source/WebCore:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustPositionedBlock):
(WebCore::RenderBlock::layoutPositionedObjects):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::startOffsetForLine):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::appendRunsForObject):
(WebCore::setStaticPositions):
(WebCore::RenderBlock::skipTrailingWhitespace):
(WebCore::RenderBlock::skipLeadingWhitespace):
(WebCore::RenderBlock::findNextLineBreak):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::positionLineBox):
(WebCore::computeInlineStaticDistance):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::computeBlockStaticDistance):
(WebCore::RenderBox::computePositionedLogicalHeight):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced):
(WebCore::RenderBox::computePositionedLogicalHeightReplaced):
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::borderAndPaddingLogicalLeft):
(WebCore::RenderBoxModelObject::borderAndPaddingStart):
(WebCore::RenderBoxModelObject::borderLogicalLeft):
(WebCore::RenderBoxModelObject::borderLogicalRight):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutHorizontalBox):
(WebCore::RenderFlexibleBox::layoutVerticalBox):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::relativePositionedInlineOffset):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::staticInlinePosition):
(WebCore::RenderLayer::staticBlockPosition):
(WebCore::RenderLayer::setStaticInlinePosition):
(WebCore::RenderLayer::setStaticBlockPosition):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::hasAutoLeftAndRight):
(WebCore::InheritedFlags::hasAutoTopAndBottom):
(WebCore::InheritedFlags::hasStaticInlinePosition):
(WebCore::InheritedFlags::hasStaticBlockPosition):
LayoutTests:
* fast/block/positioning/auto/vertical-lr: Added.
* fast/block/positioning/auto/vertical-lr/001.html: Added.
* fast/block/positioning/auto/vertical-lr/002.html: Added.
* fast/block/positioning/auto/vertical-lr/003.html: Added.
* fast/block/positioning/auto/vertical-lr/004.html: Added.
* fast/block/positioning/auto/vertical-lr/005.html: Added.
* fast/block/positioning/auto/vertical-lr/006.html: Added.
* fast/block/positioning/auto/vertical-lr/007.html: Added.
* fast/block/positioning/auto/vertical-rl: Added.
* fast/block/positioning/auto/vertical-rl/001.html: Added.
* fast/block/positioning/auto/vertical-rl/002.html: Added.
* fast/block/positioning/auto/vertical-rl/003.html: Added.
* fast/block/positioning/auto/vertical-rl/004.html: Added.
* fast/block/positioning/auto/vertical-rl/005.html: Added.
* fast/block/positioning/auto/vertical-rl/006.html: Added.
* fast/block/positioning/auto/vertical-rl/007.html: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/001-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/001-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/001-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/002-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/002-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/002-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/003-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/003-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/003-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/004-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/004-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/004-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/005-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/005-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/005-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/006-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/006-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/006-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/007-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/007-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-lr/007-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/001-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/001-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/001-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/002-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/002-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/002-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/003-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/003-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/003-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/004-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/004-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/004-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/005-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/005-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/005-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/006-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/006-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/006-expected.txt: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/007-expected.checksum: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/007-expected.png: Added.
* platform/mac/fast/block/positioning/auto/vertical-rl/007-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@79930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
68 files changed