mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Makes setting negative values to maxLength throw an IndexSize exception
This commit is contained in:
parent
51ca659f8a
commit
9668500e97
7 changed files with 75 additions and 15 deletions
|
@ -26,6 +26,26 @@ macro_rules! make_bool_getter(
|
|||
);
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! make_limited_int_setter(
|
||||
($attr:ident, $htmlname:tt, $default:expr) => (
|
||||
fn $attr(&self, value: i32) -> $crate::dom::bindings::error::ErrorResult {
|
||||
use dom::bindings::inheritance::Castable;
|
||||
use dom::element::Element;
|
||||
|
||||
let value = if value < 0 {
|
||||
return Err($crate::dom::bindings::error::Error::IndexSize);
|
||||
} else {
|
||||
value
|
||||
};
|
||||
|
||||
let element = self.upcast::<Element>();
|
||||
element.set_int_attribute(&atom!($htmlname), value);
|
||||
Ok(())
|
||||
}
|
||||
);
|
||||
);
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! make_int_getter(
|
||||
($attr:ident, $htmlname:tt, $default:expr) => (
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue