Update formFactor -> formFactors, in accordance to the latest change in client hints spec

This commit is contained in:
Faisal Salman 2024-06-02 21:21:53 +07:00
parent 1a2ef00509
commit 8991d34e56
3 changed files with 15 additions and 15 deletions

View File

@ -42,7 +42,7 @@
USER_AGENT = 'user-agent', USER_AGENT = 'user-agent',
UA_MAX_LENGTH = 500, UA_MAX_LENGTH = 500,
BRANDS = 'brands', BRANDS = 'brands',
FORMFACTOR = 'formFactor', FORMFACTORS = 'formFactors',
FULLVERLIST = 'fullVersionList', FULLVERLIST = 'fullVersionList',
PLATFORM = 'platform', PLATFORM = 'platform',
PLATFORMVER = 'platformVersion', PLATFORMVER = 'platformVersion',
@ -51,12 +51,12 @@
CH_HEADER_FULL_VER_LIST = CH_HEADER + '-full-version-list', CH_HEADER_FULL_VER_LIST = CH_HEADER + '-full-version-list',
CH_HEADER_ARCH = CH_HEADER + '-arch', CH_HEADER_ARCH = CH_HEADER + '-arch',
CH_HEADER_BITNESS = CH_HEADER + '-' + BITNESS, CH_HEADER_BITNESS = CH_HEADER + '-' + BITNESS,
CH_HEADER_FORM_FACTOR = CH_HEADER + '-form-factor', CH_HEADER_FORM_FACTORS = CH_HEADER + '-form-factors',
CH_HEADER_MOBILE = CH_HEADER + '-' + MOBILE, CH_HEADER_MOBILE = CH_HEADER + '-' + MOBILE,
CH_HEADER_MODEL = CH_HEADER + '-' + MODEL, CH_HEADER_MODEL = CH_HEADER + '-' + MODEL,
CH_HEADER_PLATFORM = CH_HEADER + '-' + PLATFORM, CH_HEADER_PLATFORM = CH_HEADER + '-' + PLATFORM,
CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version', CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version',
CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, FORMFACTOR, BITNESS], CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, FORMFACTORS, BITNESS],
UA_BROWSER = 'browser', UA_BROWSER = 'browser',
UA_CPU = 'cpu', UA_CPU = 'cpu',
UA_DEVICE = 'device', UA_DEVICE = 'device',
@ -269,7 +269,7 @@
'RT' : 'ARM' 'RT' : 'ARM'
}, },
formFactorMap = { formFactorsMap = {
'embedded' : 'Automotive', 'embedded' : 'Automotive',
'mobile' : 'Mobile', 'mobile' : 'Mobile',
'tablet' : ['Tablet', 'EInk'], 'tablet' : ['Tablet', 'EInk'],
@ -975,7 +975,7 @@
[PLATFORM, stripQuotes(uach[CH_HEADER_PLATFORM])], [PLATFORM, stripQuotes(uach[CH_HEADER_PLATFORM])],
[PLATFORMVER, stripQuotes(uach[CH_HEADER_PLATFORM_VER])], [PLATFORMVER, stripQuotes(uach[CH_HEADER_PLATFORM_VER])],
[ARCHITECTURE, stripQuotes(uach[CH_HEADER_ARCH])], [ARCHITECTURE, stripQuotes(uach[CH_HEADER_ARCH])],
[FORMFACTOR, itemListToArray(uach[CH_HEADER_FORM_FACTOR])], [FORMFACTORS, itemListToArray(uach[CH_HEADER_FORM_FACTORS])],
[BITNESS, stripQuotes(uach[CH_HEADER_BITNESS])] [BITNESS, stripQuotes(uach[CH_HEADER_BITNESS])]
]); ]);
} else { } else {
@ -1095,15 +1095,15 @@
this.set(TYPE, CONSOLE) this.set(TYPE, CONSOLE)
.set(VENDOR, MICROSOFT); .set(VENDOR, MICROSOFT);
} }
if (uaCH[FORMFACTOR]) { if (uaCH[FORMFACTORS]) {
var ff; var ff;
if (typeof uaCH[FORMFACTOR] !== 'string') { if (typeof uaCH[FORMFACTORS] !== 'string') {
var idx = 0; var idx = 0;
while (!ff && idx < uaCH[FORMFACTOR].length) { while (!ff && idx < uaCH[FORMFACTORS].length) {
ff = strMapper(uaCH[FORMFACTOR][idx++], formFactorMap); ff = strMapper(uaCH[FORMFACTORS][idx++], formFactorsMap);
} }
} else { } else {
ff = strMapper(uaCH[FORMFACTOR], formFactorMap); ff = strMapper(uaCH[FORMFACTORS], formFactorsMap);
} }
this.set(TYPE, ff); this.set(TYPE, ff);
} }

View File

@ -463,18 +463,18 @@ describe('Map UA-CH headers', function () {
}); });
}); });
it('Can detect form-factor from client-hints', function () { it('Can detect form-factors from client-hints', function () {
const FFVR = { const FFVR = {
'sec-ch-ua-form-factor' : '"VR"' 'sec-ch-ua-form-factors' : '"VR"'
}; };
const FFEInk = { const FFEInk = {
'sec-ch-ua-form-factor' : '"Tablet", "EInk"' 'sec-ch-ua-form-factors' : '"Tablet", "EInk"'
}; };
const FFUnknown = { const FFUnknown = {
'sec-ch-ua-form-factor' : '"Unknown"' 'sec-ch-ua-form-factors' : '"Unknown"'
}; };
UAParser(FFVR).withClientHints().then(function (ua) { UAParser(FFVR).withClientHints().then(function (ua) {

View File

@ -40,7 +40,7 @@ test('read client hints data', async ({ page }) => {
} }
], ],
platform: 'New OS', platform: 'New OS',
formFactor: 'New Form Factor' formFactors: 'New Form Factor'
}); });
} }
} }