Bug 656284 - Fix clipped XUL progressmeter on Windows. r=roc

This commit is contained in:
Mounir Lamouri 2011-05-16 12:19:27 +02:00
parent 02b4fd3198
commit 43a7619e54
4 changed files with 5 additions and 16 deletions

View File

@ -23,6 +23,8 @@ div.progress-bar {
* width: 100%;
*/
-moz-box-sizing: border-box;
/* Default style in case of there is -moz-appearance: none; */
background-color: ThreeDShadow;
}

View File

@ -679,6 +679,7 @@ progress {
float: none ! important;
position: static ! important;
overflow: visible ! important;
-moz-box-sizing: border-box ! important;
-moz-appearance: progresschunk;
height: 100%;

View File

@ -29,6 +29,8 @@
height: 100%;
width: 100%;
-moz-box-sizing: border-box;
/* Default style in case of there is -moz-appearance: none; */
background-color: ThreeDShadow;
}

View File

@ -349,14 +349,6 @@ static CaptionButtonPadding buttonData[3] = {
* These values are found by experimenting and comparing against native widgets
* used by the system. They are very unlikely exact but try to not be too wrong.
*/
// PP_CHUNK is overflowing on the bottom for no appearant reasons.
// This is a fix around this issue.
static const PRInt32 kProgressDeterminedXPOverflow = 11;
// Same thing but for PP_FILL.
static const PRInt32 kProgressDeterminedVistaOverflow = 4;
// Same thing but for indeterminate progress bar.
// The value is the same for PP_CHUNK and PP_MOVEOVERLAY in that case.
static const PRInt32 kProgressIndeterminateOverflow = 2;
// The width of the overlay used to animate the progress bar (Vista and later).
static const PRInt32 kProgressVistaOverlayWidth = 120;
// The width of the overlay used to for indeterminate progress bars on XP.
@ -1326,14 +1318,6 @@ RENDER_AGAIN:
}
else if (aWidgetType == NS_THEME_WINDOW_BUTTON_CLOSE) {
OffsetBackgroundRect(widgetRect, CAPTIONBUTTON_CLOSE);
} else if (aWidgetType == NS_THEME_PROGRESSBAR_CHUNK) {
nsIFrame* stateFrame = aFrame->GetParent();
nsEventStates eventStates = GetContentState(stateFrame, aWidgetType);
widgetRect.bottom -= IsIndeterminateProgress(stateFrame, eventStates)
? kProgressIndeterminateOverflow
: nsUXThemeData::sIsVistaOrLater
? kProgressDeterminedVistaOverflow
: kProgressDeterminedXPOverflow;
}
// widgetRect is the bounding box for a widget, yet the scale track is only