aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichał Gołębiowski <m.goleb@gmail.com>2015-07-20 19:24:46 +0200
committerMichał Gołębiowski <m.goleb@gmail.com>2015-09-14 21:26:48 +0200
commitce3b4a62427c5a3a6669dcb8bf8e27a6287990d5 (patch)
tree2b50ed87d23df888f5fcc299d7108b23bdbc3e56
parent64fd7ef3d081b5c65d541237f73a4d89f0f0ad7b (diff)
downloadjquery-ce3b4a62427c5a3a6669dcb8bf8e27a6287990d5.tar.gz
jquery-ce3b4a62427c5a3a6669dcb8bf8e27a6287990d5.zip
Ajax:Attributes:CSS:Manipulation: Reduce Android 2.3 support
Drop non-critical workarounds for Android 2.3. Fixes gh-2483 Fixes gh-2505 Closes gh-2581
-rw-r--r--src/ajax/parseJSON.js6
-rw-r--r--src/attributes/support.js5
-rw-r--r--src/attributes/val.js3
-rw-r--r--src/css.js10
-rw-r--r--src/css/support.js33
-rw-r--r--src/manipulation/wrapMap.js5
-rw-r--r--test/unit/support.js58
7 files changed, 15 insertions, 105 deletions
diff --git a/src/ajax/parseJSON.js b/src/ajax/parseJSON.js
index 11918b06d..c2aeb6aae 100644
--- a/src/ajax/parseJSON.js
+++ b/src/ajax/parseJSON.js
@@ -2,11 +2,7 @@ define( [
"../core"
], function( jQuery ) {
-// Support: Android 2.3
-// Workaround failure to string-cast null input
-jQuery.parseJSON = function( data ) {
- return JSON.parse( data + "" );
-};
+jQuery.parseJSON = JSON.parse;
return jQuery.parseJSON;
diff --git a/src/attributes/support.js b/src/attributes/support.js
index 13bcd4572..f93ba0181 100644
--- a/src/attributes/support.js
+++ b/src/attributes/support.js
@@ -18,11 +18,6 @@ define( [
// Must access selectedIndex to make default options select
support.optSelected = opt.selected;
- // Support: Android<=2.3
- // Options inside disabled selects are incorrectly marked as disabled
- select.disabled = true;
- support.optDisabled = !opt.disabled;
-
// Support: IE<=11+
// An input loses its value after becoming a radio
input = document.createElement( "input" );
diff --git a/src/attributes/val.js b/src/attributes/val.js
index 9999d985b..caf0126d4 100644
--- a/src/attributes/val.js
+++ b/src/attributes/val.js
@@ -105,8 +105,7 @@ jQuery.extend( {
if ( ( option.selected || i === index ) &&
// Don't return options that are disabled or in a disabled optgroup
- ( support.optDisabled ?
- !option.disabled : option.getAttribute( "disabled" ) === null ) &&
+ !option.disabled &&
( !option.parentNode.disabled ||
!jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
diff --git a/src/css.js b/src/css.js
index 8a86ef55c..ccf0cc85e 100644
--- a/src/css.js
+++ b/src/css.js
@@ -351,16 +351,6 @@ jQuery.each( [ "height", "width" ], function( i, name ) {
};
} );
-// Support: Android 2.3
-jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,
- function( elem, computed ) {
- if ( computed ) {
- return swap( elem, { "display": "inline-block" },
- curCSS, [ elem, "marginRight" ] );
- }
- }
-);
-
// These hooks are used by animate to expand properties
jQuery.each( {
margin: "",
diff --git a/src/css/support.js b/src/css/support.js
index 0758fa8a4..08560b42a 100644
--- a/src/css/support.js
+++ b/src/css/support.js
@@ -29,10 +29,7 @@ define( [
// so they're executed at the same time to save the second computation.
function computeStyleTests() {
div.style.cssText =
-
- // Support: Android 2.3
- // Vendor-prefix box-sizing
- "-webkit-box-sizing:border-box;box-sizing:border-box;" +
+ "box-sizing:border-box;" +
"display:block;position:absolute;" +
"margin:0;margin-top:1%;margin-right:50%;" +
"border:1px;padding:1px;" +
@@ -72,34 +69,6 @@ define( [
computeStyleTests();
}
return pixelMarginRightVal;
- },
- reliableMarginRight: function() {
-
- // Support: Android 2.3
- // Check if div with explicit width and no margin-right incorrectly
- // gets computed margin-right based on width of container. (#3333)
- // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
- // This support function is only executed once so no memoizing is needed.
- var ret,
- marginDiv = div.appendChild( document.createElement( "div" ) );
-
- // Reset CSS: box-sizing; display; margin; border; padding
- marginDiv.style.cssText = div.style.cssText =
-
- // Support: Android 2.3
- // Vendor-prefix box-sizing
- "-webkit-box-sizing:content-box;box-sizing:content-box;" +
- "display:block;margin:0;border:0;padding:0";
- marginDiv.style.marginRight = marginDiv.style.width = "0";
- div.style.width = "1px";
- documentElement.appendChild( container );
-
- ret = !parseFloat( window.getComputedStyle( marginDiv ).marginRight );
-
- documentElement.removeChild( container );
- div.removeChild( marginDiv );
-
- return ret;
}
} );
} )();
diff --git a/src/manipulation/wrapMap.js b/src/manipulation/wrapMap.js
index 3fa5f913e..a7b913c90 100644
--- a/src/manipulation/wrapMap.js
+++ b/src/manipulation/wrapMap.js
@@ -12,9 +12,8 @@ var wrapMap = {
// their parent elements (except for "table" element) could be omitted
// since browser parsers are smart enough to auto-insert them
- // Support: Android 2.3
- // Android browser doesn't auto-insert colgroup
- col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+ // Auto-insert "colgroup" element
+ col: [ 2, "<table>", "</table>" ],
// Auto-insert "tbody" element
tr: [ 2, "<table>", "</table>" ],
diff --git a/test/unit/support.js b/test/unit/support.js
index e53a5f0ec..8c6b0a28b 100644
--- a/test/unit/support.js
+++ b/test/unit/support.js
@@ -67,12 +67,10 @@ testIframeWithCallback(
"createHTMLDocument": true,
"focusin": false,
"noCloneChecked": true,
- "optDisabled": true,
"optSelected": true,
"pixelMarginRight": true,
"pixelPosition": true,
- "radioValue": true,
- "reliableMarginRight": true
+ "radioValue": true
};
} else if ( /(msie 10\.0|trident\/7\.0)/i.test( userAgent ) ) {
expected = {
@@ -85,12 +83,10 @@ testIframeWithCallback(
"createHTMLDocument": true,
"focusin": true,
"noCloneChecked": false,
- "optDisabled": true,
"optSelected": false,
"pixelMarginRight": true,
"pixelPosition": true,
- "radioValue": false,
- "reliableMarginRight": true
+ "radioValue": false
};
} else if ( /msie 9\.0/i.test( userAgent ) ) {
expected = {
@@ -103,12 +99,10 @@ testIframeWithCallback(
"createHTMLDocument": true,
"focusin": true,
"noCloneChecked": false,
- "optDisabled": true,
"optSelected": false,
"pixelMarginRight": true,
"pixelPosition": true,
- "radioValue": false,
- "reliableMarginRight": true
+ "radioValue": false
};
} else if ( /chrome/i.test( userAgent ) ) {
@@ -124,12 +118,10 @@ testIframeWithCallback(
"createHTMLDocument": true,
"focusin": false,
"noCloneChecked": true,
- "optDisabled": true,
"optSelected": true,
"pixelMarginRight": true,
"pixelPosition": true,
- "radioValue": true,
- "reliableMarginRight": true
+ "radioValue": true
};
} else if ( /8\.0(\.\d+|) safari/i.test( userAgent ) ) {
expected = {
@@ -142,12 +134,10 @@ testIframeWithCallback(
"createHTMLDocument": false,
"focusin": false,
"noCloneChecked": true,
- "optDisabled": true,
"optSelected": true,
"pixelMarginRight": true,
"pixelPosition": false,
- "radioValue": true,
- "reliableMarginRight": true
+ "radioValue": true
};
} else if ( /7\.0(\.\d+|) safari/i.test( userAgent ) ) {
expected = {
@@ -160,12 +150,10 @@ testIframeWithCallback(
"createHTMLDocument": true,
"focusin": false,
"noCloneChecked": true,
- "optDisabled": true,
"optSelected": true,
"pixelMarginRight": true,
"pixelPosition": false,
- "radioValue": true,
- "reliableMarginRight": true
+ "radioValue": true
};
} else if ( /firefox/i.test( userAgent ) ) {
expected = {
@@ -178,12 +166,10 @@ testIframeWithCallback(
"createHTMLDocument": true,
"focusin": false,
"noCloneChecked": true,
- "optDisabled": true,
"optSelected": true,
"pixelMarginRight": true,
"pixelPosition": true,
- "radioValue": true,
- "reliableMarginRight": true
+ "radioValue": true
};
} else if ( /iphone os 8/i.test( userAgent ) ) {
expected = {
@@ -196,12 +182,10 @@ testIframeWithCallback(
"createHTMLDocument": false,
"focusin": false,
"noCloneChecked": true,
- "optDisabled": true,
"optSelected": true,
"pixelMarginRight": true,
"pixelPosition": false,
- "radioValue": true,
- "reliableMarginRight": true
+ "radioValue": true
};
} else if ( /iphone os (6|7)/i.test( userAgent ) ) {
expected = {
@@ -214,12 +198,10 @@ testIframeWithCallback(
"createHTMLDocument": true,
"focusin": false,
"noCloneChecked": true,
- "optDisabled": true,
"optSelected": true,
"pixelMarginRight": true,
"pixelPosition": false,
- "radioValue": true,
- "reliableMarginRight": true
+ "radioValue": true
};
} else if ( /android 4\.[0-3]/i.test( userAgent ) ) {
expected = {
@@ -232,30 +214,10 @@ testIframeWithCallback(
"createHTMLDocument": true,
"focusin": false,
"noCloneChecked": true,
- "optDisabled": true,
"optSelected": true,
"pixelMarginRight": false,
"pixelPosition": false,
- "radioValue": true,
- "reliableMarginRight": true
- };
- } else if ( /android 2\.3/i.test( userAgent ) ) {
- expected = {
- "ajax": true,
- "boxSizingReliable": true,
- "checkClone": true,
- "checkOn": false,
- "clearCloneStyle": false,
- "cors": true,
- "createHTMLDocument": true,
- "focusin": false,
- "noCloneChecked": true,
- "optDisabled": false,
- "optSelected": true,
- "pixelMarginRight": true,
- "pixelPosition": false,
- "radioValue": true,
- "reliableMarginRight": false
+ "radioValue": true
};
}