diff options
author | Anthony Ramine <nox@nox.paris> | 2020-03-31 18:46:49 +0200 |
---|---|---|
committer | Anthony Ramine <nox@nox.paris> | 2020-03-31 18:46:49 +0200 |
commit | 5ff931d1717ac0e7a6e5d9d63f0cfa47c1f3cd50 (patch) | |
tree | 920e4e9ef442fa5091834d70f31086c3ccfcf21f /components/script/dom/htmlhrelement.rs | |
parent | 0bda1748230b4d54c274a014d770daf461fec50f (diff) | |
download | servo-5ff931d1717ac0e7a6e5d9d63f0cfa47c1f3cd50.tar.gz servo-5ff931d1717ac0e7a6e5d9d63f0cfa47c1f3cd50.zip |
Introduce <LayoutDom<Element>>::attrs()
This safe method is the basic block to access element attributes from layout.
We reuse it in the other attr-related layout methods to remove a pretty big
source of rampant unsafe code between script and layout.
Diffstat (limited to 'components/script/dom/htmlhrelement.rs')
-rw-r--r-- | components/script/dom/htmlhrelement.rs | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/components/script/dom/htmlhrelement.rs b/components/script/dom/htmlhrelement.rs index 9be680b9043..69fa8887bb1 100644 --- a/components/script/dom/htmlhrelement.rs +++ b/components/script/dom/htmlhrelement.rs @@ -71,25 +71,19 @@ pub trait HTMLHRLayoutHelpers { } impl HTMLHRLayoutHelpers for LayoutDom<'_, HTMLHRElement> { - #[allow(unsafe_code)] fn get_color(self) -> Option<RGBA> { - unsafe { - self.upcast::<Element>() - .get_attr_for_layout(&ns!(), &local_name!("color")) - .and_then(AttrValue::as_color) - .cloned() - } + self.upcast::<Element>() + .get_attr_for_layout(&ns!(), &local_name!("color")) + .and_then(AttrValue::as_color) + .cloned() } - #[allow(unsafe_code)] fn get_width(self) -> LengthOrPercentageOrAuto { - unsafe { - self.upcast::<Element>() - .get_attr_for_layout(&ns!(), &local_name!("width")) - .map(AttrValue::as_dimension) - .cloned() - .unwrap_or(LengthOrPercentageOrAuto::Auto) - } + self.upcast::<Element>() + .get_attr_for_layout(&ns!(), &local_name!("width")) + .map(AttrValue::as_dimension) + .cloned() + .unwrap_or(LengthOrPercentageOrAuto::Auto) } } |