diff options
author | Tetsuharu OHZEKI <saneyuki.snyk@gmail.com> | 2014-07-26 04:33:54 +0900 |
---|---|---|
committer | Tetsuharu OHZEKI <saneyuki.snyk@gmail.com> | 2014-07-30 06:22:09 +0900 |
commit | 794ce9cd4d6058a8aa30120742f292fbc7d95e2a (patch) | |
tree | b05fa05c7b72ae2e73560dea11d58cffaa38e88c /src/components/script/dom/attr.rs | |
parent | f2db7faf19c34165c08f1d5839a7461bc04c20a5 (diff) | |
download | servo-794ce9cd4d6058a8aa30120742f292fbc7d95e2a.tar.gz servo-794ce9cd4d6058a8aa30120742f292fbc7d95e2a.zip |
Use atom to match id selector.
Diffstat (limited to 'src/components/script/dom/attr.rs')
-rw-r--r-- | src/components/script/dom/attr.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/components/script/dom/attr.rs b/src/components/script/dom/attr.rs index f58631176f1..0e499ebf477 100644 --- a/src/components/script/dom/attr.rs +++ b/src/components/script/dom/attr.rs @@ -167,6 +167,7 @@ impl<'a> AttrMethods for JSRef<'a, Attr> { pub trait AttrHelpersForLayout { unsafe fn value_ref_forever(&self) -> &'static str; + unsafe fn value_atom_forever(&self) -> Option<Atom>; } impl AttrHelpersForLayout for Attr { @@ -175,4 +176,13 @@ impl AttrHelpersForLayout for Attr { let value = mem::transmute::<&RefCell<AttrValue>, &AttrValue>(self.value.deref()); value.as_slice() } + + unsafe fn value_atom_forever(&self) -> Option<Atom> { + // cast to point to T in RefCell<T> directly + let value = mem::transmute::<&RefCell<AttrValue>, &AttrValue>(self.value.deref()); + match *value { + AtomAttrValue(ref val) => Some(val.clone()), + _ => None, + } + } } |