Bug 634088 - Use native rendering for indeterminate progress bar for Cocoa. r=mstange,roc

This commit is contained in:
Mounir Lamouri 2011-03-01 03:06:22 +01:00
Родитель c3a93d449e
Коммит c958825625
4 изменённых файлов: 10 добавлений и 4 удалений

Просмотреть файл

@ -1759,13 +1759,13 @@ nsNativeThemeCocoa::DrawWidgetBackground(nsRenderingContext* aContext,
if (!QueueAnimatedContentForRefresh(aFrame->GetContent(), 30)) {
NS_WARNING("Unable to animate progressbar!");
}
DrawProgress(cgContext, macRect, IsIndeterminateProgress(aFrame),
DrawProgress(cgContext, macRect, IsIndeterminateProgress(aFrame, eventState),
PR_TRUE, GetProgressValue(aFrame),
GetProgressMaxValue(aFrame), aFrame);
break;
case NS_THEME_PROGRESSBAR_VERTICAL:
DrawProgress(cgContext, macRect, IsIndeterminateProgress(aFrame),
DrawProgress(cgContext, macRect, IsIndeterminateProgress(aFrame, eventState),
PR_FALSE, GetProgressValue(aFrame),
GetProgressMaxValue(aFrame), aFrame);
break;

Просмотреть файл

@ -457,11 +457,16 @@ nsNativeTheme::IsNextToSelectedTab(nsIFrame* aFrame, PRInt32 aOffset)
// progressbar:
PRBool
nsNativeTheme::IsIndeterminateProgress(nsIFrame* aFrame)
nsNativeTheme::IsIndeterminateProgress(nsIFrame* aFrame,
nsEventStates aEventStates)
{
if (!aFrame)
return PR_FALSE;
if (aFrame->GetContent()->IsHTML(nsWidgetAtoms::progress)) {
return aEventStates.HasState(NS_EVENT_STATE_INDETERMINATE);
}
return aFrame->GetContent()->AttrValueIs(kNameSpaceID_None, nsWidgetAtoms::mode,
NS_LITERAL_STRING("undetermined"),
eCaseMatters);

Просмотреть файл

@ -160,7 +160,7 @@ class nsNativeTheme : public nsITimerCallback
PRBool IsHorizontal(nsIFrame* aFrame);
// progressbar:
PRBool IsIndeterminateProgress(nsIFrame* aFrame);
PRBool IsIndeterminateProgress(nsIFrame* aFrame, nsEventStates aEventStates);
PRInt32 GetProgressValue(nsIFrame* aFrame) {
return CheckIntAttr(aFrame, nsWidgetAtoms::value, 0);

Просмотреть файл

@ -104,6 +104,7 @@ WIDGET_ATOM(open, "open") // Whether or not a menu, tree, etc. is open
WIDGET_ATOM(orient, "orient")
WIDGET_ATOM(pageincrement, "pageincrement")
WIDGET_ATOM(parentfocused, "parentfocused")
WIDGET_ATOM(progress, "progress")
WIDGET_ATOM(radio, "radio")
WIDGET_ATOM(readonly, "readonly")
WIDGET_ATOM(Reload, "Reload")