Remove the 'static lifetime parameters from TElement methods

This improves the static correctness of layout's use of DOM nodes.

Fixes #2595.
This commit is contained in:
Cameron Zwarich 2014-09-27 01:12:44 -07:00
parent bf025e9b9b
commit b2a3519011
4 changed files with 18 additions and 18 deletions

View file

@ -1077,9 +1077,9 @@ impl<'ln> NodeUtils for ThreadSafeLayoutNode<'ln> {
}
/// Methods for interacting with HTMLObjectElement nodes
trait ObjectElement {
trait ObjectElement<'a> {
/// Returns None if this node is not matching attributes.
fn get_type_and_data(&self) -> (Option<&'static str>, Option<&'static str>);
fn get_type_and_data(&self) -> (Option<&'a str>, Option<&'a str>);
/// Returns true if this node has object data that is correct uri.
fn has_object_data(&self) -> bool;
@ -1088,8 +1088,8 @@ trait ObjectElement {
fn get_object_data(&self) -> Option<Url>;
}
impl<'ln> ObjectElement for ThreadSafeLayoutNode<'ln> {
fn get_type_and_data(&self) -> (Option<&'static str>, Option<&'static str>) {
impl<'ln> ObjectElement<'ln> for ThreadSafeLayoutNode<'ln> {
fn get_type_and_data(&self) -> (Option<&'ln str>, Option<&'ln str>) {
let elem = self.as_element();
(elem.get_attr(&namespace::Null, "type"), elem.get_attr(&namespace::Null, "data"))
}

View file

@ -401,11 +401,11 @@ impl<'le> TElement<'le> for LayoutElement<'le> {
}
#[inline]
fn get_attr(&self, namespace: &Namespace, name: &str) -> Option<&'static str> {
fn get_attr(&self, namespace: &Namespace, name: &str) -> Option<&'le str> {
unsafe { self.element.get_attr_val_for_layout(namespace, name) }
}
fn get_link(&self) -> Option<&'static str> {
fn get_link(&self) -> Option<&'le str> {
// FIXME: This is HTML only.
match self.element.node.type_id_for_layout() {
// http://www.whatwg.org/specs/web-apps/current-work/multipage/selectors.html#
@ -791,7 +791,7 @@ pub struct ThreadSafeLayoutElement<'le> {
impl<'le> ThreadSafeLayoutElement<'le> {
#[inline]
pub fn get_attr(&self, namespace: &Namespace, name: &str) -> Option<&'static str> {
pub fn get_attr(&self, namespace: &Namespace, name: &str) -> Option<&'le str> {
unsafe { self.element.get_attr_val_for_layout(namespace, name) }
}
}