Bug 1349646 - Don't overflow -moz-inner-focus border. r=wisniewskit+471096

MozReview-Commit-ID: FFSI6cKZBha
This commit is contained in:
Hiroyuki Ikezoe
2018-04-07 08:38:26 +09:00
parent fb12d158d1
commit ecefb1f56f
4 changed files with 70 additions and 2 deletions

View File

@@ -461,11 +461,23 @@ nsButtonFrameRenderer::GetButtonInnerFocusRect(const nsRect& aRect, nsRect& aRes
aResult = aRect;
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);
}
ImgDrawResult