aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/layout_wrapper.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/layout_wrapper.rs')
-rw-r--r--components/script/layout_wrapper.rs71
1 files changed, 11 insertions, 60 deletions
diff --git a/components/script/layout_wrapper.rs b/components/script/layout_wrapper.rs
index 290ebeb2312..e6c38aa1fb3 100644
--- a/components/script/layout_wrapper.rs
+++ b/components/script/layout_wrapper.rs
@@ -61,7 +61,7 @@ use std::sync::atomic::Ordering;
use style::atomic_refcell::AtomicRefCell;
use style::attr::AttrValue;
use style::computed_values::display;
-use style::context::SharedStyleContext;
+use style::context::{QuirksMode, SharedStyleContext};
use style::data::ElementData;
use style::dom::{LayoutIterator, NodeInfo, OpaqueNode, PresentationalHintsSynthetizer, TElement, TNode};
use style::dom::UnsafeNode;
@@ -86,7 +86,11 @@ impl<'ln> Debug for ServoLayoutNode<'ln> {
if let Some(el) = self.as_element() {
el.fmt(f)
} else {
- write!(f, "{:?} ({:#x})", self.type_id(), self.opaque().0)
+ if self.is_text_node() {
+ write!(f, "<text node> ({:#x})", self.opaque().0)
+ } else {
+ write!(f, "<non-text node> ({:#x})", self.opaque().0)
+ }
}
}
}
@@ -156,15 +160,6 @@ impl<'ln> TNode for ServoLayoutNode<'ln> {
transmute(node)
}
- fn dump(self) {
- self.dump_indent(0);
- }
-
- fn dump_style(self) {
- println!("\nDOM with computed styles:");
- self.dump_style_indent(0);
- }
-
fn children(self) -> LayoutIterator<ServoChildrenIterator<'ln>> {
LayoutIterator(ServoChildrenIterator {
current: self.first_child(),
@@ -290,54 +285,6 @@ impl<'le> GetLayoutData for ServoThreadSafeLayoutElement<'le> {
}
impl<'ln> ServoLayoutNode<'ln> {
- fn dump_indent(self, indent: u32) {
- let mut s = String::new();
- for _ in 0..indent {
- s.push_str(" ");
- }
-
- s.push_str(&self.debug_str());
- println!("{}", s);
-
- for kid in self.children() {
- kid.dump_indent(indent + 1);
- }
- }
-
- fn dump_style_indent(self, indent: u32) {
- if self.is_element() {
- let mut s = String::new();
- for _ in 0..indent {
- s.push_str(" ");
- }
- s.push_str(&self.debug_style_str());
- println!("{}", s);
- }
-
- for kid in self.children() {
- kid.dump_style_indent(indent + 1);
- }
- }
-
- fn debug_str(self) -> String {
- format!("{:?}: dirty_descendants={}",
- self.script_type_id(),
- self.as_element().map_or(false, |el| el.has_dirty_descendants()))
- }
-
- fn debug_style_str(self) -> String {
- let maybe_element = self.as_element();
- let maybe_data = match maybe_element {
- Some(ref el) => el.borrow_data(),
- None => None,
- };
- if let Some(data) = maybe_data {
- format!("{:?}: {:?}", self.script_type_id(), &*data)
- } else {
- format!("{:?}: style_data=None", self.script_type_id())
- }
- }
-
/// Returns the interior of this node as a `LayoutJS`. This is highly unsafe for layout to
/// call and as such is marked `unsafe`.
pub unsafe fn get_jsmanaged(&self) -> &LayoutJS<Node> {
@@ -374,6 +321,10 @@ impl<'ld> ServoLayoutDocument<'ld> {
unsafe { self.document.will_paint(); }
}
+ pub fn quirks_mode(&self) -> QuirksMode {
+ unsafe { self.document.quirks_mode() }
+ }
+
pub fn from_layout_js(doc: LayoutJS<Document>) -> ServoLayoutDocument<'ld> {
ServoLayoutDocument {
document: doc,
@@ -816,7 +767,7 @@ impl<'ln> ThreadSafeLayoutNode for ServoThreadSafeLayoutNode<'ln> {
debug_assert!(self.is_text_node());
let parent = self.node.parent_node().unwrap().as_element().unwrap();
let parent_data = parent.get_data().unwrap().borrow();
- parent_data.current_styles().primary.values.clone()
+ parent_data.styles().primary.values.clone()
}
fn debug_id(self) -> usize {