commit 5505418e7642a8455f1ece5e9ae3b846b7a6efef parent ab91e25575a5d89d0e62693e9d9cc5622241fd5e Author: Serban Stanca <sstanca@mozilla.com> Date: Tue, 28 Oct 2025 16:16:25 +0200 Revert "Bug 1845446 - CSS Highlight API: Implement support for `text-decoration`. r=jfkthame,emilio" for causing multiple Linux failures in Span.h. This reverts commit a723a587f01de205f977444433ac8bd0b51817f6. Diffstat:
18 files changed, 77 insertions(+), 211 deletions(-)
diff --git a/layout/generic/nsTextFrame.cpp b/layout/generic/nsTextFrame.cpp @@ -6163,9 +6163,6 @@ gfxFloat nsTextFrame::ComputeDescentLimitForSelectionUnderline( // Make sure this stays in sync with DrawSelectionDecorations below static constexpr SelectionTypeMask kSelectionTypesWithDecorations = - ToSelectionTypeMask(SelectionType::eNormal) | - ToSelectionTypeMask(SelectionType::eTargetText) | - ToSelectionTypeMask(SelectionType::eHighlight) | ToSelectionTypeMask(SelectionType::eSpellCheck) | ToSelectionTypeMask(SelectionType::eURLStrikeout) | ToSelectionTypeMask(SelectionType::eIMERawClause) | @@ -6178,9 +6175,6 @@ gfxFloat nsTextFrame::ComputeSelectionUnderlineHeight( nsPresContext* aPresContext, const gfxFont::Metrics& aFontMetrics, SelectionType aSelectionType) { switch (aSelectionType) { - case SelectionType::eNormal: - case SelectionType::eTargetText: - case SelectionType::eHighlight: case SelectionType::eIMERawClause: case SelectionType::eIMESelectedRawClause: case SelectionType::eIMEConvertedClause: @@ -6226,7 +6220,6 @@ struct nsTextFrame::PaintDecorationLineParams DrawPathCallbacks* callbacks = nullptr; bool paintingShadows = false; bool allowInkSkipping = true; - StyleTextDecorationSkipInk skipInk = StyleTextDecorationSkipInk::None; }; void nsTextFrame::PaintDecorationLine( @@ -6239,7 +6232,6 @@ void nsTextFrame::PaintDecorationLine( params.icoordInFrame = Float(aParams.icoordInFrame); params.baselineOffset = Float(aParams.baselineOffset); params.allowInkSkipping = aParams.allowInkSkipping; - params.skipInk = aParams.skipInk; if (aParams.callbacks) { Rect path = nsCSSRendering::DecorationLineToPath(params); if (aParams.decorationType == DecorationType::Normal) { @@ -6280,13 +6272,11 @@ static StyleTextDecorationStyle ToStyleLineStyle(const TextRangeStyle& aStyle) { */ void nsTextFrame::DrawSelectionDecorations( gfxContext* aContext, const LayoutDeviceRect& aDirtyRect, - SelectionType aSelectionType, nsAtom* aHighlightName, - nsTextPaintStyle& aTextPaintStyle, const TextRangeStyle& aRangeStyle, - const Point& aPt, gfxFloat aICoordInFrame, gfxFloat aWidth, - gfxFloat aAscent, const gfxFont::Metrics& aFontMetrics, - DrawPathCallbacks* aCallbacks, bool aVertical, - StyleTextDecorationLine aDecoration, const Range& aGlyphRange, - PropertyProvider* aProvider) { + SelectionType aSelectionType, nsTextPaintStyle& aTextPaintStyle, + const TextRangeStyle& aRangeStyle, const Point& aPt, + gfxFloat aICoordInFrame, gfxFloat aWidth, gfxFloat aAscent, + const gfxFont::Metrics& aFontMetrics, DrawPathCallbacks* aCallbacks, + bool aVertical, StyleTextDecorationLine aDecoration) { PaintDecorationLineParams params; params.context = aContext; params.dirtyRect = aDirtyRect; @@ -6300,74 +6290,20 @@ void nsTextFrame::DrawSelectionDecorations( params.sidewaysLeft = mTextRun->IsSidewaysLeft(); params.descentLimit = ComputeDescentLimitForSelectionUnderline( aTextPaintStyle.PresContext(), aFontMetrics); - params.glyphRange = aGlyphRange; - params.provider = aProvider; - float relativeSize = 1.f; + float relativeSize; const auto& decThickness = StyleTextReset()->mTextDecorationThickness; const gfxFloat appUnitsPerDevPixel = aTextPaintStyle.PresContext()->AppUnitsPerDevPixel(); const WritingMode wm = GetWritingMode(); switch (aSelectionType) { - case SelectionType::eNormal: - case SelectionType::eHighlight: - case SelectionType::eTargetText: { - RefPtr computedStyleFromPseudo = - aTextPaintStyle.GetComputedStyleForSelectionPseudo(aSelectionType, - aHighlightName); - const bool hasTextDecorations = - computedStyleFromPseudo - ? computedStyleFromPseudo->HasTextDecorationLines() - : false; - if (!hasTextDecorations) { - return; - } - params.style = - computedStyleFromPseudo->StyleTextReset()->mTextDecorationStyle; - params.color = computedStyleFromPseudo->StyleTextReset() - ->mTextDecorationColor.CalcColor(this); - params.decoration = - computedStyleFromPseudo->StyleTextReset()->mTextDecorationLine; - params.descentLimit = -1.f; - params.defaultLineThickness = ComputeSelectionUnderlineHeight( - aTextPaintStyle.PresContext(), aFontMetrics, aSelectionType); - params.lineSize.height = ComputeDecorationLineThickness( - computedStyleFromPseudo->StyleTextReset()->mTextDecorationThickness, - params.defaultLineThickness, aFontMetrics, appUnitsPerDevPixel, this); - - const bool swapUnderline = - wm.IsCentralBaseline() && IsUnderlineRight(*Style()); - params.icoordInFrame = aICoordInFrame; - auto paintForLine = [&](StyleTextDecorationLine decoration) { - if (!(computedStyleFromPseudo->StyleTextReset()->mTextDecorationLine & - decoration)) { - return; - } - - params.allowInkSkipping = true; - params.skipInk = - computedStyleFromPseudo->StyleText()->mTextDecorationSkipInk; - params.decoration = decoration; - params.offset = ComputeDecorationLineOffset( - params.decoration, - computedStyleFromPseudo->StyleText()->mTextUnderlinePosition, - computedStyleFromPseudo->StyleText()->mTextUnderlineOffset, - aFontMetrics, appUnitsPerDevPixel, this, wm.IsCentralBaseline(), - swapUnderline); - - PaintDecorationLine(params); - }; - paintForLine(StyleTextDecorationLine::UNDERLINE); - paintForLine(StyleTextDecorationLine::OVERLINE); - paintForLine(StyleTextDecorationLine::LINE_THROUGH); - return; - } case SelectionType::eIMERawClause: case SelectionType::eIMESelectedRawClause: case SelectionType::eIMEConvertedClause: case SelectionType::eIMESelectedClause: - case SelectionType::eSpellCheck: { + case SelectionType::eSpellCheck: + case SelectionType::eHighlight: { auto index = nsTextPaintStyle::GetUnderlineStyleIndexForSelectionType( aSelectionType); bool weDefineSelectionUnderline = @@ -6386,7 +6322,8 @@ void nsTextFrame::DrawSelectionDecorations( styleText->mTextUnderlineOffset, aFontMetrics, appUnitsPerDevPixel, this, wm.IsCentralBaseline(), swapUnderline); - bool isIMEType = aSelectionType != SelectionType::eSpellCheck; + bool isIMEType = aSelectionType != SelectionType::eSpellCheck && + aSelectionType != SelectionType::eHighlight; if (isIMEType) { // IME decoration lines should not be drawn on the both ends, i.e., we @@ -7226,12 +7163,11 @@ void nsTextFrame::PaintTextSelectionDecorations( } gfxFloat width = Abs(advance) / app; gfxFloat xInFrame = pt.x - (aParams.framePt.x / app); - DrawSelectionDecorations( - aParams.context, aParams.dirtyRect, aSelectionType, - highlightNames[index], *aParams.textPaintStyle, - selectedStyles[index], pt, xInFrame, width, mAscent / app, - decorationMetrics, aParams.callbacks, verticalRun, kDecoration, - aParams.glyphRange, aParams.provider); + DrawSelectionDecorations(aParams.context, aParams.dirtyRect, + aSelectionType, *aParams.textPaintStyle, + selectedStyles[index], pt, xInFrame, width, + mAscent / app, decorationMetrics, + aParams.callbacks, verticalRun, kDecoration); } } iterator.UpdateWithAdvance(advance); @@ -7260,7 +7196,8 @@ bool nsTextFrame::PaintTextWithSelection( MOZ_ASSERT(kPresentSelectionTypes[0] == SelectionType::eNormal, "The following for loop assumes that the first item of " "kPresentSelectionTypes is SelectionType::eNormal"); - for (SelectionType selectionType : Reversed(Span(kPresentSelectionTypes))) { + for (size_t i = std::size(kPresentSelectionTypes) - 1; i >= 1; --i) { + SelectionType selectionType = kPresentSelectionTypes[i]; if (ToSelectionTypeMask(selectionType) & allSelectionTypeMask) { // There is some selection of this selectionType. Try to paint its // decorations (there might not be any for this type but that's OK, @@ -7934,7 +7871,6 @@ void nsTextFrame::DrawTextRunAndDecorations( params.style = dec.mStyle; params.allowInkSkipping = dec.mAllowInkSkipping; - params.skipInk = StyleText()->mTextDecorationSkipInk; gfxClipAutoSaveRestore clipRestore(params.context); // If we have a negative trim value, then the decoration will extend // outside the edges of the text. @@ -8230,56 +8166,33 @@ bool nsTextFrame::CombineSelectionUnderlineRect(nsPresContext* aPresContext, sd->mSelectionType == SelectionType::eURLStrikeout) { continue; } - float relativeSize = 1.f; - RefPtr<ComputedStyle> style = Style(); - if (sd->mSelectionType == SelectionType::eNormal || - sd->mSelectionType == SelectionType::eTargetText || - sd->mSelectionType == SelectionType::eHighlight) { - style = [&]() { - if (sd->mSelectionType == SelectionType::eHighlight) { - return ComputeHighlightSelectionStyle( - sd->mHighlightData.mHighlightName); - } - if (sd->mSelectionType == SelectionType::eTargetText) { - return ComputeTargetTextStyle(); - } - int16_t unusedFlags = 0; - const int16_t selectionStatus = GetSelectionStatus(&unusedFlags); - return ComputeSelectionStyle(selectionStatus); - }(); - if (!style || !style->HasTextDecorationLines()) { + float relativeSize; + auto index = nsTextPaintStyle::GetUnderlineStyleIndexForSelectionType( + sd->mSelectionType); + if (sd->mSelectionType == SelectionType::eSpellCheck) { + if (!nsTextPaintStyle::GetSelectionUnderline( + this, index, nullptr, &relativeSize, ¶ms.style)) { continue; } - params.style = style->StyleTextReset()->mTextDecorationStyle; } else { - auto index = nsTextPaintStyle::GetUnderlineStyleIndexForSelectionType( - sd->mSelectionType); - if (sd->mSelectionType == SelectionType::eSpellCheck) { - if (!nsTextPaintStyle::GetSelectionUnderline( - this, index, nullptr, &relativeSize, ¶ms.style)) { - continue; - } - } else { - // IME selections - TextRangeStyle& rangeStyle = sd->mTextRangeStyle; - if (rangeStyle.IsDefined()) { - if (!rangeStyle.IsLineStyleDefined() || - rangeStyle.mLineStyle == TextRangeStyle::LineStyle::None) { - continue; - } - params.style = ToStyleLineStyle(rangeStyle); - relativeSize = rangeStyle.mIsBoldLine ? 2.0f : 1.0f; - } else if (!nsTextPaintStyle::GetSelectionUnderline( - this, index, nullptr, &relativeSize, ¶ms.style)) { + // IME selections + TextRangeStyle& rangeStyle = sd->mTextRangeStyle; + if (rangeStyle.IsDefined()) { + if (!rangeStyle.IsLineStyleDefined() || + rangeStyle.mLineStyle == TextRangeStyle::LineStyle::None) { continue; } + params.style = ToStyleLineStyle(rangeStyle); + relativeSize = rangeStyle.mIsBoldLine ? 2.0f : 1.0f; + } else if (!nsTextPaintStyle::GetSelectionUnderline( + this, index, nullptr, &relativeSize, ¶ms.style)) { + continue; } } nsRect decorationArea; - const auto& decThickness = - style->StyleTextReset()->mTextDecorationThickness; + const auto& decThickness = StyleTextReset()->mTextDecorationThickness; params.lineSize.width = aPresContext->AppUnitsToGfxUnits(aRect.width); params.defaultLineThickness = ComputeSelectionUnderlineHeight( aPresContext, metrics, sd->mSelectionType); @@ -8288,8 +8201,8 @@ bool nsTextFrame::CombineSelectionUnderlineRect(nsPresContext* aPresContext, decThickness, params.defaultLineThickness, metrics, aPresContext->AppUnitsPerDevPixel(), this); - bool swapUnderline = wm.IsCentralBaseline() && IsUnderlineRight(*style); - const auto* styleText = style->StyleText(); + bool swapUnderline = wm.IsCentralBaseline() && IsUnderlineRight(*Style()); + const auto* styleText = StyleText(); params.offset = ComputeDecorationLineOffset( textDecs.HasUnderline() ? StyleTextDecorationLine::UNDERLINE : StyleTextDecorationLine::OVERLINE, diff --git a/layout/generic/nsTextFrame.h b/layout/generic/nsTextFrame.h @@ -1050,13 +1050,11 @@ class nsTextFrame : public nsIFrame { */ void DrawSelectionDecorations( gfxContext* aContext, const LayoutDeviceRect& aDirtyRect, - mozilla::SelectionType aSelectionType, nsAtom* aHighlightName, - nsTextPaintStyle& aTextPaintStyle, const TextRangeStyle& aRangeStyle, - const Point& aPt, gfxFloat aICoordInFrame, gfxFloat aWidth, - gfxFloat aAscent, const gfxFont::Metrics& aFontMetrics, - DrawPathCallbacks* aCallbacks, bool aVertical, - mozilla::StyleTextDecorationLine aDecoration, const Range& aGlyphRange, - PropertyProvider* aProvider); + mozilla::SelectionType aSelectionType, nsTextPaintStyle& aTextPaintStyle, + const TextRangeStyle& aRangeStyle, const Point& aPt, + gfxFloat aICoordInFrame, gfxFloat aWidth, gfxFloat aAscent, + const gfxFont::Metrics& aFontMetrics, DrawPathCallbacks* aCallbacks, + bool aVertical, mozilla::StyleTextDecorationLine aDecoration); void PaintDecorationLine(const PaintDecorationLineParams& aParams); /** diff --git a/layout/generic/nsTextPaintStyle.cpp b/layout/generic/nsTextPaintStyle.cpp @@ -34,7 +34,6 @@ nsTextPaintStyle::nsTextPaintStyle(nsTextFrame* aFrame) mInitCommonColors(false), mInitSelectionColorsAndShadow(false), mResolveColors(true), - mInitTargetTextPseudoStyle(false), mSelectionTextColor(NS_RGBA(0, 0, 0, 0)), mSelectionBGColor(NS_RGBA(0, 0, 0, 0)), mSufficientContrast(0), @@ -220,12 +219,12 @@ void nsTextPaintStyle::GetTargetTextColors(nscolor* aForeColor, NS_ASSERTION(aForeColor, "aForeColor is null"); NS_ASSERTION(aBackColor, "aBackColor is null"); InitCommonColors(); - InitTargetTextPseudoStyle(); - - if (mTargetTextPseudoStyle) { - *aForeColor = mTargetTextPseudoStyle->GetVisitedDependentColor( + const RefPtr<const ComputedStyle> targetTextStyle = + mFrame->ComputeTargetTextStyle(); + if (targetTextStyle) { + *aForeColor = targetTextStyle->GetVisitedDependentColor( &nsStyleText::mWebkitTextFillColor); - *aBackColor = mTargetTextPseudoStyle->GetVisitedDependentColor( + *aBackColor = targetTextStyle->GetVisitedDependentColor( &nsStyleBackground::mBackgroundColor); return; } @@ -297,27 +296,6 @@ bool nsTextPaintStyle::GetCustomHighlightBackgroundColor(nsAtom* aHighlightName, return NS_GET_A(*aBackColor) != 0; } -RefPtr<ComputedStyle> nsTextPaintStyle::GetComputedStyleForSelectionPseudo( - SelectionType aSelectionType, nsAtom* aHighlightName) { - switch (aSelectionType) { - case SelectionType::eNormal: - InitSelectionColorsAndShadow(); - return mSelectionPseudoStyle; - case SelectionType::eTargetText: - InitTargetTextPseudoStyle(); - return mTargetTextPseudoStyle; - case SelectionType::eHighlight: { - return mCustomHighlightPseudoStyles.LookupOrInsertWith( - aHighlightName, [this, &aHighlightName] { - return mFrame->ComputeHighlightSelectionStyle(aHighlightName); - }); - } - default: - MOZ_ASSERT_UNREACHABLE("Wrong selection type"); - return nullptr; - } -} - void nsTextPaintStyle::GetURLSecondaryColor(nscolor* aForeColor) { NS_ASSERTION(aForeColor, "aForeColor is null"); @@ -465,14 +443,6 @@ bool nsTextPaintStyle::InitSelectionColorsAndShadow() { return true; } -void nsTextPaintStyle::InitTargetTextPseudoStyle() { - if (mInitTargetTextPseudoStyle) { - return; - } - mInitTargetTextPseudoStyle = true; - mTargetTextPseudoStyle = mFrame->ComputeTargetTextStyle(); -} - nsTextPaintStyle::nsSelectionStyle* nsTextPaintStyle::SelectionStyle( SelectionStyleIndex aIndex) { Maybe<nsSelectionStyle>& selectionStyle = mSelectionStyle[aIndex]; diff --git a/layout/generic/nsTextPaintStyle.h b/layout/generic/nsTextPaintStyle.h @@ -70,9 +70,6 @@ class MOZ_STACK_CLASS nsTextPaintStyle { bool GetCustomHighlightTextColor(nsAtom* aHighlightName, nscolor* aForeColor); bool GetCustomHighlightBackgroundColor(nsAtom* aHighlightName, nscolor* aBackColor); - RefPtr<ComputedStyle> GetComputedStyleForSelectionPseudo( - SelectionType aSelectionType, nsAtom* aHighlightName); - void GetURLSecondaryColor(nscolor* aForeColor); void GetIMESelectionColors(SelectionStyleIndex aIndex, nscolor* aForeColor, nscolor* aBackColor); @@ -120,14 +117,12 @@ class MOZ_STACK_CLASS nsTextPaintStyle { bool mInitCommonColors; bool mInitSelectionColorsAndShadow; bool mResolveColors; - bool mInitTargetTextPseudoStyle; // Selection data nscolor mSelectionTextColor; nscolor mSelectionBGColor; RefPtr<ComputedStyle> mSelectionPseudoStyle; - RefPtr<ComputedStyle> mTargetTextPseudoStyle; nsTHashMap<RefPtr<nsAtom>, RefPtr<ComputedStyle>> mCustomHighlightPseudoStyles; @@ -157,7 +152,6 @@ class MOZ_STACK_CLASS nsTextPaintStyle { // Color initializations void InitCommonColors(); bool InitSelectionColorsAndShadow(); - void InitTargetTextPseudoStyle(); nsSelectionStyle* SelectionStyle(SelectionStyleIndex aIndex); nsSelectionStyle InitSelectionStyle(SelectionStyleIndex aIndex); diff --git a/layout/painting/nsCSSRendering.cpp b/layout/painting/nsCSSRendering.cpp @@ -3990,35 +3990,25 @@ static void SkipInk(nsIFrame* aFrame, DrawTarget& aDrawTarget, nsCSSRendering::PaintDecorationLineParams clipParams = aParams; const unsigned length = aIntercepts.Length(); - // For selections, this points to the selection start, which may not be at the - // line start. - const Float relativeTextStart = - aParams.vertical ? aParams.pt.y : aParams.pt.x; - const Float relativeTextEnd = relativeTextStart + aParams.lineSize.width; - // The actual line start position needs to be adjusted by the offset of the - // start position in the frame, because the intercept positions are based off - // the whole text run. - const Float absoluteLineStart = relativeTextStart - aParams.icoordInFrame; + Float lineStart = aParams.vertical ? aParams.pt.y : aParams.pt.x; + Float lineEnd = lineStart + aParams.lineSize.width; // Compute the min/max positions based on trim. - const Float trimLineDrawAreaStart = - relativeTextStart + (aParams.trimLeft - aPadding); - const Float trimLineDrawAreaEnd = - relativeTextEnd - (aParams.trimRight - aPadding); + const Float trimLineStart = lineStart + (aParams.trimLeft - aPadding); + const Float trimLineEnd = lineEnd - (aParams.trimRight - aPadding); for (unsigned i = 0; i <= length; i += 2) { // Handle start/end edge cases and set up general case. // While we use the trim start/end values, it is possible the trim cuts // of the first intercept and into the next, so we will need to clamp // the dimensions in the other case too. - SkScalar startIntercept = trimLineDrawAreaStart; + SkScalar startIntercept = trimLineStart; if (i > 0) { - startIntercept = - std::max(aIntercepts[i - 1] + absoluteLineStart, startIntercept); + startIntercept = std::max(aIntercepts[i - 1] + lineStart, startIntercept); } - SkScalar endIntercept = trimLineDrawAreaEnd; + SkScalar endIntercept = trimLineEnd; if (i < length) { - endIntercept = std::min(aIntercepts[i] + absoluteLineStart, endIntercept); + endIntercept = std::min(aIntercepts[i] + lineStart, endIntercept); } // remove padding at both ends for width @@ -4039,10 +4029,9 @@ static void SkipInk(nsIFrame* aFrame, DrawTarget& aDrawTarget, // padding; snap the rect edges to device pixels for consistent rendering // of dots across separate fragments of a dotted line. if (aParams.vertical) { - clipParams.pt.y = - aParams.sidewaysLeft - ? relativeTextEnd - (endIntercept - relativeTextStart) + aPadding - : startIntercept + aPadding; + clipParams.pt.y = aParams.sidewaysLeft + ? lineEnd - (endIntercept - lineStart) + aPadding + : startIntercept + aPadding; aRect.y = std::floor(clipParams.pt.y + 0.5); aRect.SetBottomEdge( std::floor(clipParams.pt.y + clipParams.lineSize.width + 0.5)); @@ -4078,8 +4067,10 @@ void nsCSSRendering::PaintDecorationLine( // Check if decoration line will skip past ascenders/descenders // text-decoration-skip-ink only applies to overlines/underlines + mozilla::StyleTextDecorationSkipInk skipInk = + aFrame->StyleText()->mTextDecorationSkipInk; bool skipInkEnabled = - aParams.skipInk != mozilla::StyleTextDecorationSkipInk::None && + skipInk != mozilla::StyleTextDecorationSkipInk::None && aParams.decoration != StyleTextDecorationLine::LINE_THROUGH && aParams.allowInkSkipping && aFrame->IsTextFrame(); @@ -4139,7 +4130,7 @@ void nsCSSRendering::PaintDecorationLine( if (iter.GlyphRun()->mOrientation == mozilla::gfx::ShapedTextFlags::TEXT_ORIENT_VERTICAL_UPRIGHT || (iter.GlyphRun()->mIsCJK && - aParams.skipInk == mozilla::StyleTextDecorationSkipInk::Auto)) { + skipInk == mozilla::StyleTextDecorationSkipInk::Auto)) { // We don't support upright text in vertical modes currently // (see https://bugzilla.mozilla.org/show_bug.cgi?id=1572294), // but we do need to update textPos so that following runs will be diff --git a/layout/painting/nsCSSRendering.h b/layout/painting/nsCSSRendering.h @@ -602,7 +602,7 @@ struct nsCSSRendering { bool vertical = false; bool sidewaysLeft = false; gfxTextRun::Range glyphRange; - gfxTextRun::PropertyProvider* provider = nullptr; + gfxTextRun::PropertyProvider* provider; }; struct PaintDecorationLineParams : DecorationRectParams { @@ -620,9 +620,6 @@ struct nsCSSRendering { Float baselineOffset = 0.0f; // Whether text-decoration-skip-ink behavior is to be supported. bool allowInkSkipping = true; - - mozilla::StyleTextDecorationSkipInk skipInk = - mozilla::StyleTextDecorationSkipInk::None; }; /** diff --git a/testing/web-platform/meta/css/css-highlight-api/highlight-text-decorations.html.ini b/testing/web-platform/meta/css/css-highlight-api/highlight-text-decorations.html.ini @@ -1,2 +1,2 @@ [highlight-text-decorations.html] - fuzzy: maxDifference=0-238; totalPixels=0-76 -\ No newline at end of file + expected: FAIL diff --git a/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-container-metrics-003.html.ini b/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-container-metrics-003.html.ini @@ -1,2 +1,2 @@ [custom-highlight-container-metrics-003.html] - expected: [FAIL,PASS] + expected: FAIL diff --git a/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-container-metrics-004.html.ini b/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-container-metrics-004.html.ini @@ -1,2 +1,2 @@ [custom-highlight-container-metrics-004.html] - expected: [FAIL,PASS] + expected: FAIL diff --git a/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-container-metrics-005.html.ini b/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-container-metrics-005.html.ini @@ -1,2 +1,2 @@ [custom-highlight-container-metrics-005.html] - expected: [FAIL,PASS] + expected: FAIL diff --git a/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-dynamic-container-metrics-003.html.ini b/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-dynamic-container-metrics-003.html.ini @@ -1,2 +1,2 @@ [custom-highlight-dynamic-container-metrics-003.html] - expected: [FAIL,PASS] + expected: FAIL diff --git a/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-dynamic-container-metrics-004.html.ini b/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-dynamic-container-metrics-004.html.ini @@ -1,2 +1,2 @@ [custom-highlight-dynamic-container-metrics-004.html] - expected: [FAIL,PASS] + expected: FAIL diff --git a/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-painting-019.html.ini b/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-painting-019.html.ini @@ -0,0 +1,2 @@ +[custom-highlight-painting-019.html] + expected: FAIL diff --git a/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-painting-priority-text-decoration-001.html.ini b/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-painting-priority-text-decoration-001.html.ini @@ -0,0 +1,2 @@ +[custom-highlight-painting-priority-text-decoration-001.html] + expected: FAIL diff --git a/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-painting-text-decoration-001.html.ini b/testing/web-platform/meta/css/css-highlight-api/painting/custom-highlight-painting-text-decoration-001.html.ini @@ -0,0 +1,2 @@ +[custom-highlight-painting-text-decoration-001.html] + expected: FAIL diff --git a/testing/web-platform/meta/css/css-highlight-api/target-text-text-decoration-001.html.ini b/testing/web-platform/meta/css/css-highlight-api/target-text-text-decoration-001.html.ini @@ -1,2 +0,0 @@ -[target-text-text-decoration-001.html] - fuzzy: maxDifference=0-92;totalPixels=0-1 -\ No newline at end of file diff --git a/testing/web-platform/meta/css/css-pseudo/highlight-cascade/highlight-currentcolor-painting-properties-001.html.ini b/testing/web-platform/meta/css/css-pseudo/highlight-cascade/highlight-currentcolor-painting-properties-001.html.ini @@ -0,0 +1,2 @@ +[highlight-currentcolor-painting-properties-001.html] + expected: FAIL diff --git a/testing/web-platform/meta/css/css-pseudo/target-text-text-decoration-001.html.ini b/testing/web-platform/meta/css/css-pseudo/target-text-text-decoration-001.html.ini @@ -1,2 +1,2 @@ [target-text-text-decoration-001.html] - fuzzy: maxDifference=0-92; totalPixels=0-1 -\ No newline at end of file + expected: FAIL