aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimmy Willison <timmywillisn@gmail.com>2016-01-05 21:29:04 -0500
committerTimmy Willison <timmywillisn@gmail.com>2016-01-06 14:05:18 -0500
commit77f9b1e8037b1e4dc12e64cf10240f4b97383c30 (patch)
tree752f539d81888992ce4fcd50db302f13a44dbb34
parentce4d7caa1703ab45c51c0e00efd3e298833744b9 (diff)
downloadjquery-77f9b1e8037b1e4dc12e64cf10240f4b97383c30.tar.gz
jquery-77f9b1e8037b1e4dc12e64cf10240f4b97383c30.zip
CSS: fix reliableHiddenOffsets support test for IE6-7
-rw-r--r--src/css/support.js21
-rw-r--r--test/unit/support.js16
2 files changed, 21 insertions, 16 deletions
diff --git a/src/css/support.js b/src/css/support.js
index 6ff4cb19f..fbefc7b33 100644
--- a/src/css/support.js
+++ b/src/css/support.js
@@ -149,22 +149,27 @@ define( [
div.removeChild( contents );
}
- // Support: IE8
+ // Support: IE6-8
+ // First check that getClientRects works as expected
// Check if table cells still have offsetWidth/Height when they are set
// to display:none and there are still other visible table cells in a
// table row; if so, offsetWidth/Height are not reliable for use when
// determining if an element has been hidden directly using
// display:none (it is still safe to use offsets if a parent element is
// hidden; don safety goggles and see bug #4512 for more information).
- div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>";
- contents = div.getElementsByTagName( "td" );
- contents[ 0 ].style.cssText = "margin:0;border:0;padding:0;display:none";
- reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0 &&
- contents[ 0 ].getClientRects().length === 0;
+ div.style.display = "none";
+ reliableHiddenOffsetsVal = div.getClientRects().length === 0;
if ( reliableHiddenOffsetsVal ) {
- contents[ 0 ].style.display = "";
- contents[ 1 ].style.display = "none";
+ div.style.display = "";
+ div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>";
+ contents = div.getElementsByTagName( "td" );
+ contents[ 0 ].style.cssText = "margin:0;border:0;padding:0;display:none";
reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;
+ if ( reliableHiddenOffsetsVal ) {
+ contents[ 0 ].style.display = "";
+ contents[ 1 ].style.display = "none";
+ reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;
+ }
}
// Teardown
diff --git a/test/unit/support.js b/test/unit/support.js
index 41e45c59c..b75074e28 100644
--- a/test/unit/support.js
+++ b/test/unit/support.js
@@ -283,12 +283,12 @@ testIframeWithCallback(
} else if ( /msie 7\.0/i.test( userAgent ) ) {
expected = {
"ajax": true,
- "appendChecked": true,
+ "appendChecked": false,
"attributes": false,
- "boxSizing": true,
+ "boxSizing": false,
"boxSizingReliable": false,
"change": false,
- "checkClone": true,
+ "checkClone": false,
"checkOn": true,
"clearCloneStyle": true,
"cors": false,
@@ -297,12 +297,12 @@ testIframeWithCallback(
"deleteExpando": false,
"enctype": true,
"focusin": true,
- "getSetAttribute": true,
- "hrefNormalized": true,
+ "getSetAttribute": false,
+ "hrefNormalized": false,
"html5Clone": false,
"htmlSerialize": false,
- "inlineBlockNeedsLayout": false,
- "input": false,
+ "inlineBlockNeedsLayout": true,
+ "input": true,
"leadingWhitespace": false,
"noCloneChecked": false,
"noCloneEvent": false,
@@ -318,7 +318,7 @@ testIframeWithCallback(
"reliableMarginLeft": false,
"style": false,
"submit": false,
- "tbody": true
+ "tbody": false
};
} else if ( /msie 6\.0/i.test( userAgent ) ) {
expected = {