|
|
|
@ -23,47 +23,56 @@ const whitelist_attribute_selector = new Map([
|
|
|
|
]);
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* HTML attributes whose enumerated values are case-insensitive per the HTML spec.
|
|
|
|
* Attribute values that CSS attribute selectors match ASCII case-insensitively in HTML documents.
|
|
|
|
* CSS attribute selectors match these values case-insensitively in HTML documents.
|
|
|
|
|
|
|
|
* @see {@link https://html.spec.whatwg.org/multipage/semantics-other.html#case-sensitivity-of-selectors HTML spec}
|
|
|
|
* @see {@link https://html.spec.whatwg.org/multipage/semantics-other.html#case-sensitivity-of-selectors HTML spec}
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
const case_insensitive_attributes = new Set([
|
|
|
|
const case_insensitive_attributes = new Set([
|
|
|
|
|
|
|
|
'accept',
|
|
|
|
'accept-charset',
|
|
|
|
'accept-charset',
|
|
|
|
'autocapitalize',
|
|
|
|
'align',
|
|
|
|
'autocomplete',
|
|
|
|
'alink',
|
|
|
|
'behavior',
|
|
|
|
'axis',
|
|
|
|
|
|
|
|
'bgcolor',
|
|
|
|
'charset',
|
|
|
|
'charset',
|
|
|
|
'crossorigin',
|
|
|
|
'checked',
|
|
|
|
'decoding',
|
|
|
|
'clear',
|
|
|
|
|
|
|
|
'codetype',
|
|
|
|
|
|
|
|
'color',
|
|
|
|
|
|
|
|
'compact',
|
|
|
|
|
|
|
|
'declare',
|
|
|
|
|
|
|
|
'defer',
|
|
|
|
'dir',
|
|
|
|
'dir',
|
|
|
|
'direction',
|
|
|
|
'direction',
|
|
|
|
'draggable',
|
|
|
|
'disabled',
|
|
|
|
'enctype',
|
|
|
|
'enctype',
|
|
|
|
'enterkeyhint',
|
|
|
|
'face',
|
|
|
|
'fetchpriority',
|
|
|
|
'frame',
|
|
|
|
'formenctype',
|
|
|
|
'hreflang',
|
|
|
|
'formmethod',
|
|
|
|
|
|
|
|
'formtarget',
|
|
|
|
|
|
|
|
'hidden',
|
|
|
|
|
|
|
|
'http-equiv',
|
|
|
|
'http-equiv',
|
|
|
|
'inputmode',
|
|
|
|
'lang',
|
|
|
|
'kind',
|
|
|
|
'language',
|
|
|
|
'loading',
|
|
|
|
'link',
|
|
|
|
|
|
|
|
'media',
|
|
|
|
'method',
|
|
|
|
'method',
|
|
|
|
'preload',
|
|
|
|
'multiple',
|
|
|
|
'referrerpolicy',
|
|
|
|
'nohref',
|
|
|
|
|
|
|
|
'noresize',
|
|
|
|
|
|
|
|
'noshade',
|
|
|
|
|
|
|
|
'nowrap',
|
|
|
|
|
|
|
|
'readonly',
|
|
|
|
'rel',
|
|
|
|
'rel',
|
|
|
|
'rev',
|
|
|
|
'rev',
|
|
|
|
'role',
|
|
|
|
|
|
|
|
'rules',
|
|
|
|
'rules',
|
|
|
|
'scope',
|
|
|
|
'scope',
|
|
|
|
|
|
|
|
'scrolling',
|
|
|
|
|
|
|
|
'selected',
|
|
|
|
'shape',
|
|
|
|
'shape',
|
|
|
|
'spellcheck',
|
|
|
|
|
|
|
|
'target',
|
|
|
|
'target',
|
|
|
|
'translate',
|
|
|
|
'text',
|
|
|
|
'type',
|
|
|
|
'type',
|
|
|
|
'valign',
|
|
|
|
'valign',
|
|
|
|
'wrap'
|
|
|
|
'valuetype',
|
|
|
|
|
|
|
|
'vlink'
|
|
|
|
]);
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
|
|
/** @type {Compiler.AST.CSS.Combinator} */
|
|
|
|
/** @type {Compiler.AST.CSS.Combinator} */
|
|
|
|
|