зеркало из https://github.com/mozilla/gecko-dev.git
Bug 437009 – buttons with type="radio" or type="checkbox" render with the incorrect state when checked. r+sr=vlad
This commit is contained in:
Родитель
7439b6827b
Коммит
d784906f5f
|
@ -666,6 +666,10 @@ nsNativeThemeWin::GetThemePartAndState(nsIFrame* aFrame, PRUint8 aWidgetType,
|
|||
if (IsDisabled(aFrame)) {
|
||||
aState = TS_DISABLED;
|
||||
return NS_OK;
|
||||
} else if (CheckBooleanAttr(aFrame, nsWidgetAtoms::open) ||
|
||||
CheckBooleanAttr(aFrame, nsWidgetAtoms::checked)) {
|
||||
aState = TS_ACTIVE;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
aState = StandardGetState(aFrame, aWidgetType, PR_TRUE);
|
||||
|
@ -2234,6 +2238,10 @@ nsresult nsNativeThemeWin::ClassicGetThemePartAndState(nsIFrame* aFrame, PRUint8
|
|||
contentState = GetContentState(aFrame, aWidgetType);
|
||||
if (IsDisabled(aFrame))
|
||||
aState |= DFCS_INACTIVE;
|
||||
else if (CheckBooleanAttr(aFrame, nsWidgetAtoms::open))
|
||||
aState |= DFCS_PUSHED;
|
||||
else if (CheckBooleanAttr(aFrame, nsWidgetAtoms::checked))
|
||||
aState |= DFCS_CHECKED;
|
||||
else {
|
||||
if (contentState & NS_EVENT_STATE_ACTIVE && contentState & NS_EVENT_STATE_HOVER) {
|
||||
aState |= DFCS_PUSHED;
|
||||
|
|
Загрузка…
Ссылка в новой задаче