aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/element.rs
diff options
context:
space:
mode:
authorAnthony Ramine <nox@nox.paris>2020-03-31 18:30:42 +0200
committerAnthony Ramine <nox@nox.paris>2020-03-31 18:30:42 +0200
commit0bda1748230b4d54c274a014d770daf461fec50f (patch)
tree73109765d2928227616aadb19c9ef8f5648e06cf /components/script/dom/element.rs
parent3b504148d5d4fef9f651e73df90ad8c9e9fb09a5 (diff)
downloadservo-0bda1748230b4d54c274a014d770daf461fec50f.tar.gz
servo-0bda1748230b4d54c274a014d770daf461fec50f.zip
Merge RawLayoutElementHelpers into LayoutElementHelpers
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r--components/script/dom/element.rs55
1 files changed, 27 insertions, 28 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index 3acbd647107..add49150a27 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -595,21 +595,20 @@ pub trait LayoutElementHelpers<'dom> {
/// The shadow root this element is a host of.
#[allow(unsafe_code)]
unsafe fn get_shadow_root_for_layout(self) -> Option<LayoutDom<'dom, ShadowRoot>>;
-}
-
-#[allow(unsafe_code)]
-pub trait RawLayoutElementHelpers {
- unsafe fn get_attr_for_layout<'a>(
- &'a self,
+ #[allow(unsafe_code)]
+ unsafe fn get_attr_for_layout(
+ self,
namespace: &Namespace,
name: &LocalName,
- ) -> Option<&'a AttrValue>;
- unsafe fn get_attr_val_for_layout<'a>(
- &'a self,
+ ) -> Option<&'dom AttrValue>;
+ #[allow(unsafe_code)]
+ unsafe fn get_attr_val_for_layout(
+ self,
namespace: &Namespace,
name: &LocalName,
- ) -> Option<&'a str>;
- unsafe fn get_attr_vals_for_layout<'a>(&'a self, name: &LocalName) -> Vec<&'a AttrValue>;
+ ) -> Option<&'dom str>;
+ #[allow(unsafe_code)]
+ unsafe fn get_attr_vals_for_layout(self, name: &LocalName) -> Vec<&'dom AttrValue>;
}
impl<'dom> LayoutElementHelpers<'dom> for LayoutDom<'dom, Element> {
@@ -765,7 +764,7 @@ impl<'dom> LayoutElementHelpers<'dom> for LayoutDom<'dom, Element> {
let size = if let Some(this) = self.downcast::<HTMLInputElement>() {
// FIXME(pcwalton): More use of atoms, please!
- match (*self.unsafe_get()).get_attr_val_for_layout(&ns!(), &local_name!("type")) {
+ match self.get_attr_val_for_layout(&ns!(), &local_name!("type")) {
// Not text entry widget
Some("hidden") |
Some("date") |
@@ -1012,15 +1011,15 @@ impl<'dom> LayoutElementHelpers<'dom> for LayoutDom<'dom, Element> {
let mut current_node = Some(self.upcast::<Node>());
while let Some(node) = current_node {
current_node = node.composed_parent_node_ref();
- match node.downcast::<Element>().map(|el| el.unsafe_get()) {
+ match node.downcast::<Element>() {
Some(elem) => {
if let Some(attr) =
- (*elem).get_attr_val_for_layout(&ns!(xml), &local_name!("lang"))
+ elem.get_attr_val_for_layout(&ns!(xml), &local_name!("lang"))
{
return attr.to_owned();
}
if let Some(attr) =
- (*elem).get_attr_val_for_layout(&ns!(), &local_name!("lang"))
+ elem.get_attr_val_for_layout(&ns!(), &local_name!("lang"))
{
return attr.to_owned();
}
@@ -1066,31 +1065,31 @@ impl<'dom> LayoutElementHelpers<'dom> for LayoutDom<'dom, Element> {
.as_ref()
.map(|sr| sr.to_layout())
}
-}
-#[allow(unsafe_code)]
-impl RawLayoutElementHelpers for Element {
+ #[allow(unsafe_code)]
#[inline]
- unsafe fn get_attr_for_layout<'a>(
- &'a self,
+ unsafe fn get_attr_for_layout(
+ self,
namespace: &Namespace,
name: &LocalName,
- ) -> Option<&'a AttrValue> {
- get_attr_for_layout(self, namespace, name).map(|attr| attr.value())
+ ) -> Option<&'dom AttrValue> {
+ get_attr_for_layout(self.unsafe_get(), namespace, name).map(|attr| attr.value())
}
+ #[allow(unsafe_code)]
#[inline]
- unsafe fn get_attr_val_for_layout<'a>(
- &'a self,
+ unsafe fn get_attr_val_for_layout(
+ self,
namespace: &Namespace,
name: &LocalName,
- ) -> Option<&'a str> {
- get_attr_for_layout(self, namespace, name).map(|attr| attr.as_str())
+ ) -> Option<&'dom str> {
+ get_attr_for_layout(self.unsafe_get(), namespace, name).map(|attr| attr.as_str())
}
+ #[allow(unsafe_code)]
#[inline]
- unsafe fn get_attr_vals_for_layout<'a>(&'a self, name: &LocalName) -> Vec<&'a AttrValue> {
- let attrs = self.attrs.borrow_for_layout();
+ unsafe fn get_attr_vals_for_layout(self, name: &LocalName) -> Vec<&'dom AttrValue> {
+ let attrs = self.unsafe_get().attrs.borrow_for_layout();
attrs
.iter()
.filter_map(|attr| {