Changeset 232876 in webkit
- Timestamp:
- Jun 15, 2018 9:26:23 AM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r232874 r232876 1 2018-06-15 Zalan Bujtas <zalan@apple.com> 2 3 [LFC] Fix static position left/top 4 https://bugs.webkit.org/show_bug.cgi?id=186640 5 6 Reviewed by Antti Koivisto. 7 8 In visual formatting model, we normally go like [top, left] while LayoutPoint takes [x, y]. Let's make this less error prone. 9 10 * layout/FormattingContext.h: 11 (WebCore::Layout::FormattingContext::Geometry::Position::operator LayoutPoint const): 12 * layout/blockformatting/BlockFormattingContext.h: 13 * layout/blockformatting/BlockFormattingContextGeometry.cpp: 14 (WebCore::Layout::BlockFormattingContext::Geometry::staticPosition): 15 (WebCore::Layout::BlockFormattingContext::Geometry::inFlowPositionedPosition): 16 1 17 2018-06-15 Chris Dumez <cdumez@apple.com> 2 18 -
trunk/Source/WebCore/layout/FormattingContext.h
r232871 r232876 82 82 class Geometry { 83 83 public: 84 struct Position { 85 // FIXME: Use LayoutUnit<Horizontal> to avoid top/left vs. x/y confusion. 86 LayoutUnit x; // left 87 LayoutUnit y; // top 88 operator LayoutPoint() const { return { x, y }; } 89 }; 90 84 91 struct WidthAndMargin { 85 92 LayoutUnit width; -
trunk/Source/WebCore/layout/blockformatting/BlockFormattingContext.h
r232661 r232876 66 66 static FormattingContext::Geometry::WidthAndMargin inFlowWidthAndMargin(LayoutContext&, const Box&); 67 67 68 static LayoutPointstaticPosition(LayoutContext&, const Box&);69 static LayoutPointinFlowPositionedPosition(LayoutContext&, const Box&);68 static FormattingContext::Geometry::Position staticPosition(LayoutContext&, const Box&); 69 static FormattingContext::Geometry::Position inFlowPositionedPosition(LayoutContext&, const Box&); 70 70 71 71 private: -
trunk/Source/WebCore/layout/blockformatting/BlockFormattingContextGeometry.cpp
r232871 r232876 263 263 } 264 264 265 LayoutPointBlockFormattingContext::Geometry::staticPosition(LayoutContext& layoutContext, const Box& layoutBox)265 FormattingContext::Geometry::Position BlockFormattingContext::Geometry::staticPosition(LayoutContext& layoutContext, const Box& layoutBox) 266 266 { 267 267 // https://www.w3.org/TR/CSS22/visuren.html#block-formatting … … 280 280 } 281 281 LOG_WITH_STREAM(FormattingContextLayout, stream << "[Position] -> static -> top(" << top << "px) left(" << left << "px) layoutBox(" << &layoutBox << ")"); 282 return { top, left};283 } 284 285 LayoutPointBlockFormattingContext::Geometry::inFlowPositionedPosition(LayoutContext& layoutContext, const Box& layoutBox)282 return { left, top }; 283 } 284 285 FormattingContext::Geometry::Position BlockFormattingContext::Geometry::inFlowPositionedPosition(LayoutContext& layoutContext, const Box& layoutBox) 286 286 { 287 287 ASSERT(layoutBox.isInFlowPositioned()); … … 358 358 359 359 LOG_WITH_STREAM(FormattingContextLayout, stream << "[Position] -> positioned inflow -> top(" << newTopPosition << "px) left(" << newLeftPosition << "px) layoutBox(" << &layoutBox << ")"); 360 return { new TopPosition, newLeftPosition };360 return { newLeftPosition, newTopPosition }; 361 361 } 362 362
Note: See TracChangeset
for help on using the changeset viewer.