diff --git a/dom/html/nsIFormControl.h b/dom/html/nsIFormControl.h
index 36c7f65b6e64..8ac0b2692919 100644
--- a/dom/html/nsIFormControl.h
+++ b/dom/html/nsIFormControl.h
@@ -289,11 +289,6 @@ nsIFormControl::IsSingleLineTextControl(bool aExcludePassword, uint32_t aType)
aType == NS_FORM_INPUT_TEL ||
aType == NS_FORM_INPUT_URL ||
// TODO: those are temporary until bug 773205 is fixed.
-#if defined(MOZ_WIDGET_ANDROID)
- // On Android/B2G, date/time input appears as a normal text box.
- aType == NS_FORM_INPUT_TIME ||
- aType == NS_FORM_INPUT_DATE ||
-#endif
aType == NS_FORM_INPUT_MONTH ||
aType == NS_FORM_INPUT_WEEK ||
aType == NS_FORM_INPUT_DATETIME_LOCAL ||
diff --git a/layout/base/nsCSSFrameConstructor.cpp b/layout/base/nsCSSFrameConstructor.cpp
index 4c6371d996bb..7780270b5945 100644
--- a/layout/base/nsCSSFrameConstructor.cpp
+++ b/layout/base/nsCSSFrameConstructor.cpp
@@ -3819,14 +3819,8 @@ nsCSSFrameConstructor::FindInputData(Element* aElement,
nsCSSAnonBoxes::buttonContent) },
// TODO: this is temporary until a frame is written: bug 635240.
SIMPLE_INT_CREATE(NS_FORM_INPUT_NUMBER, NS_NewNumberControlFrame),
-#if defined(MOZ_WIDGET_ANDROID)
- // On Android, date/time input appears as a normal text box.
- SIMPLE_INT_CREATE(NS_FORM_INPUT_TIME, NS_NewTextControlFrame),
- SIMPLE_INT_CREATE(NS_FORM_INPUT_DATE, NS_NewTextControlFrame),
-#else
SIMPLE_INT_CREATE(NS_FORM_INPUT_TIME, NS_NewDateTimeControlFrame),
SIMPLE_INT_CREATE(NS_FORM_INPUT_DATE, NS_NewDateTimeControlFrame),
-#endif
// TODO: this is temporary until a frame is written: bug 888320
SIMPLE_INT_CREATE(NS_FORM_INPUT_MONTH, NS_NewTextControlFrame),
// TODO: this is temporary until a frame is written: bug 888320
diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js
index a31ff73b0302..98cc4153660f 100644
--- a/mobile/android/app/mobile.js
+++ b/mobile/android/app/mobile.js
@@ -181,7 +181,8 @@ pref("browser.formfill.enable", true);
pref("layout.spellcheckDefault", 0);
/* new html5 forms */
-pref("dom.experimental_forms", true);
+pref("dom.forms.datetime", true);
+pref("dom.forms.datetime.others", true);
pref("dom.forms.number", true);
/* extension manager and xpinstall */
diff --git a/mobile/android/themes/geckoview/content.css b/mobile/android/themes/geckoview/content.css
index 88581b2931f8..e0f7306d5cec 100644
--- a/mobile/android/themes/geckoview/content.css
+++ b/mobile/android/themes/geckoview/content.css
@@ -305,6 +305,10 @@ input[type=number]::-moz-number-spin-box {
display: none;
}
+button:-moz-native-anonymous.datetime-reset-button {
+ display: none;
+}
+
/* Override accessiblecaret css in layout/style/ua.css */
div:-moz-native-anonymous.moz-accessiblecaret > #text-overlay,
div:-moz-native-anonymous.moz-accessiblecaret > #image {