mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-11 05:25:32 +03:00
LibWeb: Propagate exceptions from setAttribute() in DOMStringMap setter
We were incorrectly assuming that setAttribute() could never fail here, even when passed an invalid name. Found by Domato.
This commit is contained in:
parent
1c00e5688d
commit
093f1dd805
Notes:
github-actions[bot]
2024-07-20 07:32:01 +00:00
Author: https://github.com/awesomekling Commit: https://github.com/LadybirdBrowser/ladybird/commit/093f1dd805f Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/721
@ -0,0 +1 @@
|
||||
Setting DOMStringMap with an invalid name key throws? true
|
@ -0,0 +1,12 @@
|
||||
<script src="../include.js"></script>
|
||||
<script>
|
||||
test(() => {
|
||||
let threw = false;
|
||||
try {
|
||||
document.body.dataset["'\uDBF8"] = "foo";
|
||||
} catch {
|
||||
threw = true;
|
||||
}
|
||||
println("Setting DOMStringMap with an invalid name key throws? " + threw);
|
||||
});
|
||||
</script>
|
@ -165,7 +165,7 @@ WebIDL::ExceptionOr<void> DOMStringMap::set_value_of_new_named_property(String c
|
||||
// FIXME: 4. If name does not match the XML Name production, throw an "InvalidCharacterError" DOMException.
|
||||
|
||||
// 5. Set an attribute value for the DOMStringMap's associated element using name and value.
|
||||
MUST(m_associated_element->set_attribute(data_name, value));
|
||||
TRY(m_associated_element->set_attribute(data_name, value));
|
||||
|
||||
return {};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user