aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/style/gecko_string_cache/mod.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/components/style/gecko_string_cache/mod.rs b/components/style/gecko_string_cache/mod.rs
index 9c33f25d9b8..f4c875cb7ad 100644
--- a/components/style/gecko_string_cache/mod.rs
+++ b/components/style/gecko_string_cache/mod.rs
@@ -25,9 +25,11 @@ use std::char::{self, DecodeUtf16};
use std::fmt::{self, Write};
use std::hash::{Hash, Hasher};
use std::iter::Cloned;
+use std::mem::{self, ManuallyDrop};
use std::ops::Deref;
-use std::{mem, slice, str};
+use std::{slice, str};
use style_traits::SpecifiedValueInfo;
+use to_shmem::{SharedMemoryBuilder, ToShmem};
#[macro_use]
#[allow(improper_ctypes, non_camel_case_types, missing_docs)]
@@ -122,6 +124,14 @@ impl Borrow<WeakAtom> for Atom {
}
}
+impl ToShmem for Atom {
+ fn to_shmem(&self, _builder: &mut SharedMemoryBuilder) -> ManuallyDrop<Self> {
+ assert!(self.is_static(), "ToShmem failed for Atom: must be a static atom: {}", self);
+
+ ManuallyDrop::new(Atom(self.0))
+ }
+}
+
impl Eq for WeakAtom {}
impl PartialEq for WeakAtom {
#[inline]