Bug 763671 - Remove gradient from form elements. r=mfinkle
authorWes Johnston <wjohnston@mozilla.com>
Fri, 29 Aug 2014 08:45:14 -0700
changeset 203251 b5a85757ac0e
parent 203250 39037aa7ded0
child 203252 16d4b2727467
push id27424
push userryanvm@gmail.com
push dateWed, 03 Sep 2014 19:35:53 +0000
treeherdermozilla-central@bfef88becbba [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmfinkle
bugs763671
milestone35.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 763671 - Remove gradient from form elements. r=mfinkle
layout/reftests/box-shadow/reftest.list
layout/reftests/bugs/reftest.list
layout/reftests/css-invalid/input/reftest.list
layout/reftests/css-invalid/textarea/reftest.list
layout/reftests/css-ui-invalid/input/reftest.list
layout/reftests/css-ui-invalid/textarea/reftest.list
layout/reftests/css-ui-valid/input/reftest.list
layout/reftests/css-ui-valid/textarea/reftest.list
layout/reftests/css-valid/input/reftest.list
layout/reftests/css-valid/textarea/reftest.list
layout/reftests/forms/input/file/reftest.list
layout/reftests/forms/input/text/reftest.list
layout/reftests/forms/reftest.list
layout/reftests/native-theme/reftest.list
mobile/android/themes/core/content.css
mobile/android/themes/core/defines.inc
--- a/layout/reftests/box-shadow/reftest.list
+++ b/layout/reftests/box-shadow/reftest.list
@@ -4,28 +4,28 @@
 random == boxshadow-blur-2.html boxshadow-blur-2-ref.html # fixedpoint division in blur code makes this fail
 random != boxshadow-blur-2.html boxshadow-blur-2-notref.html # fixedpoint division in blur code makes this fail
 == boxshadow-multiple.html boxshadow-multiple-ref.html
 == boxshadow-spread.html boxshadow-spread-ref.html
 == tableboxshadow-basic.html tableboxshadow-basic-ref.html
 == tableboxshadow-trshadow.html tableboxshadow-trshadow-ref.html
 == tableboxshadow-tdshadow.html tableboxshadow-tdshadow-ref.html
 == boxshadow-rounding.html boxshadow-rounding-ref.html
-fails-if(Android||B2G) == boxshadow-button.html boxshadow-button-ref.html
+fails-if(B2G) == boxshadow-button.html boxshadow-button-ref.html
 fails-if(Android||B2G) == boxshadow-fileupload.html boxshadow-fileupload-ref.html
 == boxshadow-inner-basic.html boxshadow-inner-basic-ref.svg
 random-if(layersGPUAccelerated) == boxshadow-mixed.html boxshadow-mixed-ref.html
 random-if(d2d) fuzzy-if(B2G,12,18) == boxshadow-rounded-spread.html boxshadow-rounded-spread-ref.html
 skip-if(B2G&&browserIsRemote) HTTP(..) == boxshadow-dynamic.xul boxshadow-dynamic-ref.xul
 random-if(d2d) == boxshadow-onecorner.html boxshadow-onecorner-ref.html
 random-if(d2d) == boxshadow-twocorners.html boxshadow-twocorners-ref.html
 random-if(d2d) == boxshadow-threecorners.html boxshadow-threecorners-ref.html
 == boxshadow-skiprect.html boxshadow-skiprect-ref.html
 == boxshadow-opacity.html boxshadow-opacity-ref.html
 == boxshadow-color-rounding.html boxshadow-color-rounding-ref.html
 
 == overflow-not-scrollable-1.html overflow-not-scrollable-1-ref.html
 == overflow-not-scrollable-1.html overflow-not-scrollable-1-ref2.html
 == overflow-not-scrollable-2.html overflow-not-scrollable-2-ref.html
-fails-if(Android||B2G) == 611574-1.html 611574-1-ref.html
-fails-if(Android||B2G) == 611574-2.html 611574-2-ref.html
+fails-if(B2G) == 611574-1.html 611574-1-ref.html
+fails-if(B2G) == 611574-2.html 611574-2-ref.html
 fuzzy-if(winWidget,5,30) == fieldset.html fieldset-ref.html # minor anti-aliasing problem on Windows
 fuzzy-if(winWidget,5,30) == fieldset-inset.html fieldset-inset-ref.html # minor anti-aliasing problem on Windows
--- a/layout/reftests/bugs/reftest.list
+++ b/layout/reftests/bugs/reftest.list
@@ -1300,19 +1300,19 @@ skip-if(B2G) == 478811-1.html 478811-1-r
 == 480880-1a.html 480880-1-ref.html
 == 480880-1b.html 480880-1-ref.html
 == 480880-1c.html 480880-1-ref.html
 == 480880-1d.html 480880-1-ref.html
 == 480880-1e.html 480880-1-ref.html
 == 480880-2a.html about:blank
 == 480880-2b.html about:blank
 == 480880-2c.html about:blank
-skip-if(B2G) fails-if(Android) == 481024-1a.html 481024-1-ref.html
-skip-if(B2G) fails-if(Android) == 481024-1b.html 481024-1-ref.html
-skip-if(B2G) fails-if(Android) == 481024-1c.html 481024-1-ref.html
+skip-if(B2G) == 481024-1a.html 481024-1-ref.html
+skip-if(B2G) == 481024-1b.html 481024-1-ref.html
+skip-if(B2G) == 481024-1c.html 481024-1-ref.html
 == 481024-1d.html 481024-1-ref.html
 == 481024-1e.html 481024-1-ref.html
 != 481948-1.html 481948-1-ref.html
 != 481948-2.html 481948-2-ref.html
 skip-if(B2G) fails-if(Android) random-if(winWidget) fails-if(gtk2Widget) == 481948-3.html 481948-3-ref.html # questionable test, see bug 488364
 == 482398-1.html 482398-1-ref.html
 random-if(d2d) skip-if(B2G&&browserIsRemote) == 482592-1a.xhtml 482592-1-ref.html # bug 586771
 random-if(d2d) skip-if(B2G&&browserIsRemote) == 482592-1b.xhtml 482592-1-ref.html # bug 586771
@@ -1496,17 +1496,17 @@ skip-if(B2G) fuzzy-if(Android&&AndroidVe
 random != 553571-1.html 553571-1-notref.html # expect dotted circle in test, not in ref: "fails" under harfbuzz, which doesn't consider the sequence invalid
 fuzzy-if(!contentSameGfxBackendAsCanvas,128,91) random-if(d2d) skip-if(azureSkiaGL) == 555388-1.html 555388-1-ref.html
 == 556661-1.html 556661-1-ref.html
 skip-if(B2G) fails-if(Android) == 557087-1.html 557087-ref.html
 skip-if(B2G) fails-if(Android) == 557087-2.html 557087-ref.html
 == 557736-1.html 557736-1-ref.html
 skip-if(B2G&&browserIsRemote) != 558011-1.xul 558011-1-ref.xul # bug 974780
 == 559284-1.html 559284-1-ref.html
-skip-if(B2G) fails-if(Android) == 560455-1.xul 560455-1-ref.xul
+skip-if(B2G) == 560455-1.xul 560455-1-ref.xul
 == 561981-1.html 561981-1-ref.html
 == 561981-2.html 561981-2-ref.html
 == 561981-3.html 561981-3-ref.html
 == 561981-4.html 561981-4-ref.html
 == 561981-5.html 561981-5-ref.html
 == 561981-6.html 561981-6-ref.html
 == 561981-7.html 561981-7-ref.html
 == 561981-8.html 561981-8-ref.html
--- a/layout/reftests/css-invalid/input/reftest.list
+++ b/layout/reftests/css-invalid/input/reftest.list
@@ -1,12 +1,12 @@
 == input-valid.html input-ref.html
 fuzzy(11,4) == input-customerror.html input-ref.html
-skip-if(B2G) fails-if(Android) == input-disabled.html input-ref.html
-skip-if(B2G) fails-if(Android) == input-dyn-disabled.html input-ref.html
+skip-if(B2G) == input-disabled.html input-ref.html
+skip-if(B2G) == input-dyn-disabled.html input-ref.html
 == input-dyn-not-disabled.html input-ref.html
 == input-readonly.html input-ref.html
 == input-dyn-readonly.html input-ref.html
 == input-dyn-not-readonly.html input-ref.html
 == input-maxlength-valid.html input-ref.html
 == input-maxlength-invalid.html input-withtext-ref.html
 == input-required-valid.html input-withtext-ref.html
 == input-required-invalid.html input-ref.html
--- a/layout/reftests/css-invalid/textarea/reftest.list
+++ b/layout/reftests/css-invalid/textarea/reftest.list
@@ -1,12 +1,12 @@
 == textarea-valid.html textarea-ref.html
 == textarea-customerror.html textarea-ref.html
-fails-if(Android||B2G) == textarea-disabled.html textarea-ref.html
-fails-if(Android||B2G) == textarea-dyn-disabled.html textarea-ref.html
+fails-if(B2G) == textarea-disabled.html textarea-ref.html
+fails-if(B2G) == textarea-dyn-disabled.html textarea-ref.html
 == textarea-dyn-not-disabled.html textarea-ref.html
 == textarea-readonly.html textarea-ref.html
 == textarea-dyn-readonly.html textarea-ref.html
 == textarea-dyn-not-readonly.html textarea-ref.html
 == textarea-maxlength-valid.html textarea-ref.html
 == textarea-maxlength-invalid.html textarea-withtext-ref.html
 == textarea-required-valid.html textarea-withtext-ref.html
 == textarea-required-invalid.html textarea-ref.html
--- a/layout/reftests/css-ui-invalid/input/reftest.list
+++ b/layout/reftests/css-ui-invalid/input/reftest.list
@@ -1,12 +1,12 @@
 == input-valid.html input-ref.html
 fuzzy(64,4) == input-customerror.html input-ref.html
-skip-if(B2G) fails-if(Android) == input-disabled.html input-ref.html
-skip-if(B2G) fails-if(Android) == input-dyn-disabled.html input-ref.html
+skip-if(B2G) == input-disabled.html input-ref.html
+skip-if(B2G) == input-dyn-disabled.html input-ref.html
 == input-dyn-not-disabled.html input-ref.html
 == input-readonly.html input-ref.html
 == input-dyn-readonly.html input-ref.html
 == input-dyn-not-readonly-not-changed.html input-ref.html
 == input-dyn-not-readonly-changed.html input-ref.html
 == input-maxlength-valid.html input-ref.html
 == input-maxlength-invalid-changed.html input-withtext-ref.html
 == input-maxlength-invalid-default.html input-withtext-ref.html
--- a/layout/reftests/css-ui-invalid/textarea/reftest.list
+++ b/layout/reftests/css-ui-invalid/textarea/reftest.list
@@ -1,12 +1,12 @@
 == textarea-valid.html textarea-ref.html
 == textarea-customerror.html textarea-ref.html
-skip-if(B2G) fails-if(Android) == textarea-disabled.html textarea-ref.html
-fails-if(Android||B2G) == textarea-dyn-disabled.html textarea-ref.html
+skip-if(B2G) == textarea-disabled.html textarea-ref.html
+fails-if(B2G) == textarea-dyn-disabled.html textarea-ref.html
 == textarea-dyn-not-disabled.html textarea-ref.html
 == textarea-readonly.html textarea-ref.html
 == textarea-dyn-readonly.html textarea-ref.html
 == textarea-dyn-not-readonly-not-changed.html textarea-ref.html
 == textarea-dyn-not-readonly-changed.html textarea-ref.html
 == textarea-maxlength-valid.html textarea-ref.html
 == textarea-maxlength-invalid.html textarea-withtext-ref.html
 == textarea-maxlength-default-value-invalid.html textarea-withtext-ref.html
--- a/layout/reftests/css-ui-valid/input/reftest.list
+++ b/layout/reftests/css-ui-valid/input/reftest.list
@@ -1,12 +1,12 @@
 == input-valid.html input-ref.html
 fuzzy(11,4) == input-customerror.html input-ref.html
-fails-if(Android||B2G) == input-disabled.html input-ref.html
-fails-if(Android||B2G) == input-dyn-disabled.html input-ref.html
+fails-if(B2G) == input-disabled.html input-ref.html
+fails-if(B2G) == input-dyn-disabled.html input-ref.html
 == input-dyn-not-disabled.html input-ref.html
 == input-dyn-not-disabled-changed.html input-ref.html
 == input-readonly.html input-ref.html
 == input-dyn-readonly.html input-ref.html
 == input-dyn-not-readonly.html input-ref.html
 == input-dyn-not-readonly-changed.html input-ref.html
 == input-maxlength-valid.html input-ref.html
 == input-maxlength-valid-changed.html input-ref.html
--- a/layout/reftests/css-ui-valid/textarea/reftest.list
+++ b/layout/reftests/css-ui-valid/textarea/reftest.list
@@ -1,12 +1,12 @@
 == textarea-valid.html textarea-ref.html
 == textarea-customerror.html textarea-ref.html
-fails-if(Android||B2G) == textarea-disabled.html textarea-ref.html
-random-if(Android||B2G) == textarea-dyn-disabled.html textarea-ref.html
+fails-if(B2G) == textarea-disabled.html textarea-ref.html
+random-if(B2G) == textarea-dyn-disabled.html textarea-ref.html
 == textarea-dyn-not-disabled.html textarea-ref.html
 == textarea-dyn-not-disabled-changed.html textarea-ref.html
 == textarea-readonly.html textarea-ref.html
 == textarea-dyn-readonly.html textarea-ref.html
 == textarea-dyn-not-readonly.html textarea-ref.html
 == textarea-dyn-not-readonly-changed.html textarea-ref.html
 == textarea-maxlength-valid.html textarea-ref.html
 == textarea-maxlength-valid-changed.html textarea-ref.html
--- a/layout/reftests/css-valid/input/reftest.list
+++ b/layout/reftests/css-valid/input/reftest.list
@@ -1,12 +1,12 @@
 == input-valid.html input-ref.html
 fuzzy(64,4) == input-customerror.html input-ref.html
-fails-if(Android||B2G) == input-disabled.html input-ref.html
-fails-if(Android||B2G) == input-dyn-disabled.html input-ref.html
+fails-if(B2G) == input-disabled.html input-ref.html
+fails-if(B2G) == input-dyn-disabled.html input-ref.html
 == input-dyn-not-disabled.html input-ref.html
 == input-readonly.html input-ref.html
 == input-dyn-readonly.html input-ref.html
 == input-dyn-not-readonly.html input-ref.html
 == input-maxlength-valid.html input-ref.html
 == input-maxlength-invalid.html input-withtext-ref.html
 == input-required-valid.html input-withtext-ref.html
 == input-required-invalid.html input-ref.html
--- a/layout/reftests/css-valid/textarea/reftest.list
+++ b/layout/reftests/css-valid/textarea/reftest.list
@@ -1,12 +1,12 @@
 == textarea-valid.html textarea-ref.html
 == textarea-customerror.html textarea-ref.html
-fails-if(Android||B2G) == textarea-disabled.html textarea-ref.html
-fails-if(Android||B2G) == textarea-dyn-disabled.html textarea-ref.html
+fails-if(B2G) == textarea-disabled.html textarea-ref.html
+fails-if(B2G) == textarea-dyn-disabled.html textarea-ref.html
 == textarea-dyn-not-disabled.html textarea-ref.html
 == textarea-readonly.html textarea-ref.html
 == textarea-dyn-readonly.html textarea-ref.html
 == textarea-dyn-not-readonly.html textarea-ref.html
 == textarea-maxlength-valid.html textarea-ref.html
 == textarea-maxlength-invalid.html textarea-withtext-ref.html
 == textarea-required-valid.html textarea-withtext-ref.html
 == textarea-required-invalid.html textarea-ref.html
--- a/layout/reftests/forms/input/file/reftest.list
+++ b/layout/reftests/forms/input/file/reftest.list
@@ -1,8 +1,8 @@
 # B2G failures: bug 855352.
 fails-if(B2G||Android) fuzzy-if(OSX==10.6,8,128) skip-if(B2G&&browserIsRemote) == simple.html simple-ref.xul # bug 974780
 fails-if(B2G||Android) fuzzy-if(OSX==10.6,8,64) skip-if(B2G&&browserIsRemote) == rtl.html rtl-ref.xul # bug 974780
 fails-if(B2G||Android) fuzzy-if(OSX==10.6,8,128) skip-if(B2G&&browserIsRemote) == size.html simple-ref.xul # bug 974780
 fails-if(B2G||Android) fuzzy-if(OSX==10.6,8,64) skip-if(B2G&&browserIsRemote) == background.html background-ref.xul # bug 974780
-fails-if(B2G||Android)  skip-if(B2G&&browserIsRemote) == style.html style-ref.xul # bug 974780
+fails-if(B2G)  skip-if(B2G&&browserIsRemote) == style.html style-ref.xul # bug 974780
 != width-clip.html width-clip-ref.html
 fails-if(B2G||Android) == color-inherit.html color-inherit-ref.html
--- a/layout/reftests/forms/input/text/reftest.list
+++ b/layout/reftests/forms/input/text/reftest.list
@@ -1,10 +1,10 @@
 == bounds-1.html bounds-1-ref.html
 == size-1.html size-1-ref.html
-skip-if(B2G) fails-if(Android) == size-2.html size-2-ref.html
+skip-if(B2G) == size-2.html size-2-ref.html
 HTTP(..) == baseline-1.html baseline-1-ref.html
 skip-if(B2G&&browserIsRemote) HTTP(..) == centering-1.xul centering-1-ref.xul # bug 974780
 skip-if(B2G&&browserIsRemote) == dynamic-height-1.xul dynamic-height-1-ref.xul # bug 974780
 needs-focus == select.html select-ref.html
 == intrinsic-size.html intrinsic-size-ref.html
 == line-height-0.5.html line-height-1.0.html
 != line-height-1.5.html line-height-1.0.html
--- a/layout/reftests/forms/reftest.list
+++ b/layout/reftests/forms/reftest.list
@@ -1,9 +1,9 @@
-skip-if(B2G) fails-if(Android) HTTP(..) == text-control-baseline-1.html text-control-baseline-1-ref.html
+skip-if(B2G) HTTP(..) == text-control-baseline-1.html text-control-baseline-1-ref.html
 
 # button element
 include button/reftest.list
 
 # legend element
 include legend/reftest.list
 
 # fieldset element
--- a/layout/reftests/native-theme/reftest.list
+++ b/layout/reftests/native-theme/reftest.list
@@ -20,17 +20,17 @@ fails-if(!nativeThemePref) != button-nat
 fails-if(!nativeThemePref) != combobox-native.html combobox-nonnative.html
 == combobox-nonnative-when-styled.html combobox-nonnative-when-styled-ref.html
 fails-if(!nativeThemePref) needs-focus != listbox-native.html listbox-nonnative.html
 needs-focus == listbox-nonnative-when-styled.html listbox-nonnative-when-styled-ref.html
 fails-if(!nativeThemePref) != radio-native.html radio-nonnative.html
 == radio-still-native-when-styled.html radio-still-native-when-styled-ref.html
 fails-if(!nativeThemePref) != checkbox-native.html checkbox-nonnative.html
 == checkbox-still-native-when-styled.html checkbox-still-native-when-styled-ref.html
-fails-if(Android) == native-theme-disabled-cascade-levels.html native-theme-disabled-cascade-levels-ref.html
+== native-theme-disabled-cascade-levels.html native-theme-disabled-cascade-levels-ref.html
 
 != 427122-1.html 427122-1-ref.html
 
 # 403458 is a Windows-only bug
 skip-if(!winWidget) != 403458-winmenu-ltr.xul 403458-winmenu-rtl.xul
 
 == 470711-1.xul 470711-1-ref.xul
 
--- a/mobile/android/themes/core/content.css
+++ b/mobile/android/themes/core/content.css
@@ -82,17 +82,17 @@ xul|window xul|scrollbarbutton[sbattr="s
 
 xul|window xul|scrollbar xul|thumb {
   background-color: @color_background_scroller@ !important;
   -moz-border-top-colors: none !important;
   -moz-border-bottom-colors: none !important;
   -moz-border-right-colors: none !important;
   -moz-border-left-colors: none !important;
   border: 1px solid rgba(255, 255, 255, 0.4) !important;
-  border-radius: 3px;
+  border-radius: @form_border_radius@;
 }
 
 select:not([size]):not([multiple]) > xul|scrollbar,
 select[size="1"] > xul|scrollbar,
 select:not([size]):not([multiple]) xul|scrollbarbutton,
 select[size="1"] xul|scrollbarbutton {
   display: block;
   margin-left: 0;
@@ -101,54 +101,54 @@ select[size="1"] xul|scrollbarbutton {
 
 /* Override inverse OS themes */
 select,
 textarea,
 button,
 xul|button,
 * > input:not([type="image"]) {
   -moz-appearance: none !important;  /* See bug 598421 for fixing the platform */
-  border-radius: 3px;
+  border-radius: @form_border_radius@;
 }
 
 select[size],
 select[multiple],
 select[size][multiple],
 textarea,
-* > input:not([type="image"]) {
+* > input:not([type="image"]):not([type="image"]) {
   border-style: solid;
-  border-color: #7d7d7d;
-  color: #414141;
-  background: white linear-gradient(rgba(115,115,115,0.5) 0, rgba(215,215,215,0.5) 3px, rgba(255,255,255,0.2) 16px);
+  border-color: @form_border@;
+  color: @form_text@;
+  background-color: @form_background@;
 }
 
 /* Selects are handled by the form helper, see bug 685197 */
 select option, select optgroup {
   pointer-events: none;
 }
 
 select:not([size]):not([multiple]),
 select[size="0"],
 select[size="1"],
 * > input[type="button"],
 * > input[type="submit"],
 * > input[type="reset"],
 button {
   border-style: solid;
-  border-color: #7d7d7d;
-  color: #414141;
-  background: white linear-gradient(rgba(255,255,255,0.2) 0, rgba(215,215,215,0.5) 18px, rgba(115,115,115,0.5) 100%);
+  border-color: @form_border@;
+  color: @form_text@;
+  background-color: @form_background@;
 }
 
 input[type="checkbox"] {
-  background: white linear-gradient(rgba(115,115,115,0.5) 0, rgba(215,215,215,0.5) 2px, rgba(255,255,255,0.2) 6px);
+  background: @form_background@;
 }
 
 input[type="radio"] {
-  background: radial-gradient(at 6px 6px, rgba(255,255,255,0.2) 3px, rgba(195,195,195,0.5) 5px, rgba(115,115,115,0.5) 100%);
+  background: @form_background@
 }
 
 select {
   border-width: 1px;
   padding: 1px;
 }
 
 select:not([size]):not([multiple]),
@@ -175,121 +175,120 @@ button {
   border-width: 1px;
   padding: 0 7px 0 7px;
 }
 
 input[type="radio"],
 input[type="checkbox"] {
   max-width: 14px;
   max-height: 14px;
-  border: 1px solid #a7a7a7 !important;
+  border: 1px solid @form_border@ !important;
   padding: 2px 1px 2px 1px;
 }
 
 select > button {
   border-width: 0px !important;
   margin: 0px !important;
   padding: 0px !important;
   border-radius: 0;
   color: #414141;
 
-  background-size: auto auto, 100% 90%;
+  background-size: auto auto;
   background-color: transparent;
-  background-image: url("chrome://browser/skin/images/dropmarker.svg"),
-                    radial-gradient(at bottom left, #bbbbbb 40%, #f5f5f5) !important;
-  background-position: -moz-calc(50% + 1px) center, -15px center !important;
+  background-image: url("chrome://browser/skin/images/dropmarker.svg") !important;
+  background-position: -moz-calc(50% + 1px) center !important;
   background-repeat: no-repeat !important;
 
   font-size: inherit;
 }
 
 select[size]:focus,
 select[multiple]:focus,
 select[size][multiple]:focus,
 textarea:focus,
 input[type="file"]:focus > input[type="text"],
 * > input:not([type="image"]):focus {
   outline: 0px !important;
   border-style: solid;
-  border-color: rgb(94,128,153);
-  background: white linear-gradient(rgba(27,113,177,0.5) 0, rgba(198,225,246,0.2) 3px, rgba(255,255,255,0.2) 16px);
+  border-color: @form_border@;
+  background-color: @form_background@;
 }
 
 select:not([size]):not([multiple]):focus,
 select[size="0"]:focus,
 select[size="1"]:focus,
 input[type="button"]:focus,
 input[type="submit"]:focus,
 input[type="reset"]:focus,
 button:focus {
   outline: 0px !important;
   border-style: solid;
-  border-color: rgb(94,128,153);
-  background: white linear-gradient(rgba(255,255,255,0.2) 0, rgba(198,225,256,0.2) 18px, rgba(27,113,177,0.5) 100%);
+  border-color: @form_border@;
+  background-color: @form_background@;
 }
 
 input[type="checkbox"]:focus,
 input[type="radio"]:focus {
-  border-color: #99c6e0 !important;
+  border-color: @form_border@ !important;
 }
 
 input[type="checkbox"]:focus {
-  background: white linear-gradient(rgba(27,113,177,0.5) 0, rgba(198,225,246,0.2) 2px, rgba(255,255,255,0.2) 6px);
+  background: @form_background@;
 }
 
 input[type="radio"]:focus {
-  background: radial-gradient(at 6px 6px, rgba(255,255,255,0.2) 3px, rgba(198,225,246,0.2) 5px, rgba(27,113,177,0.5) 100%);
+  background: @form_background@;
 }
 
 /* we need to be specific for selects because the above rules are specific too */
 textarea[disabled],
 select[size][disabled],
 select[multiple][disabled],
 select[size][multiple][disabled],
 select:not([size]):not([multiple])[disabled],
 select[size="0"][disabled],
 select[size="1"][disabled],
 button[disabled],
 button[disabled]:active,
 * > input:not([type="image"])[disabled],
 * > input:not([type="image"])[disabled]:active {
-  color: rgba(0,0,0,0.3);
-  border-color: rgba(125,125,125,0.4);
+  color: @form_text_disabled@;
+  border-color: @form_border@;
   border-style: solid;
   border-width: 1px;
-  background: transparent linear-gradient(rgba(185,185,185,0.4) 0, rgba(235,235,235,0.4) 3px, rgba(255,255,255,0.4) 100%);
+  background: @form_background_disabled@;
 }
 
 select:not([size]):not([multiple])[disabled],
 select[size="0"][disabled],
 select[size="1"][disabled] {
-  background: transparent linear-gradient(rgba(255,255,255,0.4) 0, rgba(235,235,235,0.4) 3px, rgba(185,185,185,0.4) 100%);
+  background: @form_background_disabled@;
 }
 
 input[type="button"][disabled],
 input[type="button"][disabled]:active,
 input[type="submit"][disabled],
 input[type="submit"][disabled]:active,
 input[type="reset"][disabled],
 input[type="reset"][disabled]:active,
 button[disabled],
 button[disabled]:active {
   padding: 0 7px 0 7px;
-  background: transparent linear-gradient(rgba(255,255,255,0.4) 0, rgba(235,235,235,0.4) 3px, rgba(185,185,185,0.4) 100%);
+  background: @form_background_disabled@;
 }
 
 input[type="radio"][disabled],
 input[type="radio"][disabled]:active,
 input[type="radio"][disabled]:hover,
 input[type="radio"][disabled]:hover:active,
 input[type="checkbox"][disabled],
 input[type="checkbox"][disabled]:active,
 input[type="checkbox"][disabled]:hover,
 input[type="checkbox"][disabled]:hover:active {
-  border:1px solid rgba(125,125,125,0.4) !important;
+  border:1px solid @form_border@ !important;
 }
 
 select[disabled] > button {
   opacity: 0.6;
   padding: 1px 7px 1px 7px;
 }
 
 /* -moz-touch-enabled? media elements */
--- a/mobile/android/themes/core/defines.inc
+++ b/mobile/android/themes/core/defines.inc
@@ -1,10 +1,18 @@
 %filter substitution
 
+%define form_border #bfbfbf
+%define form_border_radius-radius 2px
+%define form_text #363b40
+%define form_text_disabled #bebebe
+%define form_background white
+%define form_background_disabled #f5f5f5
+%define form_background white
+
 %define color_about_background #ced7de
 %define color_about_item #e6e9eb
 %define color_about_item_inner #eef2f5
 
 %define color_background_active #525252
 %define color_background_default #000
 %define color_text_default #fff
 %define color_divider_border #333333