diff --git a/dom/html/test/forms/mochitest.ini b/dom/html/test/forms/mochitest.ini
index e9fe9799f58f..c9db8eaebb1c 100644
--- a/dom/html/test/forms/mochitest.ini
+++ b/dom/html/test/forms/mochitest.ini
@@ -33,19 +33,12 @@ skip-if = android_version == '18' # Android, bug 1147974
[test_input_color_picker_update.html]
skip-if = android_version == '18' # Android, bug 1147974
[test_input_date_bad_input.html]
-skip-if = os == "android"
[test_input_date_key_events.html]
-skip-if = os == "android"
[test_input_datetime_input_change_events.html]
-skip-if = os == "android"
[test_input_datetime_focus_blur.html]
-skip-if = os == "android"
[test_input_datetime_focus_blur_events.html]
-skip-if = os == "android"
[test_input_datetime_focus_state.html]
-skip-if = os == "android"
[test_input_datetime_tabindex.html]
-skip-if = os == "android"
[test_input_defaultValue.html]
[test_input_email.html]
[test_input_event.html]
@@ -71,11 +64,10 @@ skip-if = os == "android"
[test_input_range_mozinputrangeignorepreventdefault.html]
[test_input_range_rounding.html]
[test_input_sanitization.html]
+skip-if = os == 'android' && debug # Extremely slow on debug android
[test_input_textarea_set_value_no_scroll.html]
[test_input_time_key_events.html]
-skip-if = os == "android"
[test_input_time_sec_millisec_field.html]
-skip-if = os == "android"
[test_input_types_pref.html]
[test_input_typing_sanitization.html]
skip-if = os == "android" && debug # bug 1397615
diff --git a/dom/html/test/forms/test_input_date_bad_input.html b/dom/html/test/forms/test_input_date_bad_input.html
index da2f4d0700cf..60e4a1d10fe0 100644
--- a/dom/html/test/forms/test_input_date_bad_input.html
+++ b/dom/html/test/forms/test_input_date_bad_input.html
@@ -37,6 +37,7 @@ SimpleTest.waitForFocus(function() {
});
const DATE_BAD_INPUT_MSG = "Please enter a valid date.";
+const isDesktop = !/Mobile|Tablet/.test(navigator.userAgent);
function checkValidity(aElement, aIsBadInput) {
is(aElement.validity.valid, aIsBadInput ? false : true,
@@ -93,9 +94,12 @@ function test() {
elem.blur();
checkValidity(elem, true);
- // Clearing all fields should clear bad input validity state as well.
- synthesizeMouse(input, resetButton_X, resetButton_Y, {});
- checkValidity(elem, false);
+ // Reset button is desktop only.
+ if (isDesktop) {
+ // Clearing all fields should clear bad input validity state as well.
+ synthesizeMouse(input, resetButton_X, resetButton_Y, {});
+ checkValidity(elem, false);
+ }
}
diff --git a/dom/html/test/forms/test_input_datetime_input_change_events.html b/dom/html/test/forms/test_input_datetime_input_change_events.html
index e636995d3694..4ab02444dda5 100644
--- a/dom/html/test/forms/test_input_datetime_input_change_events.html
+++ b/dom/html/test/forms/test_input_datetime_input_change_events.html
@@ -26,6 +26,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1370858
* Test that change and input events are (not) fired for date/time inputs.
**/
+const isDesktop = !/Mobile|Tablet/.test(navigator.userAgent);
+
var inputTypes = ["time", "date"];
var changeEvents = [0, 0];
var inputEvents = [0, 0];
@@ -73,12 +75,15 @@ function test() {
is(changeEvents[i], 2, "Change event should be dispatched (2).");
is(inputEvents[i], 2, "Input event should be dispatched (2).");
- // Test that change and input events are fired when clearing the value using
- // the reset button.
- synthesizeMouse(input, resetButton_X, resetButton_Y, {});
- is(input.value, "", "Check that value was set correctly (3).");
- is(changeEvents[i], 3, "Change event should be dispatched (3).");
- is(inputEvents[i], 3, "Input event should be dispatched (3).");
+ // Reset button is desktop only.
+ if (isDesktop) {
+ // Test that change and input events are fired when clearing the value using
+ // the reset button.
+ synthesizeMouse(input, resetButton_X, resetButton_Y, {});
+ is(input.value, "", "Check that value was set correctly (3).");
+ is(changeEvents[i], 3, "Change event should be dispatched (3).");
+ is(inputEvents[i], 3, "Input event should be dispatched (3).");
+ }
}
}
diff --git a/dom/html/test/forms/test_input_typing_sanitization.html b/dom/html/test/forms/test_input_typing_sanitization.html
index b384c0435e39..e39c122c7d5e 100644
--- a/dom/html/test/forms/test_input_typing_sanitization.html
+++ b/dom/html/test/forms/test_input_typing_sanitization.html
@@ -25,7 +25,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=765772
* This test checks that when a user types in some input types, it will not be
* in a state where the value will be un-sanitized and usable (by a script).
*/
-const isDesktop = !/Mobile|Tablet/.test(navigator.userAgent);
var input = document.getElementById('i');
var form = document.getElementById('f');
@@ -137,47 +136,6 @@ function* runTest()
"42,13", // comma can't be used as a decimal separator
]
},
- {
- mobileOnly: true,
- type: 'date',
- validData: [
- '0001-01-01',
- '2012-12-21',
- '2013-01-28',
- '100000-01-01',
- ],
- invalidData: [
- '1-01-01',
- 'a',
- '-',
- '2012-01',
- '2013-01-1',
- '1011-23-21',
- '1000-12-99',
- ]
- },
- {
- mobileOnly: true,
- type: 'time',
- validData: [
- '00:00',
- '09:09:00',
- '08:23:23.1',
- '21:43:56.12',
- '23:12:45.100',
- ],
- invalidData: [
- '00:',
- '00:00:',
- '25:00',
- '-00:00',
- '00:00:00.',
- '00:60',
- '10:58:99',
- ':19:10',
- '23:08:09.1012',
- ]
- },
{
type: 'month',
validData: [
@@ -236,10 +194,6 @@ function* runTest()
for (test of data) {
gCurrentTest = test;
- if (gCurrentTest.mobileOnly && isDesktop) {
- continue;
- }
-
input.type = test.type;
gValidData = test.validData;
gInvalidData = test.invalidData;
diff --git a/layout/reftests/forms/input/datetime/reftest.list b/layout/reftests/forms/input/datetime/reftest.list
index d64a148f89fe..b6d68a4836d7 100644
--- a/layout/reftests/forms/input/datetime/reftest.list
+++ b/layout/reftests/forms/input/datetime/reftest.list
@@ -1,24 +1,21 @@
default-preferences pref(dom.forms.datetime,true)
-# not valid on Android where type=time looks like type=text
-skip-if(Android) != time-simple-unthemed.html time-simple-unthemed-ref.html
-skip-if(Android) != time-large-font.html time-basic.html
-skip-if(Android) != time-width-height.html time-basic.html
-skip-if(Android) != time-border.html time-basic.html
-# only valid on Android where type=number looks the same as type=text
-skip-if(!Android) == time-simple-unthemed.html time-simple-unthemed-ref.html
+!= time-simple-unthemed.html time-simple-unthemed-ref.html
+!= time-large-font.html time-basic.html
+!= time-width-height.html time-basic.html
+!= time-border.html time-basic.html
# type change
-skip-if(Android) == to-time-from-other-type-unthemed.html time-simple-unthemed.html
-skip-if(Android) == from-time-to-other-type-unthemed.html from-time-to-other-type-unthemed-ref.html
+== to-time-from-other-type-unthemed.html time-simple-unthemed.html
+== from-time-to-other-type-unthemed.html from-time-to-other-type-unthemed-ref.html
# content should not overflow on small width/height
-skip-if(Android) == time-small-width.html time-small-width-ref.html
-skip-if(Android) == time-small-height.html time-small-height-ref.html
-skip-if(Android) == time-small-width-height.html time-small-width-height-ref.html
+== time-small-width.html time-small-width-ref.html
+== time-small-height.html time-small-height-ref.html
+== time-small-width-height.html time-small-width-height-ref.html
# content (text) should be left aligned
-skip-if(Android) == time-content-left-aligned.html time-content-left-aligned-ref.html
+fuzzy-if(Android,4,8) == time-content-left-aligned.html time-content-left-aligned-ref.html
# reset button should be right aligned
skip-if(Android) == time-reset-button-right-aligned.html time-reset-button-right-aligned-ref.html # bug 1372062