OSDN Git Service

Modify the dependency on path
[bytom/vapor.git] / tools / side_chain_tool / web / node_modules / 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                 container.style.cssText = "position:absolute;left:-11111px;width:60px;" +
22                         "margin-top:1px;padding:0;border:0";
23                 div.style.cssText =
24                         "position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
25                         "margin:auto;border:1px;padding:1px;" +
26                         "width:60%;top:1%";
27                 documentElement.appendChild( container ).appendChild( div );
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 = roundPixelMeasures( divStyle.marginLeft ) === 12;
34
35                 // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
36                 // Some styles come back with percentage values, even though they shouldn't
37                 div.style.right = "60%";
38                 pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;
39
40                 // Support: IE 9 - 11 only
41                 // Detect misreporting of content dimensions for box-sizing:border-box elements
42                 boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;
43
44                 // Support: IE 9 only
45                 // Detect overflow:scroll screwiness (gh-3699)
46                 div.style.position = "absolute";
47                 scrollboxSizeVal = div.offsetWidth === 36 || "absolute";
48
49                 documentElement.removeChild( container );
50
51                 // Nullify the div so it wouldn't be stored in the memory and
52                 // it will also be a sign that checks already performed
53                 div = null;
54         }
55
56         function roundPixelMeasures( measure ) {
57                 return Math.round( parseFloat( measure ) );
58         }
59
60         var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
61                 reliableMarginLeftVal,
62                 container = document.createElement( "div" ),
63                 div = document.createElement( "div" );
64
65         // Finish early in limited (non-browser) environments
66         if ( !div.style ) {
67                 return;
68         }
69
70         // Support: IE <=9 - 11 only
71         // Style of cloned element affects source element cloned (#8908)
72         div.style.backgroundClip = "content-box";
73         div.cloneNode( true ).style.backgroundClip = "";
74         support.clearCloneStyle = div.style.backgroundClip === "content-box";
75
76         jQuery.extend( support, {
77                 boxSizingReliable: function() {
78                         computeStyleTests();
79                         return boxSizingReliableVal;
80                 },
81                 pixelBoxStyles: function() {
82                         computeStyleTests();
83                         return pixelBoxStylesVal;
84                 },
85                 pixelPosition: function() {
86                         computeStyleTests();
87                         return pixelPositionVal;
88                 },
89                 reliableMarginLeft: function() {
90                         computeStyleTests();
91                         return reliableMarginLeftVal;
92                 },
93                 scrollboxSize: function() {
94                         computeStyleTests();
95                         return scrollboxSizeVal;
96                 }
97         } );
98 } )();
99
100 return support;
101
102 } );