aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/dom.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <me@emiliocobos.me>2016-05-03 18:50:25 +0200
committerEmilio Cobos Álvarez <me@emiliocobos.me>2016-05-04 00:33:58 +0200
commit028f9b6cd26f0cd2835166d96ffd30d69a39e7cb (patch)
tree1beb0bcf4072a078593e6ba17f9618aad71a944c /components/style/dom.rs
parent18c1fee3c7cd2fb36064bdb06a130b16785db128 (diff)
downloadservo-028f9b6cd26f0cd2835166d96ffd30d69a39e7cb.tar.gz
servo-028f9b6cd26f0cd2835166d96ffd30d69a39e7cb.zip
style: layout: Allow a lazy pseudo-element implementation in Servo.
Diffstat (limited to 'components/style/dom.rs')
-rw-r--r--components/style/dom.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/components/style/dom.rs b/components/style/dom.rs
index fed1597c627..badd4f31065 100644
--- a/components/style/dom.rs
+++ b/components/style/dom.rs
@@ -195,7 +195,12 @@ pub trait TDocument : Sized + Copy + Clone {
fn drain_modified_elements(&self) -> Vec<(Self::ConcreteElement, ElementSnapshot)>;
}
-pub trait TElement : Sized + Copy + Clone + ElementExt {
+pub trait PresentationalHintsSynthetizer {
+ fn synthesize_presentational_hints_for_legacy_attributes<V>(&self, hints: &mut V)
+ where V: VecLike<DeclarationBlock<Vec<PropertyDeclaration>>>;
+}
+
+pub trait TElement : Sized + Copy + Clone + ElementExt + PresentationalHintsSynthetizer {
type ConcreteNode: TNode<ConcreteElement = Self, ConcreteDocument = Self::ConcreteDocument>;
type ConcreteDocument: TDocument<ConcreteNode = Self::ConcreteNode, ConcreteElement = Self>;
@@ -205,9 +210,6 @@ pub trait TElement : Sized + Copy + Clone + ElementExt {
fn get_state(&self) -> ElementState;
- fn synthesize_presentational_hints_for_legacy_attributes<V>(&self, &mut V)
- where V: VecLike<DeclarationBlock<Vec<PropertyDeclaration>>>;
-
fn get_attr<'a>(&'a self, namespace: &Namespace, attr: &Atom) -> Option<&'a str>;
fn get_attrs<'a>(&'a self, attr: &Atom) -> Vec<&'a str>;