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:
Debadutta Panda
2022-10-17 00:48:43 +05:30
committed by GitHub
parent 4d36bb24f4
commit 59ab0b3d15
4 changed files with 82 additions and 0 deletions

View 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;
}
}
});
});

View 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;
}
});
});

View File

@@ -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",

View File

@@ -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'
};