aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_layout_interface
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2016-07-05 18:55:36 -0700
committerGitHub <noreply@github.com>2016-07-05 18:55:36 -0700
commitabdf2f28a0bd25a76a31b4fd2410c7a87448ed54 (patch)
tree762287ff3121993d51e3741e84a2a99ac93435ce /components/script_layout_interface
parent3d557b6f25eb9dbd084cb53bbc9a9cf93bad825b (diff)
parent187a47d89d2a4187abca85690429f85293e618cd (diff)
downloadservo-abdf2f28a0bd25a76a31b4fd2410c7a87448ed54.tar.gz
servo-abdf2f28a0bd25a76a31b4fd2410c7a87448ed54.zip
Auto merge of #11886 - bholley:attr_refactor, r=SimonSapin
Refactor attribute handling to avoid marshalling attributes from Gecko into Servo This marshaling is slow, because Gecko stores attributes as UTF-16 and does not atomize them in all cases, and it turns out that the need for them in Servo is pretty minimal. With some refactoring across servo and rust-selectors we can fix this. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11886) <!-- Reviewable:end -->
Diffstat (limited to 'components/script_layout_interface')
-rw-r--r--components/script_layout_interface/Cargo.toml2
-rw-r--r--components/script_layout_interface/wrapper_traits.rs4
2 files changed, 3 insertions, 3 deletions
diff --git a/components/script_layout_interface/Cargo.toml b/components/script_layout_interface/Cargo.toml
index 51b767c753f..41c1f6e2598 100644
--- a/components/script_layout_interface/Cargo.toml
+++ b/components/script_layout_interface/Cargo.toml
@@ -26,7 +26,7 @@ plugins = {path = "../plugins"}
profile_traits = {path = "../profile_traits"}
range = {path = "../range"}
script_traits = {path = "../script_traits"}
-selectors = {version = "0.6", features = ["heap_size"]}
+selectors = {version = "0.7", features = ["heap_size"]}
string_cache = {version = "0.2.20", features = ["heap_size"]}
style = {path = "../style"}
url = {version = "1.0.0", features = ["heap_size"]}
diff --git a/components/script_layout_interface/wrapper_traits.rs b/components/script_layout_interface/wrapper_traits.rs
index a816321ec28..bdbf31c37c8 100644
--- a/components/script_layout_interface/wrapper_traits.rs
+++ b/components/script_layout_interface/wrapper_traits.rs
@@ -86,7 +86,7 @@ pub trait LayoutNode: TNode {
pub trait ThreadSafeLayoutNode: Clone + Copy + Sized + PartialEq {
type ConcreteThreadSafeLayoutElement:
ThreadSafeLayoutElement<ConcreteThreadSafeLayoutNode = Self>
- + ::selectors::Element<Impl=ServoSelectorImpl>;
+ + ::selectors::Element<Impl=ServoSelectorImpl, AttrString=String>;
type ChildrenIterator: Iterator<Item = Self> + Sized;
/// Creates a new `ThreadSafeLayoutNode` for the same `LayoutNode`
@@ -351,7 +351,7 @@ pub trait DangerousThreadSafeLayoutNode: ThreadSafeLayoutNode {
}
pub trait ThreadSafeLayoutElement: Clone + Copy + Sized +
- ::selectors::Element<Impl=ServoSelectorImpl> +
+ ::selectors::Element<Impl=ServoSelectorImpl, AttrString=String> +
PresentationalHintsSynthetizer {
type ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode<ConcreteThreadSafeLayoutElement = Self>;