Bug 796544 - Use x-inputmode instead of inputmode in B2G/Gaia. r=djf
authorMounir Lamouri <mounir.lamouri@gmail.com>
Thu, 15 Nov 2012 14:38:47 +0000
changeset 113380 d2e0669c3baa12b66b133f4d92bf5eea06863546
parent 113379 8f10090ecc73c4e95f1e835d219a104a1b3d3b31
child 113381 a5974ecf93c01c4128606d9a183a9799d98c6e12
push id23870
push userryanvm@gmail.com
push dateFri, 16 Nov 2012 01:21:36 +0000
treeherdermozilla-central@58ebb638a7ea [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdjf
bugs796544
milestone19.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 796544 - Use x-inputmode instead of inputmode in B2G/Gaia. r=djf
b2g/chrome/content/forms.js
--- a/b2g/chrome/content/forms.js
+++ b/b2g/chrome/content/forms.js
@@ -320,23 +320,23 @@ function getJSON(element) {
       case "time":
       case "datetime":
       case "datetime-local":
         type = typeLowerCase;
         break;
     }
   }
 
-  // Gecko supports the inputmode attribute on text fields (but not textareas).
-  // But it doesn't recognize "verbatim" and other modes that we're interested
-  // in in Gaia, and the inputmode property returns "auto" for any value
-  // that gecko does not support. So we must query the inputmode attribute
-  // with getAttribute() rather than just using the inputmode property here.
-  // See https://bugzilla.mozilla.org/show_bug.cgi?id=746142
-  let inputmode = element.getAttribute('inputmode');
+  // Gecko has some support for @inputmode but behind a preference and
+  // it is disabled by default.
+  // Gaia is then using @x-inputmode has its proprietary way to set
+  // inputmode for fields. This shouldn't be used outside of pre-installed
+  // apps because the attribute is going to disappear as soon as a definitive
+  // solution will be find.
+  let inputmode = element.getAttribute('x-inputmode');
   if (inputmode) {
     inputmode = inputmode.toLowerCase();
   } else {
     inputmode = '';
   }
 
   return {
     "type": type.toLowerCase(),