Changeset 123977 in webkit
- Timestamp:
- Jul 28, 2012, 9:59:30 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r123975 r123977 1 2012-07-28 Dan Bernstein <mitz@apple.com> 2 3 Hit test results are wrong in flipped blocks writing modes with block column axis 4 https://bugs.webkit.org/show_bug.cgi?id=92588 5 6 Reviewed by Sam Weinig. 7 8 * fast/multicol/hit-test-block-axis-flipped-expected.txt: Added. 9 * fast/multicol/hit-test-block-axis-flipped.html: Added. 10 1 11 2012-07-28 Peter Kasting <pkasting@google.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r123973 r123977 1 2012-07-28 Dan Bernstein <mitz@apple.com> 2 3 RenderBlock::offsetForContents() is wrong in flipped blocks writing modes 4 https://bugs.webkit.org/show_bug.cgi?id=92588 5 6 Reviewed by Sam Weinig. 7 8 Tests: fast/multicol/hit-test-block-axis-flipped.html 9 fast/writing-mode/flipped-blocks-hit-test-overflow-scroll.html 10 11 * rendering/RenderBlock.cpp: 12 (WebCore::RenderBlock::offsetForContents): Flip the point, which puts it back in unflipped 13 coordinates, before adding the scroll offset and adjusting for columns, then flip it back. 14 (WebCore::RenderBlock::adjustPointToColumnContents): Changed the inline-axis cases to 15 work with an unflipped point. 16 1 17 2012-07-28 Dan Bernstein <mitz@apple.com> 2 18 -
trunk/Source/WebCore/rendering/RenderBlock.cpp
r123973 r123977 5043 5043 void RenderBlock::offsetForContents(LayoutPoint& offset) const 5044 5044 { 5045 offset = flipForWritingMode(offset); 5046 5045 5047 if (hasOverflowClip()) 5046 5048 offset += scrolledContentOffset(); … … 5048 5050 if (hasColumns()) 5049 5051 adjustPointToColumnContents(offset); 5052 5053 offset = flipForWritingMode(offset); 5050 5054 } 5051 5055 … … 5283 5287 // We're inside the column. Translate the x and y into our column coordinate space. 5284 5288 if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) 5285 point.move(columnPoint.x() - colRect.x(), logicalOffset);5289 point.move(columnPoint.x() - colRect.x(), (!style()->isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset)); 5286 5290 else 5287 5291 point.move((!style()->isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset) - colRect.x() + borderLeft() + paddingLeft(), 0); 5288 5292 return; 5289 5293 } 5290 5294 5291 5295 // Move to the next position. 5292 5296 logicalOffset += colInfo->progressionAxis() == ColumnInfo::InlineAxis ? colRect.height() : colRect.width(); … … 5315 5319 // We're inside the column. Translate the x and y into our column coordinate space. 5316 5320 if (colInfo->progressionAxis() == ColumnInfo::InlineAxis) 5317 point.move( logicalOffset, columnPoint.y() - colRect.y());5321 point.move((!style()->isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset), columnPoint.y() - colRect.y()); 5318 5322 else 5319 5323 point.move(0, (!style()->isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset) - colRect.y() + borderTop() + paddingTop()); 5320 5324 return; 5321 5325 } 5322 5326 5323 5327 // Move to the next position. 5324 5328 logicalOffset += colInfo->progressionAxis() == ColumnInfo::InlineAxis ? colRect.width() : colRect.height();
Note:
See TracChangeset
for help on using the changeset viewer.