Bug 1277937 - Fix SELECTION_URLSTRIKEOUT. r?jfkthame
MozReview-Commit-ID: LumW94mTX4X
--- a/layout/generic/nsTextFrame.cpp
+++ b/layout/generic/nsTextFrame.cpp
@@ -5516,19 +5516,18 @@ nsTextFrame::DrawSelectionDecorations(gf
PaintDecorationLineParams params;
params.context = aContext;
params.dirtyRect = aDirtyRect;
params.pt = aPt;
params.lineSize = Size(
aWidth, ComputeSelectionUnderlineHeight(aTextPaintStyle.PresContext(),
aFontMetrics, aType));
params.ascent = aAscent;
- gfxFloat offset = aDecoration == NS_STYLE_TEXT_DECORATION_LINE_UNDERLINE ?
- aFontMetrics.underlineOffset : aFontMetrics.maxAscent;
- params.offset = offset * aDecorationOffsetDir;
+ params.offset = aDecoration == NS_STYLE_TEXT_DECORATION_LINE_UNDERLINE ?
+ aFontMetrics.underlineOffset : aFontMetrics.maxAscent;
params.decoration = aDecoration;
params.decorationType = DecorationType::Selection;
params.callbacks = aCallbacks;
params.vertical = aVertical;
params.descentLimit =
ComputeDescentLimitForSelectionUnderline(aTextPaintStyle.PresContext(),
aFontMetrics);
@@ -5608,24 +5607,25 @@ nsTextFrame::DrawSelectionDecorations(gf
nscoord inflationMinFontSize =
nsLayoutUtils::InflationMinFontSizeFor(this);
float inflation =
GetInflationForTextDecorations(this, inflationMinFontSize);
const gfxFont::Metrics metrics =
GetFirstFontMetrics(GetFontGroupForFrame(this, inflation), aVertical);
relativeSize = 2.0f;
- offset = metrics.strikeoutOffset + 0.5;
- aDecoration = NS_STYLE_TEXT_DECORATION_LINE_LINE_THROUGH;
+ params.offset = metrics.strikeoutOffset + 0.5;
+ params.decoration = NS_STYLE_TEXT_DECORATION_LINE_LINE_THROUGH;
break;
}
default:
NS_WARNING("Requested selection decorations when there aren't any");
return;
}
+ params.offset *= aDecorationOffsetDir;
params.lineSize.height *= relativeSize;
params.icoordInFrame = (aVertical ? params.pt.y - aPt.y
: params.pt.x - aPt.x) + aICoordInFrame;
PaintDecorationLine(params);
}
/* static */
bool