Bug 1554753 - Should not treat 0 opacity text without stroke width as drawing stroke r=jfkthame

The regressor Bug 1248708 inadvertently changed the behavior for opacity 0 text
when implementing -webkit-text-stroke. It treats all opacity 0 text as drawing stroke
even if the stroke property isn't used in the first place.

We should check aParams.textStrokeWidth is actually set before changing draw mode.

Differential Revision: https://phabricator.services.mozilla.com/D34663

--HG--
extra : moz-landing-system : lando
This commit is contained in:
violet 2019-06-12 15:28:55 +00:00
Родитель 4e5f983137
Коммит 156ff2589f
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -6670,7 +6670,8 @@ static void DrawTextRun(const gfxTextRun* aTextRun,
aParams.callbacks->NotifyAfterText();
} else {
auto* textDrawer = aParams.context->GetTextDrawer();
if (NS_GET_A(aParams.textColor) != 0 || textDrawer) {
if (NS_GET_A(aParams.textColor) != 0 || textDrawer ||
aParams.textStrokeWidth == 0.0f) {
aParams.context->SetColor(Color::FromABGR(aParams.textColor));
} else {
params.drawMode = DrawMode::GLYPH_STROKE;