Compatibility/Mobile/Libraries: Difference between revisions

 
(47 intermediate revisions by 2 users not shown)
Line 24: Line 24:
** http://bugs.jquery.com/ticket/13376
** http://bugs.jquery.com/ticket/13376
** https://bugzilla.mozilla.org/show_bug.cgi?id=840412 (apparently a regression)
** https://bugzilla.mozilla.org/show_bug.cgi?id=840412 (apparently a regression)
* "Firefox focus and blur events not firing when calling focus() and blur()"[cantfix][needs-bugzilla]
** http://bugs.jquery.com/ticket/13363 and http://jsfiddle.net/vKDe2/9/ (see note about possibly needing an iframe)
** http://bugs.jquery.com/ticket/10557
* "document.ready not firing on Firefox, Opera with XSLT and XML" [open][bugzilla-open]
* "document.ready not firing on Firefox, Opera with XSLT and XML" [open][bugzilla-open]
** http://bugs.jquery.com/ticket/13193
** http://bugs.jquery.com/ticket/13193
Line 34: Line 31:
** http://bugs.jquery.com/ticket/11110
** http://bugs.jquery.com/ticket/11110
** https://bugzilla.mozilla.org/show_bug.cgi?id=381328
** https://bugzilla.mozilla.org/show_bug.cgi?id=381328
* "Firefox focus and blur events not firing when calling focus() and blur()"[cantfix][needs-bugzilla]
** http://bugs.jquery.com/ticket/13363 and http://jsfiddle.net/vKDe2/9/ (see note about possibly needing an iframe)
** http://bugs.jquery.com/ticket/10557
** possibly https://bugzilla.mozilla.org/show_bug.cgi?id=874488?


=== jQuery Mobile ===
=== jQuery Mobile ===
Line 54: Line 55:
=== Sencha Touch ===
=== Sencha Touch ===


See also https://bugzilla.mozilla.org/show_bug.cgi?id=895485
Tracking bug https://bugzilla.mozilla.org/show_bug.cgi?id=895485


Testing with Sencha Touch 2.3.0 (GPL): http://www.sencha.com/products/touch/download/sencha-touch-2.3.0/2920
Testing with Sencha Touch 2.3.0 (GPL): http://www.sencha.com/products/touch/download/sencha-touch-2.3.0/2920
Line 60: Line 61:
"Sencha Touch is the only framework that enables developers to build powerful apps that work on iOS, Android, BlackBerry, Windows Phone, and Internet Explorer 10."
"Sencha Touch is the only framework that enables developers to build powerful apps that work on iOS, Android, BlackBerry, Windows Phone, and Internet Explorer 10."


==== JS ====
==== JS / DOM ====
 
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/microloader/development.js#L65 would fail for "Mobile;" tokens in FxOS and F4A. Also found in https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/core/class/Class.js#L534-L551. Changing the regex to /Mobile(\/|\s|;)/ should be enough to fix that though.
 
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/data/proxy/Sql.js If an app is using the WebSQL proxy... there's not much to be done.
 
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/device/SQLite.js, more SQLite as a possible compat issue
 
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/env/OS.js#L16 Do we want to add FxOS?
 
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/env/OS.js#L34 will probably fail for FxforAndroid, as the UA string has "Android;".
 
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/fx/animation/Wipe.js#L44-L94 only including -webkit-gradients here.
 
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/util/translatable/CssTransform.js#L20 missing other prefixes


* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/microloader/development.js#L65 would fail for "Mobile;" tokens in FxOS and F4A.
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/Anim.js#L206 Starting at line 206, there are tons of -webkit-only transform related props.


* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/microloader/development.js#L134-L135
* Do we have a perf bug open for this? https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/XTemplateCompiler.js#L15-L18


==== CSS ====
==== CSS ====


* Flexbox stuff has proper unprefixed properties, https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/resources/css-debug/apple.css#L489-L493
Note: these would all be fixed in the themes/stylesheets/sencha-touch/base/src/_Foo.scss files (I think).
 
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/resources/css-debug/apple.css#L1260 should be updated to -moz-user-select: none;
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/resources/css-debug/apple.css#L2234-L2238, -webkit-box only styles.
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/resources/css-debug/apple.css#L3382-L3399, -webkit-mask-* properties; If they're only used in places like this button, it degrades gracefully: https://cloudup.com/c5H15TZzUfE
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/resources/css-debug/apple.css#L4443-L4454, only has -webkit-appearance: none, and a .x-ie class that gets background: transparent; instead.
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/resources/css-debug/apple.css#L589-L608, there's an x-firefox class that's being used to hide .x-dock-body (width:0, height:0). Unsure why...
 
==== Testing ====
Using the demos at https://miketaylr.com/bzla/tmp/examples/index.html for testing. Issues found so far:
 
* In Firefox Stable (but not Aurora), there's a paint issue when scrolling up, e.g., https://miketaylr.com/bzla/tmp/examples/nestedlist/index.html. The children get painted above the menu bar. But it's a non-issue in Aurora, so we can probably safely ignore.
 
* https://miketaylr.com/bzla/tmp/examples/forms/index.html, the Multiple Slider Thumbs component has issues in Firefox for Android stable, but not Aurora.
 
=== iScroll ===
 
Tracking bug: https://bugzilla.mozilla.org/show_bug.cgi?id=941076
 
0 results from commitgrep, http://miketaylr.github.io/commitgrep/iscroll.html
 
* https://github.com/cubiq/iscroll/blob/master/src/utils.js#L84-L85, seems like we'll end up as "is.badAndroid": filed https://github.com/cubiq/iscroll/issues/558. (which has been fixed as of 9 Jan 2014).
 
Other than that, version 5 (and the demos) seems to work well. Version 4 and below are totally broken. So we should encourage sites to upgrade when possible.
 
=== Fastclick ===
https://github.com/ftlabs/fastclick
 
See https://bugzilla.mozilla.org/show_bug.cgi?id=975467, the root cause being us sending double click events in some Fastclick code.
 
=== App.js ===
http://code.kik.com/app/2/index.html
Note: "It is advised that you run your app in Chrome while simulating a mobile platform that you're targeting. Don't forget to turn on touch event emulation." in the docs.
 
[[Category:Mobile]]
[[Category:Web Compatibility]]
Confirmed users
796

edits