Commit 61206b2c authored by Ella Ge's avatar Ella Ge Committed by Commit Bot

Fix underline thickness on Android

On Android, we want the underline thickness to follow with device scale
as other app. (And also 1px is two thick since mobile has larger pixel
density) Thus, we need to apply the zoom level to the text underline
thickness.

Bug: 870203
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I98080028c59837b69742101a2239df7f9b8dc43c
Reviewed-on: https://chromium-review.googlesource.com/1162518Reviewed-by: default avatarYoichi Osato <yoichio@chromium.org>
Reviewed-by: default avatarXianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: default avatarDavid Bokan <bokan@chromium.org>
Commit-Queue: Ella Ge <eirage@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582311}
parent 1fa7cc2e
......@@ -45,6 +45,7 @@ fast/css3-text/css3-text-indent
fast/scrolling
fast/sub-pixel
fast/lists
paint/markers
scrollbars
external/wpt/html/rendering/replaced-elements/embedded-content-rendering-rules
external/wpt/html/rendering/replaced-elements/attributes-for-embedded-content-and-images
......
<!DOCTYPE html>
<script src="../../resources/ahem.js"></script>
<script src="../../resources/run-after-layout-and-paint.js"></script>
<style>
@font-face {
font-family: 'testFont';
src: url('../../resources/opensans/OpenSans-Regular.woff') format("woff");
}
div {
width: 150px;
height: 30px;
font: 20px testFont;
overflow: hidden;
text-overflow: ellipsis;
white-space: pre;
}
</style>
<div id="markAllComposition">pppppppppppppppppp</div>
<br>
<div id="markAllSpelling">pppppppppppppppppp</div>
<br>
<div id="markAllTextMatch">pppppppppppppppppp</div>
<script>
function addCompositionMarker(elem, start, end) {
const range = document.createRange();
const textNode = elem.firstChild;
range.setStart(textNode, start);
range.setEnd(textNode, end);
if (typeof internals !== 'undefined')
internals.addCompositionMarker(range, 'orange', 'thin', 'lightBlue');
};
function addSpellingMarker(elem, start, end) {
const range = document.createRange();
const textNode = elem.firstChild;
range.setStart(textNode, start);
range.setEnd(textNode, end);
if (typeof internals !== 'undefined')
internals.setMarker(document, range, 'spelling');
};
function addTextMatchMarker(elem, start, end) {
const range = document.createRange();
const textNode = elem.firstChild;
range.setStart(textNode, start);
range.setEnd(textNode, end);
if (typeof internals !== 'undefined') {
internals.addTextMatchMarker(range, 'kActive');
internals.setMarkedTextMatchesAreHighlighted(document, true);
}
};
onload = runAfterLayoutAndPaint(function() {
eventSender.setPageZoomFactor(2)
addCompositionMarker(markAllComposition, 0, 18);
addSpellingMarker(markAllSpelling, 0, 15);
addTextMatchMarker(markAllTextMatch, 0, 16);
}, true);
</script>
......@@ -175,6 +175,9 @@ void DocumentMarkerPainter::PaintStyleableMarkerUnderline(
if (marker.HasThicknessThick() && logical_height.ToInt() - baseline >= 2)
line_thickness = 2;
// Line thickness should change with zoom.
line_thickness *= style.EffectiveZoom();
Color marker_color =
marker.UseTextColor()
? style.VisitedDependentColor(GetCSSPropertyWebkitTextFillColor())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment