gh-13844: Fixed boosts not working when anon content exists (gh-13847)

This commit is contained in:
mr. m
2026-05-25 19:58:38 +02:00
committed by GitHub
parent 7e449ccdc9
commit 69e76e51b7
25 changed files with 565 additions and 245 deletions

View File

@@ -0,0 +1,67 @@
diff --git a/layout/generic/nsTextPaintStyle.cpp b/layout/generic/nsTextPaintStyle.cpp
index 5d1bf44687e925aff67f44c8e0629f7f06e84e98..1fa60a4d91edc60ba733cefc5f73ab8b7684d02a 100644
--- a/layout/generic/nsTextPaintStyle.cpp
+++ b/layout/generic/nsTextPaintStyle.cpp
@@ -240,7 +240,7 @@ bool nsTextPaintStyle::GetTargetTextColor(nscolor* aForeColor) {
(mTargetTextPseudoStyle->HasAuthorSpecifiedTextColor() ||
mTargetTextPseudoStyle->HasAuthorSpecifiedBorderOrBackground())) {
*aForeColor = mTargetTextPseudoStyle->GetVisitedDependentColor(
- &nsStyleText::mWebkitTextFillColor);
+ &nsStyleText::mWebkitTextFillColor, mFrame);
return mTargetTextPseudoStyle->HasAuthorSpecifiedTextColor();
}
*aForeColor = LookAndFeel::Color(
@@ -257,7 +257,7 @@ bool nsTextPaintStyle::GetTargetTextBackgroundColor(nscolor* aBackColor) {
(mTargetTextPseudoStyle->HasAuthorSpecifiedTextColor() ||
mTargetTextPseudoStyle->HasAuthorSpecifiedBorderOrBackground())) {
*aBackColor = mTargetTextPseudoStyle->GetVisitedDependentColor(
- &nsStyleBackground::mBackgroundColor);
+ &nsStyleBackground::mBackgroundColor, mFrame);
return NS_GET_A(*aBackColor) != 0;
}
*aBackColor = LookAndFeel::Color(
@@ -295,7 +295,8 @@ bool nsTextPaintStyle::GetCustomHighlightTextColor(nsAtom* aHighlightName,
return false;
}
- *aForeColor = highlightStyle->GetVisitedDependentColor(&nsStyleText::mColor);
+ *aForeColor =
+ highlightStyle->GetVisitedDependentColor(&nsStyleText::mColor, mFrame);
return highlightStyle->HasAuthorSpecifiedTextColor();
}
@@ -317,7 +318,7 @@ bool nsTextPaintStyle::GetCustomHighlightBackgroundColor(nsAtom* aHighlightName,
}
*aBackColor = highlightStyle->GetVisitedDependentColor(
- &nsStyleBackground::mBackgroundColor);
+ &nsStyleBackground::mBackgroundColor, mFrame);
return NS_GET_A(*aBackColor) != 0;
}
@@ -466,19 +467,19 @@ bool nsTextPaintStyle::InitSelectionColorsAndShadow() {
// this is web content or chrome content. See bug 2029839.
if (!mFrame->PresContext()->Document()->ChromeRulesEnabled()) {
mSelectionBGColor = mSelectionPseudoStyle->GetVisitedDependentColor(
- &nsStyleBackground::mBackgroundColor);
- mSelectionTextColor =
- mSelectionPseudoStyle->GetVisitedDependentColor(&nsStyleText::mColor);
+ &nsStyleBackground::mBackgroundColor, mFrame);
+ mSelectionTextColor = mSelectionPseudoStyle->GetVisitedDependentColor(
+ &nsStyleText::mColor, mFrame);
return true;
}
if (nscolor bgColor = mSelectionPseudoStyle->GetVisitedDependentColor(
- &nsStyleBackground::mBackgroundColor);
+ &nsStyleBackground::mBackgroundColor, mFrame);
mSelectionPseudoStyle->HasAuthorSpecifiedTextColor() ||
NS_GET_A(bgColor) > 0) {
mSelectionBGColor = bgColor;
- mSelectionTextColor =
- mSelectionPseudoStyle->GetVisitedDependentColor(&nsStyleText::mColor);
+ mSelectionTextColor = mSelectionPseudoStyle->GetVisitedDependentColor(
+ &nsStyleText::mColor, mFrame);
return true;
}
}