Title: [179070] branches/safari-600.1.4.15-branch/Source/WebCore
- Revision
- 179070
- Author
- [email protected]
- Date
- 2015-01-24 12:16:32 -0800 (Sat, 24 Jan 2015)
Log Message
Merged r175260. rdar://problem/19432679
Modified Paths
Diff
Modified: branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog (179069 => 179070)
--- branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog 2015-01-24 19:55:58 UTC (rev 179069)
+++ branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog 2015-01-24 20:16:32 UTC (rev 179070)
@@ -1,5 +1,25 @@
2015-01-24 David Kilzer <[email protected]>
+ Merge r175260.
+
+ 2014-10-28 David Hyatt <[email protected]>
+
+ Selection gap painting is ugly for ruby bases.
+ https://bugs.webkit.org/show_bug.cgi?id=138136
+
+ Reviewed by Dean Jackson.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::selectionGaps):
+ For ruby bases don't fill to the end of the block (in the block direction),
+ since ideographic baselines push that end below the text baseline.
+
+ (WebCore::RenderBlock::blockSelectionGaps):
+ * rendering/RenderBlockFlow.cpp:
+ Skip ruby bases for block selection gap filling.
+
+2015-01-24 David Kilzer <[email protected]>
+
Merge r175976.
2014-11-11 Eric Carlson <[email protected]>
Modified: branches/safari-600.1.4.15-branch/Source/WebCore/rendering/RenderBlock.cpp (179069 => 179070)
--- branches/safari-600.1.4.15-branch/Source/WebCore/rendering/RenderBlock.cpp 2015-01-24 19:55:58 UTC (rev 179069)
+++ branches/safari-600.1.4.15-branch/Source/WebCore/rendering/RenderBlock.cpp 2015-01-24 20:16:32 UTC (rev 179070)
@@ -1965,7 +1965,7 @@
result = blockSelectionGaps(rootBlock, rootBlockPhysicalPosition, offsetFromRootBlock, lastLogicalTop, lastLogicalLeft, lastLogicalRight, cache, paintInfo);
// Go ahead and fill the vertical gap all the way to the bottom of our block if the selection extends past our block.
- if (&rootBlock == this && (selectionState() != SelectionBoth && selectionState() != SelectionEnd)) {
+ if (&rootBlock == this && (selectionState() != SelectionBoth && selectionState() != SelectionEnd) && !isRubyBase()) {
result.uniteCenter(blockSelectionGap(rootBlock, rootBlockPhysicalPosition, offsetFromRootBlock,
lastLogicalTop, lastLogicalLeft, lastLogicalRight, logicalHeight(), cache, paintInfo));
}
@@ -2010,7 +2010,7 @@
}
bool paintsOwnSelection = curr->shouldPaintSelectionGaps() || curr->isTable(); // FIXME: Eventually we won't special-case table like this.
- bool fillBlockGaps = paintsOwnSelection || (curr->canBeSelectionLeaf() && childState != SelectionNone);
+ bool fillBlockGaps = !isRubyBase() && (paintsOwnSelection || (curr->canBeSelectionLeaf() && childState != SelectionNone));
if (fillBlockGaps) {
// We need to fill the vertical gap above this object.
if (childState == SelectionEnd || childState == SelectionInside) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes