diff --git a/layout/reftests/forms/input/checkbox/gtk-theme-width-height-ref.html b/layout/reftests/forms/input/checkbox/gtk-theme-width-height-ref.html deleted file mode 100644 index 380f52286417..000000000000 --- a/layout/reftests/forms/input/checkbox/gtk-theme-width-height-ref.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - Testcase for bug 932506 - - - - -
-
- - -
-
- - -
-
-
- -
-
-
- - - diff --git a/layout/reftests/forms/input/checkbox/gtk-theme-width-height.html b/layout/reftests/forms/input/checkbox/gtk-theme-width-height.html deleted file mode 100644 index 456864e9533a..000000000000 --- a/layout/reftests/forms/input/checkbox/gtk-theme-width-height.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Testcase for bug 932506 - - - - -
-
- - -
-
- -
-
-
- -
-
-
- - - diff --git a/layout/reftests/forms/input/checkbox/reftest.list b/layout/reftests/forms/input/checkbox/reftest.list index 058f1b01fddd..5d4b9b428797 100644 --- a/layout/reftests/forms/input/checkbox/reftest.list +++ b/layout/reftests/forms/input/checkbox/reftest.list @@ -11,4 +11,3 @@ skip-if(B2G) fails-if(Android) == radio-stretched.html radio-stretched-ref.html != indeterminate-native-checked.html indeterminate-native-checked-notref.html != indeterminate-native-unchecked.html indeterminate-native-unchecked-notref.html == indeterminate-selector.html indeterminate-selector-ref.html -skip-if(!gtk2Widget) == gtk-theme-width-height.html gtk-theme-width-height-ref.html diff --git a/layout/reftests/forms/input/radio/gtk-theme-width-height-ref.html b/layout/reftests/forms/input/radio/gtk-theme-width-height-ref.html deleted file mode 100644 index 65b31236c988..000000000000 --- a/layout/reftests/forms/input/radio/gtk-theme-width-height-ref.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - Testcase for bug 932506 - - - - -
-
- - -
-
- - -
-
-
- -
-
-
- - - diff --git a/layout/reftests/forms/input/radio/gtk-theme-width-height.html b/layout/reftests/forms/input/radio/gtk-theme-width-height.html deleted file mode 100644 index 3c336f2c89de..000000000000 --- a/layout/reftests/forms/input/radio/gtk-theme-width-height.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Testcase for bug 932506 - - - - -
-
- - -
-
- -
-
-
- -
-
-
- - - diff --git a/layout/reftests/forms/input/radio/reftest.list b/layout/reftests/forms/input/radio/reftest.list index 3de124197f3b..48d0cd10a40e 100644 --- a/layout/reftests/forms/input/radio/reftest.list +++ b/layout/reftests/forms/input/radio/reftest.list @@ -5,4 +5,3 @@ != checked-notref.html about:blank != checked-native.html about:blank != checked-native-notref.html about:blank -skip-if(!gtk2Widget) == gtk-theme-width-height.html gtk-theme-width-height-ref.html diff --git a/widget/gtk/gtk2drawing.c b/widget/gtk/gtk2drawing.c index 803793e95916..7c8413d02c25 100644 --- a/widget/gtk/gtk2drawing.c +++ b/widget/gtk/gtk2drawing.c @@ -1046,12 +1046,13 @@ moz_gtk_toggle_paint(GdkDrawable* drawable, GdkRectangle* rect, w = gCheckboxWidget; } - NS_ASSERTION(rect->width >= indicator_size && - rect->height >= indicator_size, + NS_ASSERTION(rect->width == indicator_size, "GetMinimumWidgetSize was ignored"); - - // Paint it center aligned in the rect. - x = rect->x + (rect->width - indicator_size) / 2; + /* + * vertically center in the box, since XUL sometimes ignores our + * GetMinimumWidgetSize in the vertical dimension + */ + x = rect->x; y = rect->y + (rect->height - indicator_size) / 2; width = indicator_size; height = indicator_size; diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c index fba6e9028a4d..77c3a807c399 100644 --- a/widget/gtk/gtk3drawing.c +++ b/widget/gtk/gtk3drawing.c @@ -958,12 +958,13 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRectangle* rect, w = gCheckboxWidget; } - NS_ASSERTION(rect->width >= indicator_size && - rect->height >= indicator_size, + NS_ASSERTION(rect->width == indicator_size, "GetMinimumWidgetSize was ignored"); - - // Paint it center aligned in the rect. - x = rect->x + (rect->width - indicator_size) / 2; + /* + * vertically center in the box, since XUL sometimes ignores our + * GetMinimumWidgetSize in the vertical dimension + */ + x = rect->x; y = rect->y + (rect->height - indicator_size) / 2; width = indicator_size; height = indicator_size; diff --git a/widget/gtk/nsNativeThemeGTK.cpp b/widget/gtk/nsNativeThemeGTK.cpp index 4c43b77cedc4..5c4833063342 100644 --- a/widget/gtk/nsNativeThemeGTK.cpp +++ b/widget/gtk/nsNativeThemeGTK.cpp @@ -1186,6 +1186,7 @@ nsNativeThemeGTK::GetMinimumWidgetSize(nsRenderingContext* aContext, // Include space for the indicator and the padding around it. aResult->width = indicator_size; aResult->height = indicator_size; + *aIsOverridable = false; } break; case NS_THEME_TOOLBAR_BUTTON_DROPDOWN: