Skip to content
Permalink
Browse files
[cairo] Solid stroke of lines with thickness less than 1 pixel broken…
… after r191658

https://bugs.webkit.org/show_bug.cgi?id=151947

Reviewed by Martin Robinson.

Source/WebCore:

Test: mathml/presentation/radical-bar-visibility.html

* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLine): Force a minimal thickness of 1px

LayoutTests:

Add a test to check that the radical overbar appears on the screen when it has thickness less than 1px.

* mathml/presentation/radical-bar-visibility-expected-mismatch.html: Added.
* mathml/presentation/radical-bar-visibility.html: Added.

Canonical link: https://commits.webkit.org/170130@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
fred-wang committed Dec 8, 2015
1 parent a12785e commit 0572f6c269dd5f1153254babaf9289e2fa4a4b20
@@ -1,3 +1,15 @@
2015-12-08 Frederic Wang <fred.wang@free.fr>

[cairo] Solid stroke of lines with thickness less than 1 pixel broken after r191658
https://bugs.webkit.org/show_bug.cgi?id=151947

Reviewed by Martin Robinson.

Add a test to check that the radical overbar appears on the screen when it has thickness less than 1px.

* mathml/presentation/radical-bar-visibility-expected-mismatch.html: Added.
* mathml/presentation/radical-bar-visibility.html: Added.

2015-12-07 Brady Eidson <beidson@apple.com>

Move an IDB test from the "generic failure" section to the "fails because no workers" section.
@@ -0,0 +1,17 @@
<!doctype html>
<html>
<head>
<title>Radical bar visibility</title>
<meta charset="utf-8"/>
</head>
<body>

<p>This test passes if you see the radical bar.</p>

<div>
<!-- blue square to hide the radical symbol -->
<div style="position: absolute; background: blue; width: 100px; height: 100px;"></div>
</div>

</body>
</html>
@@ -0,0 +1,34 @@
<!doctype html>
<html>
<head>
<title>Radical bar visibility</title>
<meta charset="utf-8"/>
<style>
math, msqrt {
/* Latin Modern Math has
RadicalRuleThickess = 40
em = 1000
So the actual rule thickness is 24 * 40 / 1000 = 0.96 < 1 pixel */
font-family: Latin Modern Math;
font-size: 24px;
}
</style>
</head>
<body>

<p>This test passes if you see the radical bar.</p>

<div>
<div style="position: absolute">
<math>
<msqrt>
<mspace width="500px"/>
</msqrt>
</math>
</div>
<!-- blue square to hide the radical symbol -->
<div style="position: absolute; background: blue; width: 100px; height: 100px;"></div>
</div>

</body>
</html>
@@ -1,3 +1,15 @@
2015-12-08 Frederic Wang <fred.wang@free.fr>

[cairo] Solid stroke of lines with thickness less than 1 pixel broken after r191658
https://bugs.webkit.org/show_bug.cgi?id=151947

Reviewed by Martin Robinson.

Test: mathml/presentation/radical-bar-visibility.html

* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLine): Force a minimal thickness of 1px

2015-12-08 Gwang Yoon Hwang <yoon@igalia.com>

[ThreadedCompositor] Support WebGL for OpenGL.
@@ -311,8 +311,12 @@ void GraphicsContext::drawLine(const FloatPoint& point1, const FloatPoint& point
}
const double dashedLine[2] = { static_cast<double>(patternWidth), static_cast<double>(patternWidth) };
cairo_set_dash(cairoContext, dashedLine, 2, patternOffset);
} else
} else {
setSourceRGBAFromColor(cairoContext, strokeColor);
if (thickness < 1)
cairo_set_line_width(cairoContext, 1);
}


FloatPoint p1 = point1;
FloatPoint p2 = point2;

0 comments on commit 0572f6c

Please sign in to comment.