mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
script: Implement deprecated CSSStyleSheet members (#36313)
Implements `rules`, `addRule()` and `removeRule()` for `CSSStyleSheet`. https://drafts.csswg.org/cssom/#legacy-css-style-sheet-members This is part of #36162 Testing: - `/css/css-cascade/at-scope-parsing.html` - `/css/css-conditional/at-supports-whitespace.html` - `/css/css-nesting/invalidation-004.html` - `/css/css-nesting/parsing.html` - `/css/css-nesting/serialize-group-rules-with-decls.html` - `/css/css-syntax/custom-property-rule-ambiguity.html` - `/css/css-syntax/invalid-nested-rules.html` - `/css/css-syntax/trailing-braces.html` - `/css/css-syntax/var-with-blocks.html` - `/css/css-transitions/parsing/starting-style-parsing.html` - `/css/cssom/CSSStyleSheet.html` - `/css/cssom/idlharness.html` - `/css/cssom/insertRule-across-context.html` Signed-off-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
parent
9d6e1f67fb
commit
f29c182929
15 changed files with 57 additions and 309 deletions
|
@ -10,6 +10,7 @@ use style::shared_lock::SharedRwLock;
|
||||||
use style::stylesheets::{CssRuleTypes, Stylesheet as StyleStyleSheet};
|
use style::stylesheets::{CssRuleTypes, Stylesheet as StyleStyleSheet};
|
||||||
|
|
||||||
use crate::dom::bindings::codegen::Bindings::CSSStyleSheetBinding::CSSStyleSheetMethods;
|
use crate::dom::bindings::codegen::Bindings::CSSStyleSheetBinding::CSSStyleSheetMethods;
|
||||||
|
use crate::dom::bindings::codegen::GenericBindings::CSSRuleListBinding::CSSRuleList_Binding::CSSRuleListMethods;
|
||||||
use crate::dom::bindings::error::{Error, ErrorResult, Fallible};
|
use crate::dom::bindings::error::{Error, ErrorResult, Fallible};
|
||||||
use crate::dom::bindings::reflector::{DomGlobal, reflect_dom_object};
|
use crate::dom::bindings::reflector::{DomGlobal, reflect_dom_object};
|
||||||
use crate::dom::bindings::root::{DomRoot, MutNullableDom};
|
use crate::dom::bindings::root::{DomRoot, MutNullableDom};
|
||||||
|
@ -125,7 +126,7 @@ impl CSSStyleSheet {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl CSSStyleSheetMethods<crate::DomTypeHolder> for CSSStyleSheet {
|
impl CSSStyleSheetMethods<crate::DomTypeHolder> for CSSStyleSheet {
|
||||||
// https://drafts.csswg.org/cssom/#dom-cssstylesheet-cssrules
|
/// <https://drafts.csswg.org/cssom/#dom-cssstylesheet-cssrules>
|
||||||
fn GetCssRules(&self) -> Fallible<DomRoot<CSSRuleList>> {
|
fn GetCssRules(&self) -> Fallible<DomRoot<CSSRuleList>> {
|
||||||
if !self.origin_clean.get() {
|
if !self.origin_clean.get() {
|
||||||
return Err(Error::Security);
|
return Err(Error::Security);
|
||||||
|
@ -133,7 +134,7 @@ impl CSSStyleSheetMethods<crate::DomTypeHolder> for CSSStyleSheet {
|
||||||
Ok(self.rulelist())
|
Ok(self.rulelist())
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://drafts.csswg.org/cssom/#dom-cssstylesheet-insertrule
|
/// <https://drafts.csswg.org/cssom/#dom-cssstylesheet-insertrule>
|
||||||
fn InsertRule(&self, rule: DOMString, index: u32) -> Fallible<u32> {
|
fn InsertRule(&self, rule: DOMString, index: u32) -> Fallible<u32> {
|
||||||
if !self.origin_clean.get() {
|
if !self.origin_clean.get() {
|
||||||
return Err(Error::Security);
|
return Err(Error::Security);
|
||||||
|
@ -142,11 +143,53 @@ impl CSSStyleSheetMethods<crate::DomTypeHolder> for CSSStyleSheet {
|
||||||
.insert_rule(&rule, index, CssRuleTypes::default(), None, CanGc::note())
|
.insert_rule(&rule, index, CssRuleTypes::default(), None, CanGc::note())
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://drafts.csswg.org/cssom/#dom-cssstylesheet-deleterule
|
/// <https://drafts.csswg.org/cssom/#dom-cssstylesheet-deleterule>
|
||||||
fn DeleteRule(&self, index: u32) -> ErrorResult {
|
fn DeleteRule(&self, index: u32) -> ErrorResult {
|
||||||
if !self.origin_clean.get() {
|
if !self.origin_clean.get() {
|
||||||
return Err(Error::Security);
|
return Err(Error::Security);
|
||||||
}
|
}
|
||||||
self.rulelist().remove_rule(index)
|
self.rulelist().remove_rule(index)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <https://drafts.csswg.org/cssom/#dom-cssstylesheet-rules>
|
||||||
|
fn GetRules(&self) -> Fallible<DomRoot<CSSRuleList>> {
|
||||||
|
self.GetCssRules()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://drafts.csswg.org/cssom/#dom-cssstylesheet-removerule>
|
||||||
|
fn RemoveRule(&self, index: u32) -> ErrorResult {
|
||||||
|
self.DeleteRule(index)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <https://drafts.csswg.org/cssom/#dom-cssstylesheet-addrule>
|
||||||
|
fn AddRule(
|
||||||
|
&self,
|
||||||
|
selector: DOMString,
|
||||||
|
block: DOMString,
|
||||||
|
optional_index: Option<u32>,
|
||||||
|
) -> Fallible<i32> {
|
||||||
|
// > 1. Let *rule* be an empty string.
|
||||||
|
// > 2. Append *selector* to *rule*.
|
||||||
|
let mut rule = selector;
|
||||||
|
|
||||||
|
// > 3. Append " { " to *rule*.
|
||||||
|
// > 4. If *block* is not empty, append *block*, followed by a space, to *rule*.
|
||||||
|
// > 5. Append "}" to *rule*.
|
||||||
|
if block.is_empty() {
|
||||||
|
rule.push_str(" { }");
|
||||||
|
} else {
|
||||||
|
rule.push_str(" { ");
|
||||||
|
rule.push_str(block.str());
|
||||||
|
rule.push_str(" } ");
|
||||||
|
};
|
||||||
|
|
||||||
|
// > 6. Let *index* be *optionalIndex* if provided, or the number of CSS rules in the stylesheet otherwise.
|
||||||
|
let index = optional_index.unwrap_or_else(|| self.rulelist().Length());
|
||||||
|
|
||||||
|
// > 7. Call `insertRule()`, with *rule* and *index* as arguments.
|
||||||
|
self.InsertRule(rule, index)?;
|
||||||
|
|
||||||
|
// > 8. Return -1.
|
||||||
|
Ok(-1)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,3 +10,14 @@ interface CSSStyleSheet : StyleSheet {
|
||||||
[Throws] unsigned long insertRule(DOMString rule, optional unsigned long index = 0);
|
[Throws] unsigned long insertRule(DOMString rule, optional unsigned long index = 0);
|
||||||
[Throws] undefined deleteRule(unsigned long index);
|
[Throws] undefined deleteRule(unsigned long index);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// https://drafts.csswg.org/cssom/#legacy-css-style-sheet-members
|
||||||
|
partial interface CSSStyleSheet {
|
||||||
|
[Throws, SameObject] readonly attribute CSSRuleList rules;
|
||||||
|
[Throws] long addRule(
|
||||||
|
optional DOMString selector = "undefined",
|
||||||
|
optional DOMString style = "undefined",
|
||||||
|
optional unsigned long index
|
||||||
|
);
|
||||||
|
[Throws] undefined removeRule(optional unsigned long index = 0);
|
||||||
|
};
|
||||||
|
|
|
@ -76,87 +76,3 @@
|
||||||
|
|
||||||
[@scope (> &) to (>>) is valid]
|
[@scope (> &) to (>>) is valid]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[@scope div is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (.a) unknown (.c) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (.a) to unknown (.c) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (.a) 1px (.c) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (.a) to unknown(c) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope unknown(.a) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope 1px is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope creep is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope ))) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope ( is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope ( {} is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope to is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope } is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (.a is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (.a to (.b) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope ( to (.b) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (.a) from (.c) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (.c <> .d) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (.a, .c <> .d) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (.a <> .b, .c) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (div::before) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (div::after) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (slotted(div)) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (.a) to (div::before) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope (> &) to (>>) is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope () is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope to () is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@scope () to () is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
[at-supports-whitespace.html]
|
|
||||||
[@supports ((a)) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ((a) ) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ( (a)) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ( (a) ) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports (not (a)) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports (not (a) ) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ( not (a)) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ( not (a) ) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ((a) and (b)) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ((a) and (b) ) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ( (a) and (b)) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ( (a) and (b) ) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ((a) or (b)) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ((a) or (b) ) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ( (a) or (b)) {}]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@supports ( (a) or (b) ) {}]
|
|
||||||
expected: FAIL
|
|
|
@ -1,3 +0,0 @@
|
||||||
[invalidation-004.html]
|
|
||||||
[CSS Selectors nested invalidation through @media by selectorText]
|
|
||||||
expected: FAIL
|
|
|
@ -1,2 +0,0 @@
|
||||||
[parsing.html]
|
|
||||||
expected: ERROR
|
|
|
@ -1,45 +0,0 @@
|
||||||
[serialize-group-rules-with-decls.html]
|
|
||||||
[Declarations are serialized on one line, rules on two.]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Mixed declarations/rules are on two lines.]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Implicit rule is serialized]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Implicit rule not removed]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Implicit + empty hover rule]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Implicit like rule not in first position]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Two implicit-like rules]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Implicit like rule after decls]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Implicit like rule after decls, missing closing braces]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Implicit like rule with other selectors]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Implicit-like rule in style rule]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Empty conditional rule]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Empty style rule]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Empty conditional inside style rule]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Empty style inside conditional]
|
|
||||||
expected: FAIL
|
|
|
@ -1,12 +0,0 @@
|
||||||
[custom-property-rule-ambiguity.html]
|
|
||||||
[Rule that looks like a custom property declaration is ignored]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Rule that looks like an invalid custom property declaration is ignored]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Nested rule that looks like a custom property declaration]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Nested rule that looks like an invalid custom property declaration]
|
|
||||||
expected: FAIL
|
|
|
@ -1,3 +0,0 @@
|
||||||
[invalid-nested-rules.html]
|
|
||||||
[Continues parsing after block on invalid rule error]
|
|
||||||
expected: FAIL
|
|
|
@ -1,3 +0,0 @@
|
||||||
[trailing-braces.html]
|
|
||||||
[Trailing braces are not valid]
|
|
||||||
expected: FAIL
|
|
|
@ -1,42 +0,0 @@
|
||||||
[var-with-blocks.html]
|
|
||||||
[Plain var()]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Whole-value block with var()]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Whole-value block with var() (spaces)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Trailing block, leading var()]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Leading block, trailing var()]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[In-block var() with trailing token]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[In-block var() with leading token]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Plain var() (custom property)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Whole-value block with var() (custom property)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Whole-value block with var() (spaces, custom property)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Trailing block, leading var() (custom property)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Leading block, trailing var() (custom property)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[In-block var() with trailing token (custom property)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[In-block var() with leading token (custom property)]
|
|
||||||
expected: FAIL
|
|
|
@ -1,15 +1,3 @@
|
||||||
[starting-style-parsing.html]
|
[starting-style-parsing.html]
|
||||||
[@starting-style is valid]
|
[@starting-style is valid]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[@starting-style div is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@starting-style () is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@starting-style ( {} is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[@starting-style } is not valid]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
25
tests/wpt/meta/css/cssom/CSSStyleSheet.html.ini
vendored
25
tests/wpt/meta/css/cssom/CSSStyleSheet.html.ini
vendored
|
@ -1,25 +0,0 @@
|
||||||
[CSSStyleSheet.html]
|
|
||||||
[addRule with no argument adds "undefined" selector]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[removeRule on empty style sheet throws]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[cssRules and rules are the same object]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[addRule with index greater than length throws]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[addRule with #foo selectors]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[removeRule(1)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[removeRule with no argument removes first rule]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[addRule with @media rule]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
24
tests/wpt/meta/css/cssom/idlharness.html.ini
vendored
24
tests/wpt/meta/css/cssom/idlharness.html.ini
vendored
|
@ -53,9 +53,6 @@
|
||||||
[SVGStyleElement interface: attribute sheet]
|
[SVGStyleElement interface: attribute sheet]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[CSSStyleSheet interface: attribute rules]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type]
|
[CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "setProperty(CSSOMString, CSSOMString, optional CSSOMString)" with the proper type]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -101,9 +98,6 @@
|
||||||
[CSSStyleDeclaration interface: svg_element.style must inherit property "cssFloat" with the proper type]
|
[CSSStyleDeclaration interface: svg_element.style must inherit property "cssFloat" with the proper type]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[CSSStyleSheet interface: calling addRule(optional DOMString, optional DOMString, optional unsigned long) on sheet with too few arguments must throw TypeError]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[CSSStyleDeclaration must be primary interface of sheet.cssRules[2\].cssRules[0\].style]
|
[CSSStyleDeclaration must be primary interface of sheet.cssRules[2\].cssRules[0\].style]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -161,9 +155,6 @@
|
||||||
[CSSPageRule interface: existence and properties of interface prototype object's @@unscopables property]
|
[CSSPageRule interface: existence and properties of interface prototype object's @@unscopables property]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[CSSStyleSheet interface: operation addRule(optional DOMString, optional DOMString, optional unsigned long)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[CSSRule interface: sheet.cssRules[1\] must inherit property "parentRule" with the proper type]
|
[CSSRule interface: sheet.cssRules[1\] must inherit property "parentRule" with the proper type]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -173,9 +164,6 @@
|
||||||
[CSSPageRule interface: existence and properties of interface object]
|
[CSSPageRule interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[CSSStyleSheet interface: sheet must inherit property "rules" with the proper type]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[CSSPageRule must be primary interface of sheet.cssRules[2\]]
|
[CSSPageRule must be primary interface of sheet.cssRules[2\]]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -230,9 +218,6 @@
|
||||||
[CSSPageRule interface: sheet.cssRules[2\] must inherit property "selectorText" with the proper type]
|
[CSSPageRule interface: sheet.cssRules[2\] must inherit property "selectorText" with the proper type]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[CSSStyleSheet interface: sheet must inherit property "addRule(optional DOMString, optional DOMString, optional unsigned long)" with the proper type]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[CSSMarginRule interface: existence and properties of interface prototype object's @@unscopables property]
|
[CSSMarginRule interface: existence and properties of interface prototype object's @@unscopables property]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -284,9 +269,6 @@
|
||||||
[CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "cssText" with the proper type]
|
[CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "cssText" with the proper type]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[CSSStyleSheet interface: operation removeRule(optional unsigned long)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Stringification of sheet.cssRules[4\]]
|
[Stringification of sheet.cssRules[4\]]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -347,9 +329,6 @@
|
||||||
[CSSRule interface: sheet.cssRules[4\] must inherit property "cssText" with the proper type]
|
[CSSRule interface: sheet.cssRules[4\] must inherit property "cssText" with the proper type]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[CSSStyleSheet interface: sheet must inherit property "removeRule(optional unsigned long)" with the proper type]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[CSSMarginRule interface: existence and properties of interface prototype object's "constructor" property]
|
[CSSMarginRule interface: existence and properties of interface prototype object's "constructor" property]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -407,9 +386,6 @@
|
||||||
[CSSMarginRule interface: attribute style]
|
[CSSMarginRule interface: attribute style]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[CSSStyleSheet interface: calling removeRule(optional unsigned long) on sheet with too few arguments must throw TypeError]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type]
|
[CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
[insertRule-across-context.html]
|
[insertRule-across-context.html]
|
||||||
[The constructor of inserted rule object must be from iframe]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[The constructor of inserted rule object must be from iframe for new CSSStyleSheet()]
|
[The constructor of inserted rule object must be from iframe for new CSSStyleSheet()]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue