1
0
mirror of https://github.com/roytam1/UXP.git synced 2026-05-26 23:18:26 +00:00

Issue #1970 - Part 4: Don't overflow -moz-focus-inner border.

This commit is contained in:
Moonchild
2022-07-22 18:25:57 +00:00
committed by roytam1
parent 4712b75d5c
commit 8101720ca8
+15 -3
View File
@@ -283,11 +283,23 @@ nsButtonFrameRenderer::GetButtonInnerFocusRect(const nsRect& aRect, nsRect& aRes
GetButtonRect(aRect, aResult);
aResult.Deflate(mFrame->GetUsedBorderAndPadding());
nsMargin innerFocusPadding(0,0,0,0);
if (mInnerFocusStyle) {
nsMargin innerFocusPadding(0,0,0,0);
mInnerFocusStyle->StylePadding()->GetPadding(innerFocusPadding);
nsMargin framePadding = mFrame->GetUsedPadding();
innerFocusPadding.top = std::min(innerFocusPadding.top,
framePadding.top);
innerFocusPadding.right = std::min(innerFocusPadding.right,
framePadding.right);
innerFocusPadding.bottom = std::min(innerFocusPadding.bottom,
framePadding.bottom);
innerFocusPadding.left = std::min(innerFocusPadding.left,
framePadding.left);
aResult.Inflate(innerFocusPadding);
}
aResult.Inflate(innerFocusPadding);
}
DrawResult
@@ -372,7 +384,7 @@ nsButtonFrameRenderer::ReResolveStyles(nsPresContext* aPresContext)
}
#endif
// get styles assigned to -moz-inner-focus (ie dotted border on Windows)
// get styles assigned to -moz-focus-inner (ie dotted border on Windows)
mInnerFocusStyle =
styleSet->ProbePseudoElementStyle(mFrame->GetContent()->AsElement(),
CSSPseudoElementType::mozFocusInner,