|
@@ -349,9 +349,41 @@ impl WebsysDom {
|
|
|
}
|
|
|
_ => {
|
|
|
// https://github.com/facebook/react/blob/8b88ac2592c5f555f315f9440cbb665dd1e7457a/packages/react-dom/src/shared/DOMProperty.js#L352-L364
|
|
|
- if value == "false" && ((name != "capture") && (name != "download")) {
|
|
|
+ if value == "false" {
|
|
|
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 {
|
|
|
fallback();
|