| Index: Source/core/rendering/RenderBlock.cpp
|
| diff --git a/Source/core/rendering/RenderBlock.cpp b/Source/core/rendering/RenderBlock.cpp
|
| index f37f40d11d884c3c068a8e0ef58caf16ee15b7b9..24ffb4ff7802ec0e3a962d503cfac1a7abbb3e47 100644
|
| --- a/Source/core/rendering/RenderBlock.cpp
|
| +++ b/Source/core/rendering/RenderBlock.cpp
|
| @@ -3378,12 +3378,14 @@ int RenderBlock::baselinePosition(FontBaseline baselineType, bool firstLine, Lin
|
| return RenderTheme::theme().baselinePosition(this);
|
|
|
| // CSS2.1 states that the baseline of an inline block is the baseline of the last line box in
|
| - // the normal flow. We make an exception for marquees, since their baselines are meaningless
|
| - // (the content inside them moves). This matches WinIE as well, which just bottom-aligns them.
|
| - // We also give up on finding a baseline if we have a vertical scrollbar, or if we are scrolled
|
| + // the normal flow.
|
| + // We give up on finding a baseline if we have a vertical scrollbar, or if we are scrolled
|
| // vertically (e.g., an overflow:hidden block that has had scrollTop moved).
|
| - bool ignoreBaseline = (layer() && layer()->scrollableArea() && (isMarquee() || (direction == HorizontalLine ? (layer()->scrollableArea()->verticalScrollbar() || layer()->scrollableArea()->scrollYOffset())
|
| - : (layer()->scrollableArea()->horizontalScrollbar() || layer()->scrollableArea()->scrollXOffset())))) || (isWritingModeRoot() && !isRubyRun());
|
| + bool ignoreBaseline = (layer() && layer()->scrollableArea()
|
| + && (direction == HorizontalLine
|
| + ? (layer()->scrollableArea()->verticalScrollbar() || layer()->scrollableArea()->scrollYOffset())
|
| + : (layer()->scrollableArea()->horizontalScrollbar() || layer()->scrollableArea()->scrollXOffset())))
|
| + || (isWritingModeRoot() && !isRubyRun());
|
|
|
| int baselinePos = ignoreBaseline ? -1 : inlineBlockBaseline(direction);
|
|
|
|
|