mirror of
https://github.com/Modernizr/Modernizr.git
synced 2026-01-08 23:27:59 -05:00
Added detection of type worker option and aspect ratio (#2702)
* added detection of workeroption and aspectratio css property * update aspectration.js rename workeroptions.js to workertypeoption.js update config-all.json and caniuse.js and all testcase passed * update caniuse * revert package-lock.json file * apply requested changes on both files
This commit is contained in:
36
feature-detects/css/aspectratio.js
Normal file
36
feature-detects/css/aspectratio.js
Normal file
@@ -0,0 +1,36 @@
|
||||
/*!
|
||||
{
|
||||
"name": "aspectratio css property",
|
||||
"property": "aspectratio",
|
||||
"tags": ["css aspectratio", "aspect-ratio"],
|
||||
"builderAliases": ["aspectratio"],
|
||||
"caniuse":"mdn-css_properties_aspect-ratio",
|
||||
"authors": ["Debadutta Panda"],
|
||||
"notes": [{
|
||||
"name": "MDN Docs",
|
||||
"href": "https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio"
|
||||
}]
|
||||
}
|
||||
!*/
|
||||
/* DOC
|
||||
Detect working status of all aspectratio css property
|
||||
https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio
|
||||
*/
|
||||
define(['Modernizr', 'createElement'], function (Modernizr, createElement) {
|
||||
Modernizr.addTest("aspectratio", function () {
|
||||
if (typeof CSS !== "object" && typeof CSS.supports === "function") {
|
||||
return CSS.supports('aspect-ratio', '1 / 1')
|
||||
} else {
|
||||
var element = createElement('p'),
|
||||
elStyle = element.style
|
||||
if ('aspectRatio' in elStyle) {
|
||||
elStyle.cssText = 'aspect-ratio:1 / 1'
|
||||
element.remove()
|
||||
return (elStyle['aspectRatio'] === '1 / 1');
|
||||
} else {
|
||||
element.remove();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
42
feature-detects/workers/workertypeoption.js
Normal file
42
feature-detects/workers/workertypeoption.js
Normal file
@@ -0,0 +1,42 @@
|
||||
/*!
|
||||
{
|
||||
"name": "worker type option test",
|
||||
"property": "workertypeoption",
|
||||
"caniuse":"mdn-api_worker_worker_ecmascript_modules",
|
||||
"tags": ["web worker type options", "web worker"],
|
||||
"builderAliases": ["worker_type_options"],
|
||||
"authors": ["Debadutta Panda"],
|
||||
"notes": [{
|
||||
"name": "MDN Docs",
|
||||
"href": "https://developer.mozilla.org/en-US/docs/Web/API/Worker/Worker"
|
||||
}]
|
||||
}
|
||||
!*/
|
||||
/* DOC
|
||||
Detect working status of all Workeroptions
|
||||
https://developer.mozilla.org/en-US/docs/Web/API/Worker/Worker
|
||||
*/
|
||||
define(['Modernizr'], function (Modernizr) {
|
||||
Modernizr.addTest("workertypeoption", function () {
|
||||
if ('Worker' in window) {
|
||||
var isTypeOptionSupported = false,
|
||||
textTypeOption = {
|
||||
get type() {
|
||||
isTypeOptionSupported = true;
|
||||
return "module"
|
||||
}
|
||||
},
|
||||
scriptText = `var message='hello'`,
|
||||
blob = new Blob([scriptText], { type: 'text/javascript' }),
|
||||
url = URL.createObjectURL(blob)
|
||||
try {
|
||||
new Worker(url, textTypeOption).terminate();
|
||||
return isTypeOptionSupported;
|
||||
} catch (err) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -50,6 +50,7 @@
|
||||
"css/all",
|
||||
"css/animations",
|
||||
"css/appearance",
|
||||
"css/aspectratio",
|
||||
"css/backdropfilter",
|
||||
"css/backgroundblendmode",
|
||||
"css/backgroundcliptext",
|
||||
@@ -319,6 +320,7 @@
|
||||
"window/matchmedia",
|
||||
"window/pushmanager",
|
||||
"window/resizeobserver",
|
||||
"workers/workertypeoption",
|
||||
"workers/blobworkers",
|
||||
"workers/dataworkers",
|
||||
"workers/sharedworkers",
|
||||
|
||||
@@ -66,6 +66,7 @@ window.caniusecb = function(caniuse) {
|
||||
cssvmaxunit: 'viewport-units',
|
||||
cssvminunit: 'viewport-units',
|
||||
cssvwunit: 'viewport-units',
|
||||
cssaspectratio:'mdn-css_properties_aspect-ratio',
|
||||
customelements: 'custom-elementsv1',
|
||||
customproperties: 'css-variables',
|
||||
dataset: 'dataset',
|
||||
@@ -179,6 +180,7 @@ window.caniusecb = function(caniuse) {
|
||||
websockets: 'websockets',
|
||||
websqldatabase: 'sql-storage',
|
||||
webworkers: 'webworkers',
|
||||
workertypeoption:'mdn-api_worker_worker_ecmascript_modules',
|
||||
willchange: 'will-change',
|
||||
xhr2: 'xhr2'
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user