This repository was archived by the owner on Feb 11, 2021. It is now read-only.
File tree 1 file changed +26
-13
lines changed
1 file changed +26
-13
lines changed Original file line number Diff line number Diff line change 5
5
*/
6
6
( function ( ) {
7
7
function shadowSelector ( v ) {
8
- return 'body ^^ ' + selector ( v ) ;
8
+ return 'body /shadow-deep/ ' + selector ( v ) ;
9
9
}
10
10
function selector ( v ) {
11
11
return '[touch-action="' + v + '"]' ;
27
27
}
28
28
] ;
29
29
var styles = '' ;
30
- attrib2css . forEach ( function ( r ) {
31
- if ( String ( r ) === r ) {
32
- styles += selector ( r ) + rule ( r ) + '\n' ;
33
- styles += shadowSelector ( r ) + rule ( r ) + '\n' ;
34
- } else {
35
- styles += r . selectors . map ( selector ) + rule ( r . rule ) + '\n' ;
36
- styles += r . selectors . map ( shadowSelector ) + rule ( r . rule ) + '\n' ;
37
- }
38
- } ) ;
39
- var el = document . createElement ( 'style' ) ;
40
- el . textContent = styles ;
41
- document . head . appendChild ( el ) ;
30
+ // only install stylesheet if the browser has touch action support
31
+ var head = document . head ;
32
+ var hasNativePE = window . PointerEvent || window . MSPointerEvent ;
33
+ // only add shadow selectors if shadowdom is supported
34
+ var hasShadowRoot = ! window . ShadowDOMPolyfill && document . head . createShadowRoot ;
35
+
36
+ if ( hasNativePE ) {
37
+ attrib2css . forEach ( function ( r ) {
38
+ if ( String ( r ) === r ) {
39
+ styles += selector ( r ) + rule ( r ) + '\n' ;
40
+ if ( hasShadowRoot ) {
41
+ styles += shadowSelector ( r ) + rule ( r ) + '\n' ;
42
+ }
43
+ } else {
44
+ styles += r . selectors . map ( selector ) + rule ( r . rule ) + '\n' ;
45
+ if ( hasShadowRoot ) {
46
+ styles += r . selectors . map ( shadowSelector ) + rule ( r . rule ) + '\n' ;
47
+ }
48
+ }
49
+ } ) ;
50
+
51
+ var el = document . createElement ( 'style' ) ;
52
+ el . textContent = styles ;
53
+ document . head . appendChild ( el ) ;
54
+ }
42
55
} ) ( ) ;
You can’t perform that action at this time.
0 commit comments