aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/layout_thread/dom_wrapper.rs18
-rw-r--r--components/layout_thread_2020/dom_wrapper.rs18
-rw-r--r--components/script/dom/element.rs55
-rw-r--r--components/script/dom/htmlbodyelement.rs8
-rw-r--r--components/script/dom/htmlcanvaselement.rs13
-rw-r--r--components/script/dom/htmlfontelement.rs8
-rw-r--r--components/script/dom/htmlhrelement.rs6
-rw-r--r--components/script/dom/htmliframeelement.rs6
-rw-r--r--components/script/dom/htmlimageelement.rs6
-rwxr-xr-xcomponents/script/dom/htmlinputelement.rs5
-rw-r--r--components/script/dom/htmltablecellelement.rs10
-rw-r--r--components/script/dom/htmltableelement.rs6
-rw-r--r--components/script/dom/htmltablerowelement.rs4
-rw-r--r--components/script/dom/htmltablesectionelement.rs4
-rwxr-xr-xcomponents/script/dom/htmltextareaelement.rs6
-rw-r--r--components/script/dom/svgsvgelement.rs8
-rw-r--r--components/script/lib.rs2
17 files changed, 86 insertions, 97 deletions
diff --git a/components/layout_thread/dom_wrapper.rs b/components/layout_thread/dom_wrapper.rs
index e3197c8e78a..adb1a915d57 100644
--- a/components/layout_thread/dom_wrapper.rs
+++ b/components/layout_thread/dom_wrapper.rs
@@ -48,7 +48,6 @@ use script::layout_exports::{Document, Element, Node, Text};
use script::layout_exports::{LayoutCharacterDataHelpers, LayoutDocumentHelpers};
use script::layout_exports::{
LayoutDom, LayoutElementHelpers, LayoutNodeHelpers, LayoutShadowRootHelpers,
- RawLayoutElementHelpers,
};
use script_layout_interface::wrapper_traits::{
DangerousThreadSafeLayoutNode, GetLayoutData, LayoutNode,
@@ -699,12 +698,12 @@ impl<'le> ServoLayoutElement<'le> {
#[inline]
fn get_attr_enum(&self, namespace: &Namespace, name: &LocalName) -> Option<&AttrValue> {
- unsafe { (*self.element.unsafe_get()).get_attr_for_layout(namespace, name) }
+ unsafe { self.element.get_attr_for_layout(namespace, name) }
}
#[inline]
fn get_attr(&self, namespace: &Namespace, name: &LocalName) -> Option<&str> {
- unsafe { (*self.element.unsafe_get()).get_attr_val_for_layout(namespace, name) }
+ unsafe { self.element.get_attr_val_for_layout(namespace, name) }
}
fn get_style_data(&self) -> Option<&StyleData> {
@@ -807,8 +806,7 @@ impl<'le> ::selectors::Element for ServoLayoutElement<'le> {
.get_attr_enum(ns, local_name)
.map_or(false, |value| value.eval_selector(operation)),
NamespaceConstraint::Any => {
- let values =
- unsafe { (*self.element.unsafe_get()).get_attr_vals_for_layout(local_name) };
+ let values = unsafe { self.element.get_attr_vals_for_layout(local_name) };
values.iter().any(|value| value.eval_selector(operation))
},
}
@@ -881,7 +879,8 @@ impl<'le> ::selectors::Element for ServoLayoutElement<'le> {
NonTSPseudoClass::Lang(ref lang) => self.match_element_lang(None, &*lang),
NonTSPseudoClass::ServoNonZeroBorder => unsafe {
- match (*self.element.unsafe_get())
+ match self
+ .element
.get_attr_for_layout(&ns!(), &local_name!("border"))
{
None | Some(&AttrValue::UInt(_, 0)) => false,
@@ -924,7 +923,8 @@ impl<'le> ::selectors::Element for ServoLayoutElement<'le> {
)) |
NodeTypeId::Element(ElementTypeId::HTMLElement(
HTMLElementTypeId::HTMLLinkElement,
- )) => (*self.element.unsafe_get())
+ )) => self
+ .element
.get_attr_val_for_layout(&ns!(), &local_name!("href"))
.is_some(),
_ => false,
@@ -1440,9 +1440,7 @@ impl<'le> ::selectors::Element for ServoThreadSafeLayoutElement<'le> {
.get_attr_enum(ns, local_name)
.map_or(false, |value| value.eval_selector(operation)),
NamespaceConstraint::Any => {
- let values = unsafe {
- (*self.element.element.unsafe_get()).get_attr_vals_for_layout(local_name)
- };
+ let values = unsafe { self.element.element.get_attr_vals_for_layout(local_name) };
values.iter().any(|v| v.eval_selector(operation))
},
}
diff --git a/components/layout_thread_2020/dom_wrapper.rs b/components/layout_thread_2020/dom_wrapper.rs
index 7d57d7f511e..3bfc5abbfea 100644
--- a/components/layout_thread_2020/dom_wrapper.rs
+++ b/components/layout_thread_2020/dom_wrapper.rs
@@ -48,7 +48,6 @@ use script::layout_exports::{Document, Element, Node, Text};
use script::layout_exports::{LayoutCharacterDataHelpers, LayoutDocumentHelpers};
use script::layout_exports::{
LayoutDom, LayoutElementHelpers, LayoutNodeHelpers, LayoutShadowRootHelpers,
- RawLayoutElementHelpers,
};
use script_layout_interface::wrapper_traits::{
DangerousThreadSafeLayoutNode, GetLayoutData, LayoutNode,
@@ -706,12 +705,12 @@ impl<'le> ServoLayoutElement<'le> {
#[inline]
fn get_attr_enum(&self, namespace: &Namespace, name: &LocalName) -> Option<&AttrValue> {
- unsafe { (*self.element.unsafe_get()).get_attr_for_layout(namespace, name) }
+ unsafe { self.element.get_attr_for_layout(namespace, name) }
}
#[inline]
fn get_attr(&self, namespace: &Namespace, name: &LocalName) -> Option<&str> {
- unsafe { (*self.element.unsafe_get()).get_attr_val_for_layout(namespace, name) }
+ unsafe { self.element.get_attr_val_for_layout(namespace, name) }
}
fn get_style_data(&self) -> Option<&StyleData> {
@@ -814,8 +813,7 @@ impl<'le> ::selectors::Element for ServoLayoutElement<'le> {
.get_attr_enum(ns, local_name)
.map_or(false, |value| value.eval_selector(operation)),
NamespaceConstraint::Any => {
- let values =
- unsafe { (*self.element.unsafe_get()).get_attr_vals_for_layout(local_name) };
+ let values = unsafe { self.element.get_attr_vals_for_layout(local_name) };
values.iter().any(|value| value.eval_selector(operation))
},
}
@@ -888,7 +886,8 @@ impl<'le> ::selectors::Element for ServoLayoutElement<'le> {
NonTSPseudoClass::Lang(ref lang) => self.match_element_lang(None, &*lang),
NonTSPseudoClass::ServoNonZeroBorder => unsafe {
- match (*self.element.unsafe_get())
+ match self
+ .element
.get_attr_for_layout(&ns!(), &local_name!("border"))
{
None | Some(&AttrValue::UInt(_, 0)) => false,
@@ -931,7 +930,8 @@ impl<'le> ::selectors::Element for ServoLayoutElement<'le> {
)) |
NodeTypeId::Element(ElementTypeId::HTMLElement(
HTMLElementTypeId::HTMLLinkElement,
- )) => (*self.element.unsafe_get())
+ )) => self
+ .element
.get_attr_val_for_layout(&ns!(), &local_name!("href"))
.is_some(),
_ => false,
@@ -1447,9 +1447,7 @@ impl<'le> ::selectors::Element for ServoThreadSafeLayoutElement<'le> {
.get_attr_enum(ns, local_name)
.map_or(false, |value| value.eval_selector(operation)),
NamespaceConstraint::Any => {
- let values = unsafe {
- (*self.element.element.unsafe_get()).get_attr_vals_for_layout(local_name)
- };
+ let values = unsafe { self.element.element.get_attr_vals_for_layout(local_name) };
values.iter().any(|v| v.eval_selector(operation))
},
}
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| {
diff --git a/components/script/dom/htmlbodyelement.rs b/components/script/dom/htmlbodyelement.rs
index 1d9d2dc69b8..4bf835cbee9 100644
--- a/components/script/dom/htmlbodyelement.rs
+++ b/components/script/dom/htmlbodyelement.rs
@@ -9,7 +9,7 @@ use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::root::{DomRoot, LayoutDom};
use crate::dom::bindings::str::DOMString;
use crate::dom::document::Document;
-use crate::dom::element::{AttributeMutation, Element, RawLayoutElementHelpers};
+use crate::dom::element::{AttributeMutation, Element, LayoutElementHelpers};
use crate::dom::eventtarget::EventTarget;
use crate::dom::htmlelement::HTMLElement;
use crate::dom::node::{document_from_node, window_from_node, BindContext, Node};
@@ -103,7 +103,7 @@ impl HTMLBodyElementLayoutHelpers for LayoutDom<'_, HTMLBodyElement> {
#[allow(unsafe_code)]
fn get_background_color(self) -> Option<RGBA> {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("bgcolor"))
.and_then(AttrValue::as_color)
.cloned()
@@ -113,7 +113,7 @@ impl HTMLBodyElementLayoutHelpers for LayoutDom<'_, HTMLBodyElement> {
#[allow(unsafe_code)]
fn get_color(self) -> Option<RGBA> {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("text"))
.and_then(AttrValue::as_color)
.cloned()
@@ -123,7 +123,7 @@ impl HTMLBodyElementLayoutHelpers for LayoutDom<'_, HTMLBodyElement> {
#[allow(unsafe_code)]
fn get_background(self) -> Option<ServoUrl> {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("background"))
.and_then(AttrValue::as_resolved_url)
.cloned()
diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs
index c230eb77337..dda0f0b1536 100644
--- a/components/script/dom/htmlcanvaselement.rs
+++ b/components/script/dom/htmlcanvaselement.rs
@@ -18,7 +18,7 @@ use crate::dom::canvasrenderingcontext2d::{
CanvasRenderingContext2D, LayoutCanvasRenderingContext2DHelpers,
};
use crate::dom::document::Document;
-use crate::dom::element::{AttributeMutation, Element, RawLayoutElementHelpers};
+use crate::dom::element::{AttributeMutation, Element, LayoutElementHelpers};
use crate::dom::globalscope::GlobalScope;
use crate::dom::htmlelement::HTMLElement;
use crate::dom::node::{window_from_node, Node};
@@ -124,8 +124,7 @@ impl LayoutHTMLCanvasElementHelpers for LayoutDom<'_, HTMLCanvasElement> {
#[allow(unsafe_code)]
fn data(self) -> HTMLCanvasData {
unsafe {
- let canvas = &*self.unsafe_get();
- let source = match canvas.context.borrow_for_layout().as_ref() {
+ let source = match self.unsafe_get().context.borrow_for_layout().as_ref() {
Some(&CanvasContext::Context2d(ref context)) => {
HTMLCanvasDataSource::Image(Some(context.to_layout().get_ipc_renderer()))
},
@@ -138,10 +137,10 @@ impl LayoutHTMLCanvasElementHelpers for LayoutDom<'_, HTMLCanvasElement> {
None => HTMLCanvasDataSource::Image(None),
};
- let width_attr = canvas
+ let width_attr = self
.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("width"));
- let height_attr = canvas
+ let height_attr = self
.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("height"));
HTMLCanvasData {
@@ -156,7 +155,7 @@ impl LayoutHTMLCanvasElementHelpers for LayoutDom<'_, HTMLCanvasElement> {
#[allow(unsafe_code)]
fn get_width(self) -> LengthOrPercentageOrAuto {
unsafe {
- (&*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("width"))
.map(AttrValue::as_uint_px_dimension)
.unwrap_or(LengthOrPercentageOrAuto::Auto)
@@ -166,7 +165,7 @@ impl LayoutHTMLCanvasElementHelpers for LayoutDom<'_, HTMLCanvasElement> {
#[allow(unsafe_code)]
fn get_height(self) -> LengthOrPercentageOrAuto {
unsafe {
- (&*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("height"))
.map(AttrValue::as_uint_px_dimension)
.unwrap_or(LengthOrPercentageOrAuto::Auto)
diff --git a/components/script/dom/htmlfontelement.rs b/components/script/dom/htmlfontelement.rs
index 5dbb8fb1bff..fd40c6907f4 100644
--- a/components/script/dom/htmlfontelement.rs
+++ b/components/script/dom/htmlfontelement.rs
@@ -8,7 +8,7 @@ use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::root::{DomRoot, LayoutDom};
use crate::dom::bindings::str::DOMString;
use crate::dom::document::Document;
-use crate::dom::element::{Element, RawLayoutElementHelpers};
+use crate::dom::element::{Element, LayoutElementHelpers};
use crate::dom::htmlelement::HTMLElement;
use crate::dom::node::Node;
use crate::dom::virtualmethods::VirtualMethods;
@@ -110,7 +110,7 @@ impl HTMLFontElementLayoutHelpers for LayoutDom<'_, HTMLFontElement> {
#[allow(unsafe_code)]
fn get_color(self) -> Option<RGBA> {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("color"))
.and_then(AttrValue::as_color)
.cloned()
@@ -120,7 +120,7 @@ impl HTMLFontElementLayoutHelpers for LayoutDom<'_, HTMLFontElement> {
#[allow(unsafe_code)]
fn get_face(self) -> Option<Atom> {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("face"))
.map(AttrValue::as_atom)
.cloned()
@@ -130,7 +130,7 @@ impl HTMLFontElementLayoutHelpers for LayoutDom<'_, HTMLFontElement> {
#[allow(unsafe_code)]
fn get_size(self) -> Option<u32> {
let size = unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("size"))
};
match size {
diff --git a/components/script/dom/htmlhrelement.rs b/components/script/dom/htmlhrelement.rs
index 4f4e7fc1c13..9be680b9043 100644
--- a/components/script/dom/htmlhrelement.rs
+++ b/components/script/dom/htmlhrelement.rs
@@ -7,7 +7,7 @@ use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::root::{DomRoot, LayoutDom};
use crate::dom::bindings::str::DOMString;
use crate::dom::document::Document;
-use crate::dom::element::{Element, RawLayoutElementHelpers};
+use crate::dom::element::{Element, LayoutElementHelpers};
use crate::dom::htmlelement::HTMLElement;
use crate::dom::node::Node;
use crate::dom::virtualmethods::VirtualMethods;
@@ -74,7 +74,7 @@ impl HTMLHRLayoutHelpers for LayoutDom<'_, HTMLHRElement> {
#[allow(unsafe_code)]
fn get_color(self) -> Option<RGBA> {
unsafe {
- (&*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("color"))
.and_then(AttrValue::as_color)
.cloned()
@@ -84,7 +84,7 @@ impl HTMLHRLayoutHelpers for LayoutDom<'_, HTMLHRElement> {
#[allow(unsafe_code)]
fn get_width(self) -> LengthOrPercentageOrAuto {
unsafe {
- (&*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("width"))
.map(AttrValue::as_dimension)
.cloned()
diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs
index 7b8c89bebf9..7b98f57a524 100644
--- a/components/script/dom/htmliframeelement.rs
+++ b/components/script/dom/htmliframeelement.rs
@@ -14,7 +14,7 @@ use crate::dom::bindings::root::{DomRoot, LayoutDom, MutNullableDom};
use crate::dom::bindings::str::{DOMString, USVString};
use crate::dom::document::Document;
use crate::dom::domtokenlist::DOMTokenList;
-use crate::dom::element::{AttributeMutation, Element, RawLayoutElementHelpers};
+use crate::dom::element::{AttributeMutation, Element, LayoutElementHelpers};
use crate::dom::eventtarget::EventTarget;
use crate::dom::globalscope::GlobalScope;
use crate::dom::htmlelement::HTMLElement;
@@ -502,7 +502,7 @@ impl HTMLIFrameElementLayoutMethods for LayoutDom<'_, HTMLIFrameElement> {
#[allow(unsafe_code)]
fn get_width(self) -> LengthOrPercentageOrAuto {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("width"))
.map(AttrValue::as_dimension)
.cloned()
@@ -513,7 +513,7 @@ impl HTMLIFrameElementLayoutMethods for LayoutDom<'_, HTMLIFrameElement> {
#[allow(unsafe_code)]
fn get_height(self) -> LengthOrPercentageOrAuto {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("height"))
.map(AttrValue::as_dimension)
.cloned()
diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs
index 5afbb4f0535..626f23b69f8 100644
--- a/components/script/dom/htmlimageelement.rs
+++ b/components/script/dom/htmlimageelement.rs
@@ -22,7 +22,7 @@ use crate::dom::document::Document;
use crate::dom::element::{cors_setting_for_element, referrer_policy_for_element};
use crate::dom::element::{reflect_cross_origin_attribute, set_cross_origin_attribute};
use crate::dom::element::{
- AttributeMutation, CustomElementCreationMode, Element, ElementCreator, RawLayoutElementHelpers,
+ AttributeMutation, CustomElementCreationMode, Element, ElementCreator, LayoutElementHelpers,
};
use crate::dom::event::Event;
use crate::dom::eventtarget::EventTarget;
@@ -1418,7 +1418,7 @@ impl LayoutHTMLImageElementHelpers for LayoutDom<'_, HTMLImageElement> {
#[allow(unsafe_code)]
fn get_width(self) -> LengthOrPercentageOrAuto {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("width"))
.map(AttrValue::as_dimension)
.cloned()
@@ -1429,7 +1429,7 @@ impl LayoutHTMLImageElementHelpers for LayoutDom<'_, HTMLImageElement> {
#[allow(unsafe_code)]
fn get_height(self) -> LengthOrPercentageOrAuto {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("height"))
.map(AttrValue::as_dimension)
.cloned()
diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs
index 5d7438ecc4a..2517d8c94ca 100755
--- a/components/script/dom/htmlinputelement.rs
+++ b/components/script/dom/htmlinputelement.rs
@@ -18,9 +18,7 @@ use crate::dom::bindings::root::{DomRoot, LayoutDom, MutNullableDom};
use crate::dom::bindings::str::{DOMString, USVString};
use crate::dom::compositionevent::CompositionEvent;
use crate::dom::document::Document;
-use crate::dom::element::{
- AttributeMutation, Element, LayoutElementHelpers, RawLayoutElementHelpers,
-};
+use crate::dom::element::{AttributeMutation, Element, LayoutElementHelpers};
use crate::dom::event::{Event, EventBubbles, EventCancelable};
use crate::dom::eventtarget::EventTarget;
use crate::dom::file::File;
@@ -735,7 +733,6 @@ impl<'dom> LayoutHTMLInputElementHelpers<'dom> for LayoutDom<'dom, HTMLInputElem
unsafe {
input
.upcast::<Element>()
- .unsafe_get()
.get_attr_val_for_layout(&ns!(), &local_name!("value"))
.unwrap_or(default)
.into()
diff --git a/components/script/dom/htmltablecellelement.rs b/components/script/dom/htmltablecellelement.rs
index 6aa9b466602..792c3c3aab0 100644
--- a/components/script/dom/htmltablecellelement.rs
+++ b/components/script/dom/htmltablecellelement.rs
@@ -9,7 +9,7 @@ use crate::dom::bindings::root::DomRoot;
use crate::dom::bindings::root::LayoutDom;
use crate::dom::bindings::str::DOMString;
use crate::dom::document::Document;
-use crate::dom::element::{Element, RawLayoutElementHelpers};
+use crate::dom::element::{Element, LayoutElementHelpers};
use crate::dom::htmlelement::HTMLElement;
use crate::dom::htmltablerowelement::HTMLTableRowElement;
use crate::dom::node::Node;
@@ -108,7 +108,7 @@ pub trait HTMLTableCellElementLayoutHelpers {
impl HTMLTableCellElementLayoutHelpers for LayoutDom<'_, HTMLTableCellElement> {
fn get_background_color(self) -> Option<RGBA> {
unsafe {
- (&*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("bgcolor"))
.and_then(AttrValue::as_color)
.cloned()
@@ -117,7 +117,7 @@ impl HTMLTableCellElementLayoutHelpers for LayoutDom<'_, HTMLTableCellElement> {
fn get_colspan(self) -> Option<u32> {
unsafe {
- (&*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("colspan"))
.map(AttrValue::as_uint)
}
@@ -125,7 +125,7 @@ impl HTMLTableCellElementLayoutHelpers for LayoutDom<'_, HTMLTableCellElement> {
fn get_rowspan(self) -> Option<u32> {
unsafe {
- (&*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("rowspan"))
.map(AttrValue::as_uint)
}
@@ -133,7 +133,7 @@ impl HTMLTableCellElementLayoutHelpers for LayoutDom<'_, HTMLTableCellElement> {
fn get_width(self) -> LengthOrPercentageOrAuto {
unsafe {
- (&*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("width"))
.map(AttrValue::as_dimension)
.cloned()
diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs
index 4473746367a..6f19fe0f909 100644
--- a/components/script/dom/htmltableelement.rs
+++ b/components/script/dom/htmltableelement.rs
@@ -11,7 +11,7 @@ use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::root::{Dom, DomRoot, LayoutDom, MutNullableDom};
use crate::dom::bindings::str::DOMString;
use crate::dom::document::Document;
-use crate::dom::element::{AttributeMutation, Element, RawLayoutElementHelpers};
+use crate::dom::element::{AttributeMutation, Element, LayoutElementHelpers};
use crate::dom::htmlcollection::{CollectionFilter, HTMLCollection};
use crate::dom::htmlelement::HTMLElement;
use crate::dom::htmltablecaptionelement::HTMLTableCaptionElement;
@@ -416,7 +416,7 @@ impl HTMLTableElementLayoutHelpers for LayoutDom<'_, HTMLTableElement> {
#[allow(unsafe_code)]
fn get_background_color(self) -> Option<RGBA> {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("bgcolor"))
.and_then(AttrValue::as_color)
.cloned()
@@ -436,7 +436,7 @@ impl HTMLTableElementLayoutHelpers for LayoutDom<'_, HTMLTableElement> {
#[allow(unsafe_code)]
fn get_width(self) -> LengthOrPercentageOrAuto {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("width"))
.map(AttrValue::as_dimension)
.cloned()
diff --git a/components/script/dom/htmltablerowelement.rs b/components/script/dom/htmltablerowelement.rs
index 857ef5787c9..e9a0365f9cf 100644
--- a/components/script/dom/htmltablerowelement.rs
+++ b/components/script/dom/htmltablerowelement.rs
@@ -11,7 +11,7 @@ use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::root::{DomRoot, LayoutDom, MutNullableDom};
use crate::dom::bindings::str::DOMString;
use crate::dom::document::Document;
-use crate::dom::element::{Element, RawLayoutElementHelpers};
+use crate::dom::element::{Element, LayoutElementHelpers};
use crate::dom::htmlcollection::{CollectionFilter, HTMLCollection};
use crate::dom::htmlelement::HTMLElement;
use crate::dom::htmltablecellelement::HTMLTableCellElement;
@@ -153,7 +153,7 @@ pub trait HTMLTableRowElementLayoutHelpers {
impl HTMLTableRowElementLayoutHelpers for LayoutDom<'_, HTMLTableRowElement> {
fn get_background_color(self) -> Option<RGBA> {
unsafe {
- (&*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("bgcolor"))
.and_then(AttrValue::as_color)
.cloned()
diff --git a/components/script/dom/htmltablesectionelement.rs b/components/script/dom/htmltablesectionelement.rs
index 89e399c70c9..601e4da9c54 100644
--- a/components/script/dom/htmltablesectionelement.rs
+++ b/components/script/dom/htmltablesectionelement.rs
@@ -9,7 +9,7 @@ use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::root::{DomRoot, LayoutDom};
use crate::dom::bindings::str::DOMString;
use crate::dom::document::Document;
-use crate::dom::element::{Element, RawLayoutElementHelpers};
+use crate::dom::element::{Element, LayoutElementHelpers};
use crate::dom::htmlcollection::{CollectionFilter, HTMLCollection};
use crate::dom::htmlelement::HTMLElement;
use crate::dom::htmltablerowelement::HTMLTableRowElement;
@@ -91,7 +91,7 @@ pub trait HTMLTableSectionElementLayoutHelpers {
impl HTMLTableSectionElementLayoutHelpers for LayoutDom<'_, HTMLTableSectionElement> {
fn get_background_color(self) -> Option<RGBA> {
unsafe {
- (&*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("bgcolor"))
.and_then(AttrValue::as_color)
.cloned()
diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs
index e3721a78213..8cade345f0f 100755
--- a/components/script/dom/htmltextareaelement.rs
+++ b/components/script/dom/htmltextareaelement.rs
@@ -14,7 +14,7 @@ use crate::dom::bindings::root::{DomRoot, LayoutDom, MutNullableDom};
use crate::dom::bindings::str::DOMString;
use crate::dom::compositionevent::CompositionEvent;
use crate::dom::document::Document;
-use crate::dom::element::RawLayoutElementHelpers;
+use crate::dom::element::LayoutElementHelpers;
use crate::dom::element::{AttributeMutation, Element};
use crate::dom::event::{Event, EventBubbles, EventCancelable};
use crate::dom::globalscope::GlobalScope;
@@ -99,7 +99,7 @@ impl LayoutHTMLTextAreaElementHelpers for LayoutDom<'_, HTMLTextAreaElement> {
#[allow(unsafe_code)]
fn get_cols(self) -> u32 {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("cols"))
.map_or(DEFAULT_COLS, AttrValue::as_uint)
}
@@ -108,7 +108,7 @@ impl LayoutHTMLTextAreaElementHelpers for LayoutDom<'_, HTMLTextAreaElement> {
#[allow(unsafe_code)]
fn get_rows(self) -> u32 {
unsafe {
- (*self.upcast::<Element>().unsafe_get())
+ self.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("rows"))
.map_or(DEFAULT_ROWS, AttrValue::as_uint)
}
diff --git a/components/script/dom/svgsvgelement.rs b/components/script/dom/svgsvgelement.rs
index f4efe6e065b..a4f2401072f 100644
--- a/components/script/dom/svgsvgelement.rs
+++ b/components/script/dom/svgsvgelement.rs
@@ -7,7 +7,7 @@ use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::root::{DomRoot, LayoutDom};
use crate::dom::bindings::str::DOMString;
use crate::dom::document::Document;
-use crate::dom::element::{AttributeMutation, Element, RawLayoutElementHelpers};
+use crate::dom::element::{AttributeMutation, Element, LayoutElementHelpers};
use crate::dom::node::Node;
use crate::dom::svggraphicselement::SVGGraphicsElement;
use crate::dom::virtualmethods::VirtualMethods;
@@ -56,12 +56,10 @@ impl LayoutSVGSVGElementHelpers for LayoutDom<'_, SVGSVGElement> {
#[allow(unsafe_code, non_snake_case)]
fn data(self) -> SVGSVGData {
unsafe {
- let SVG = &*self.unsafe_get();
-
- let width_attr = SVG
+ let width_attr = self
.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("width"));
- let height_attr = SVG
+ let height_attr = self
.upcast::<Element>()
.get_attr_for_layout(&ns!(), &local_name!("height"));
SVGSVGData {
diff --git a/components/script/lib.rs b/components/script/lib.rs
index 0df29eb6359..13791748931 100644
--- a/components/script/lib.rs
+++ b/components/script/lib.rs
@@ -131,7 +131,7 @@ pub mod layout_exports {
pub use crate::dom::bindings::root::LayoutDom;
pub use crate::dom::characterdata::LayoutCharacterDataHelpers;
pub use crate::dom::document::{Document, LayoutDocumentHelpers};
- pub use crate::dom::element::{Element, LayoutElementHelpers, RawLayoutElementHelpers};
+ pub use crate::dom::element::{Element, LayoutElementHelpers};
pub use crate::dom::node::NodeFlags;
pub use crate::dom::node::{LayoutNodeHelpers, Node};
pub use crate::dom::shadowroot::{LayoutShadowRootHelpers, ShadowRoot};