mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-15 08:53:07 +09:00
Issue #1970 - Part 4: Don't overflow -moz-focus-inner border.
This commit is contained in:
parent
4712b75d5c
commit
8101720ca8
1 changed files with 15 additions and 3 deletions
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue