Index: Source/core/rendering/RenderBlock.cpp |
diff --git a/Source/core/rendering/RenderBlock.cpp b/Source/core/rendering/RenderBlock.cpp |
index e49075c00d289cca5a5813e84170f60fae1676e1..bfd28eb03f3e0a10473b46acfb81a6b3e87b15b0 100644 |
--- a/Source/core/rendering/RenderBlock.cpp |
+++ b/Source/core/rendering/RenderBlock.cpp |
@@ -6507,8 +6507,10 @@ int RenderBlock::baselinePosition(FontBaseline baselineType, bool firstLine, Lin |
// (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 |
// vertically (e.g., an overflow:hidden block that has had scrollTop moved). |
+ // inline-block with overflow should use the bottom of margin box as well. |
bool ignoreBaseline = (layer() && (isMarquee() || (direction == HorizontalLine ? (layer()->verticalScrollbar() || layer()->scrollYOffset()) |
- : (layer()->horizontalScrollbar() || layer()->scrollXOffset() != 0)))) || (isWritingModeRoot() && !isRubyRun()); |
+ : (layer()->horizontalScrollbar() || layer()->scrollXOffset())))) || (isWritingModeRoot() && !isRubyRun()) |
+ || (style()->isDisplayInlineType() && style()->overflowY() != OVISIBLE); |
int baselinePos = ignoreBaseline ? -1 : inlineBlockBaseline(direction); |