|
@@ -348,40 +348,42 @@ impl WebsysDom {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
_ => {
|
|
_ => {
|
|
-
|
|
|
|
- let bool_attrs = vec![
|
|
|
|
- "allowfullscreen",
|
|
|
|
- "allowpaymentrequest",
|
|
|
|
- "async",
|
|
|
|
- "autofocus",
|
|
|
|
- "autoplay",
|
|
|
|
- "checked",
|
|
|
|
- "controls",
|
|
|
|
- "default",
|
|
|
|
- "defer",
|
|
|
|
- "disabled",
|
|
|
|
- "formnovalidate",
|
|
|
|
- "hidden",
|
|
|
|
- "ismap",
|
|
|
|
- "itemscope",
|
|
|
|
- "loop",
|
|
|
|
- "multiple",
|
|
|
|
- "muted",
|
|
|
|
- "nomodule",
|
|
|
|
- "novalidate",
|
|
|
|
- "open",
|
|
|
|
- "playsinline",
|
|
|
|
- "readonly",
|
|
|
|
- "required",
|
|
|
|
- "reversed",
|
|
|
|
- "selected",
|
|
|
|
- "truespeed",
|
|
|
|
- ];
|
|
|
|
-
|
|
|
|
// https://github.com/facebook/react/blob/8b88ac2592c5f555f315f9440cbb665dd1e7457a/packages/react-dom/src/shared/DOMProperty.js#L352-L364
|
|
// https://github.com/facebook/react/blob/8b88ac2592c5f555f315f9440cbb665dd1e7457a/packages/react-dom/src/shared/DOMProperty.js#L352-L364
|
|
- if value == "false" && bool_attrs.contains(&name) {
|
|
|
|
|
|
+ if value == "false" {
|
|
if let Some(el) = node.dyn_ref::<Element>() {
|
|
if let Some(el) = node.dyn_ref::<Element>() {
|
|
- let _ = el.remove_attribute(name);
|
|
|
|
|
|
+ match name {
|
|
|
|
+ "allowfullscreen"
|
|
|
|
+ | "allowpaymentrequest"
|
|
|
|
+ | "async"
|
|
|
|
+ | "autofocus"
|
|
|
|
+ | "autoplay"
|
|
|
|
+ | "checked"
|
|
|
|
+ | "controls"
|
|
|
|
+ | "default"
|
|
|
|
+ | "defer"
|
|
|
|
+ | "disabled"
|
|
|
|
+ | "formnovalidate"
|
|
|
|
+ | "hidden"
|
|
|
|
+ | "ismap"
|
|
|
|
+ | "itemscope"
|
|
|
|
+ | "loop"
|
|
|
|
+ | "multiple"
|
|
|
|
+ | "muted"
|
|
|
|
+ | "nomodule"
|
|
|
|
+ | "novalidate"
|
|
|
|
+ | "open"
|
|
|
|
+ | "playsinline"
|
|
|
|
+ | "readonly"
|
|
|
|
+ | "required"
|
|
|
|
+ | "reversed"
|
|
|
|
+ | "selected"
|
|
|
|
+ | "truespeed" => {
|
|
|
|
+ let _ = el.remove_attribute(name);
|
|
|
|
+ }
|
|
|
|
+ _ => {
|
|
|
|
+ let _ = el.set_attribute(name, value);
|
|
|
|
+ }
|
|
|
|
+ };
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
fallback();
|
|
fallback();
|