mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Expose Quirks Mode information in the style shared context r=emilio
This commit is contained in:
parent
9d2b98e6f8
commit
d024787188
9 changed files with 58 additions and 25 deletions
|
@ -77,7 +77,6 @@ use html5ever::serialize;
|
|||
use html5ever::serialize::SerializeOpts;
|
||||
use html5ever::serialize::TraversalScope;
|
||||
use html5ever::serialize::TraversalScope::{ChildrenOnly, IncludeNode};
|
||||
use html5ever::tree_builder::{LimitedQuirks, NoQuirks, Quirks};
|
||||
use html5ever_atoms::{Prefix, LocalName, Namespace, QualName};
|
||||
use js::jsapi::{HandleValue, JSAutoCompartment};
|
||||
use parking_lot::RwLock;
|
||||
|
@ -98,7 +97,7 @@ use std::rc::Rc;
|
|||
use std::sync::Arc;
|
||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||
use style::attr::{AttrValue, LengthOrPercentageOrAuto};
|
||||
use style::context::ReflowGoal;
|
||||
use style::context::{QuirksMode, ReflowGoal};
|
||||
use style::element_state::*;
|
||||
use style::matching::{common_style_affecting_attributes, rare_style_affecting_attributes};
|
||||
use style::parser::ParserContextExtraData;
|
||||
|
@ -1084,8 +1083,8 @@ impl Element {
|
|||
let quirks_mode = document_from_node(self).quirks_mode();
|
||||
let is_equal = |lhs: &Atom, rhs: &Atom| {
|
||||
match quirks_mode {
|
||||
NoQuirks | LimitedQuirks => lhs == rhs,
|
||||
Quirks => lhs.eq_ignore_ascii_case(&rhs),
|
||||
QuirksMode::NoQuirks | QuirksMode::LimitedQuirks => lhs == rhs,
|
||||
QuirksMode::Quirks => lhs.eq_ignore_ascii_case(&rhs),
|
||||
}
|
||||
};
|
||||
self.get_attribute(&ns!(), &local_name!("class"))
|
||||
|
@ -1265,7 +1264,7 @@ impl Element {
|
|||
|
||||
// Step 7
|
||||
if *self.root_element() == *self {
|
||||
if doc.quirks_mode() != Quirks {
|
||||
if doc.quirks_mode() != QuirksMode::Quirks {
|
||||
win.scroll(x, y, behavior);
|
||||
}
|
||||
|
||||
|
@ -1274,7 +1273,7 @@ impl Element {
|
|||
|
||||
// Step 9
|
||||
if doc.GetBody().r() == self.downcast::<HTMLElement>() &&
|
||||
doc.quirks_mode() == Quirks &&
|
||||
doc.quirks_mode() == QuirksMode::Quirks &&
|
||||
!self.potentially_scrollable() {
|
||||
win.scroll(x, y, behavior);
|
||||
return;
|
||||
|
@ -1645,7 +1644,7 @@ impl ElementMethods for Element {
|
|||
|
||||
// Step 5
|
||||
if *self.root_element() == *self {
|
||||
if doc.quirks_mode() == Quirks {
|
||||
if doc.quirks_mode() == QuirksMode::Quirks {
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
|
@ -1655,7 +1654,7 @@ impl ElementMethods for Element {
|
|||
|
||||
// Step 7
|
||||
if doc.GetBody().r() == self.downcast::<HTMLElement>() &&
|
||||
doc.quirks_mode() == Quirks &&
|
||||
doc.quirks_mode() == QuirksMode::Quirks &&
|
||||
!self.potentially_scrollable() {
|
||||
return win.ScrollY() as f64;
|
||||
}
|
||||
|
@ -1696,7 +1695,7 @@ impl ElementMethods for Element {
|
|||
|
||||
// Step 7
|
||||
if *self.root_element() == *self {
|
||||
if doc.quirks_mode() != Quirks {
|
||||
if doc.quirks_mode() != QuirksMode::Quirks {
|
||||
win.scroll(win.ScrollX() as f64, y, behavior);
|
||||
}
|
||||
|
||||
|
@ -1705,7 +1704,7 @@ impl ElementMethods for Element {
|
|||
|
||||
// Step 9
|
||||
if doc.GetBody().r() == self.downcast::<HTMLElement>() &&
|
||||
doc.quirks_mode() == Quirks &&
|
||||
doc.quirks_mode() == QuirksMode::Quirks &&
|
||||
!self.potentially_scrollable() {
|
||||
win.scroll(win.ScrollX() as f64, y, behavior);
|
||||
return;
|
||||
|
@ -1737,7 +1736,7 @@ impl ElementMethods for Element {
|
|||
|
||||
// Step 5
|
||||
if *self.root_element() == *self {
|
||||
if doc.quirks_mode() != Quirks {
|
||||
if doc.quirks_mode() != QuirksMode::Quirks {
|
||||
// Step 6
|
||||
return win.ScrollX() as f64;
|
||||
}
|
||||
|
@ -1747,7 +1746,7 @@ impl ElementMethods for Element {
|
|||
|
||||
// Step 7
|
||||
if doc.GetBody().r() == self.downcast::<HTMLElement>() &&
|
||||
doc.quirks_mode() == Quirks &&
|
||||
doc.quirks_mode() == QuirksMode::Quirks &&
|
||||
!self.potentially_scrollable() {
|
||||
return win.ScrollX() as f64;
|
||||
}
|
||||
|
@ -1788,7 +1787,7 @@ impl ElementMethods for Element {
|
|||
|
||||
// Step 7
|
||||
if *self.root_element() == *self {
|
||||
if doc.quirks_mode() == Quirks {
|
||||
if doc.quirks_mode() == QuirksMode::Quirks {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1798,7 +1797,7 @@ impl ElementMethods for Element {
|
|||
|
||||
// Step 9
|
||||
if doc.GetBody().r() == self.downcast::<HTMLElement>() &&
|
||||
doc.quirks_mode() == Quirks &&
|
||||
doc.quirks_mode() == QuirksMode::Quirks &&
|
||||
!self.potentially_scrollable() {
|
||||
win.scroll(x, win.ScrollY() as f64, behavior);
|
||||
return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue