pull/14369/head
Dominic Gannaway 2 years ago
parent dd305582b9
commit b8eb68fc03

@ -6,7 +6,7 @@
import { escape_html } from '../../../../../escaping.js';
import {
is_boolean_attribute,
get_dom_property,
is_dom_property,
is_load_error_element,
is_void
} from '../../../../../utils.js';
@ -557,11 +557,8 @@ function build_element_attribute_update_assignment(element, node_id, attribute,
update = b.stmt(b.call('$.set_value', node_id, value));
} else if (name === 'checked') {
update = b.stmt(b.call('$.set_checked', node_id, value));
} else {
const dom_property = get_dom_property(name);
if (dom_property) {
update = b.stmt(b.assignment('=', b.member(node_id, dom_property), value));
} else if (is_dom_property(name)) {
update = b.stmt(b.assignment('=', b.member(node_id, name), value));
} else {
if (name === 'style' && attribute.metadata.expression.has_state && has_call) {
// ensure we're not creating a separate template effect for this so that
@ -582,7 +579,6 @@ function build_element_attribute_update_assignment(element, node_id, attribute,
)
);
}
}
if (attribute.metadata.expression.has_state) {
if (has_call) {

@ -192,7 +192,8 @@ const ATTRIBUTE_ALIASES = {
ismap: 'isMap',
nomodule: 'noModule',
playsinline: 'playsInline',
readonly: 'readOnly'
readonly: 'readOnly',
srcobject: 'srcObject'
};
/**
@ -216,20 +217,11 @@ const DOM_PROPERTIES = [
'srcObject'
];
/** @type {Map<string, string>} */
let DOM_PROPERTIES_MAP;
/**
* @param {string} name
* @returns {string | undefined}
*/
export function get_dom_property(name) {
if (!DOM_PROPERTIES_MAP) {
DOM_PROPERTIES_MAP = new Map(
DOM_PROPERTIES.map((property) => [property.toLowerCase(), property])
);
}
return DOM_PROPERTIES_MAP.get(name);
export function is_dom_property(name) {
return DOM_PROPERTIES.includes(name);
}
/**

Loading…
Cancel
Save