Attaching test divs to document.documentElement instead of document.body
used to cause issues in jQuery 1.x; jQuery Compat doesn't execute any tests
on document ready, though so it could be aligned with master.
This makes jQuery Compat support tests work correctly even if jQuery is
included & used in head before body even exists - making it similar to
the master behavior.
Fixes gh-2502
It might not be obvious to everyone that IE 9 & Android 4.0 are not
ES5-compliant browsers (by a large margin) so it's better to add a support
comment. This requires slight changes in parsing the config file
as it's not a pure JSON anymore. JSHint understands such files without
problems.
(cherry-picked from 669cb16d76)
Closes gh-2520
Custom mouseenter/mouseleave implementation was needed because of:
1. Safari 6 not implementing mouseenter/mouseleave at all.
2. Chrome sending mouseenter too often.
The second issue has been fixed in Chrome but exists now in Safari 7
(it's fixed in Safari 8) so we have to keep it for now, unfortunately.
(cherry-picked from 2792845534)
Support comments that mentioned only Safari < 7 were checked & updated
to account for bugs existing in newer versions as well; Safari 6 support
test results were removed.
(cherry-picked from 93bee4701d)
Refs gh-2482
Make iterating over jQuery objects possible using ES 2015 for-of:
for ( node of $( "<div id=narwhal>" ) ) {
console.log( node.id ); // "narwhal"
}
(partially cherry-picked from bb026fc12c)
Fixes gh-1693
JSON needed to be added to JSHint globals as it's not implied by the es3
setting and yet all our supported browsers have it implemented.
(cherry-picked from 1556c4661a)
IE8 doesn't like named anonymous expressions. Not naming the function
expression reduces the gzipped size by 5 bytes.
In ECMAScript 2015 the function will get the name inferred from the
variable name (here: swap) anyway.
Refs 02a9d9f94b
This prevents jQuery from caching a prefixed property name if provided
directly by the user, e.g. the following code:
elem.css( "msTransform", "translate(5px, 2px)" );
should not prevent one from from later setting the transition directly:
elem.css( "transform", "translate(5px, 2px)" );
on a browser not understanding the unprefixed version which is the case
for Safari 8 & transform.
(cherry-picked from d471842b3e)
Fixes gh-2015
Closes gh-2298
The logic for IE8 has been incorrectly reversed: every non-local request
outside of the whitelist was run via the native XHR. This commit reverses
this logic and adds back a fallback to the ActiveX XHR if the native one
fails even after the regex detection.
Refs 61f812b7e7
IE throws an error on cross-domain PATCH requests if issued via the ActiveX
interface. This commit switches the logic to use the native XHR in all
non-local requests.
Fixes gh-1684
Closes gh-2183