Don't verify Danube and verify Euphrates
[releng.git] / utils / test / testapi / 3rd_party / static / testapi-ui / assets / lib / jquery / src / css / support.js
1 define( [
2         "../core",
3         "../var/document",
4         "../var/documentElement",
5         "../var/support"
6 ], function( jQuery, document, documentElement, support ) {
7
8 "use strict";
9
10 ( function() {
11
12         // Executing both pixelPosition & boxSizingReliable tests require only one layout
13         // so they're executed at the same time to save the second computation.
14         function computeStyleTests() {
15
16                 // This is a singleton, we need to execute it only once
17                 if ( !div ) {
18                         return;
19                 }
20
21                 div.style.cssText =
22                         "box-sizing:border-box;" +
23                         "position:relative;display:block;" +
24                         "margin:auto;border:1px;padding:1px;" +
25                         "top:1%;width:50%";
26                 div.innerHTML = "";
27                 documentElement.appendChild( container );
28
29                 var divStyle = window.getComputedStyle( div );
30                 pixelPositionVal = divStyle.top !== "1%";
31
32                 // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
33                 reliableMarginLeftVal = divStyle.marginLeft === "2px";
34                 boxSizingReliableVal = divStyle.width === "4px";
35
36                 // Support: Android 4.0 - 4.3 only
37                 // Some styles come back with percentage values, even though they shouldn't
38                 div.style.marginRight = "50%";
39                 pixelMarginRightVal = divStyle.marginRight === "4px";
40
41                 documentElement.removeChild( container );
42
43                 // Nullify the div so it wouldn't be stored in the memory and
44                 // it will also be a sign that checks already performed
45                 div = null;
46         }
47
48         var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
49                 container = document.createElement( "div" ),
50                 div = document.createElement( "div" );
51
52         // Finish early in limited (non-browser) environments
53         if ( !div.style ) {
54                 return;
55         }
56
57         // Support: IE <=9 - 11 only
58         // Style of cloned element affects source element cloned (#8908)
59         div.style.backgroundClip = "content-box";
60         div.cloneNode( true ).style.backgroundClip = "";
61         support.clearCloneStyle = div.style.backgroundClip === "content-box";
62
63         container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +
64                 "padding:0;margin-top:1px;position:absolute";
65         container.appendChild( div );
66
67         jQuery.extend( support, {
68                 pixelPosition: function() {
69                         computeStyleTests();
70                         return pixelPositionVal;
71                 },
72                 boxSizingReliable: function() {
73                         computeStyleTests();
74                         return boxSizingReliableVal;
75                 },
76                 pixelMarginRight: function() {
77                         computeStyleTests();
78                         return pixelMarginRightVal;
79                 },
80                 reliableMarginLeft: function() {
81                         computeStyleTests();
82                         return reliableMarginLeftVal;
83                 }
84         } );
85 } )();
86
87 return support;
88
89 } );