Compatibility/Mobile/Libraries: Difference between revisions

 
(21 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 62: Line 63:
==== JS / DOM ====
==== 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
* 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/microloader/development.js#L134-L135
 
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/chart/interactions/Abstract.js#L175-L180 isMultiTouch, need to check Ext.os.is.MultiTouch to see if we might fail here (hopefully is doing actual feature detection).
 
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/core/class/Loader.js#L24 (is this possible in Gecko out of the box?)


* 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/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/device/SQLite.js, more SQLite as a possible compat issue
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/dom/Element.static.js#L313-L323 has a fallback for non window.orientation supporting devices (presumably for WinPhone compat). I wonder what version this was introduced in?


* 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#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/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/event/publisher/TouchGesture.js#L31-L65, so long as the default for `screenPositionRatio` is sane, probably not a problem. But lots of workarounds for WebKit browsers to be aware of.
* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/field/Select.js#L352 platform specific heights.


* 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/fx/animation/Wipe.js#L44-L94 only including -webkit-gradients here.
Line 88: Line 77:
* 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/src/util/translatable/CssTransform.js#L20 missing other prefixes


* https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/viewport/Android.js, do any of these Android assumptions make sense in Firefox for Android? (see also https://github.com/miketaylr/sencha-touch-2.3.0-gpl/blob/master/src/viewport/Viewport.js#L20)
* 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/src/Anim.js#L206 Starting at line 206, there are tons of -webkit-only transform related props.
* 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 ====
Line 97: Line 86:


* 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#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#L1260 missing -moz-user-select: text;
* 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#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
* 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#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...
* 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 ===
=== iScroll ===
Line 108: Line 103:


0 results from commitgrep, http://miketaylr.github.io/commitgrep/iscroll.html
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