mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
Implement `CSSStyleSheet.replace` [#dom-cssstylesheet-replace](https://drafts.csswg.org/cssom/#dom-cssstylesheet-replace) with disallow modification flag [#concept-css-style-sheet-disallow-modification-flag](https://drafts.csswg.org/cssom/#concept-css-style-sheet-disallow-modification-flag). Basically it would behave like `replaceSync`, but we are running it asynchronously. Testing: Existing WPT coverage. Part of: https://github.com/servo/servo/issues/36162 --------- Signed-off-by: Jo Steven Novaryo <jo.steven.novaryo@huawei.com>
34 lines
1.2 KiB
Text
34 lines
1.2 KiB
Text
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
// https://drafts.csswg.org/cssom/#the-cssstylesheet-interface
|
|
[Exposed=Window]
|
|
interface CSSStyleSheet : StyleSheet {
|
|
constructor(optional CSSStyleSheetInit options = {});
|
|
|
|
// readonly attribute CSSRule? ownerRule;
|
|
[Throws, SameObject] readonly attribute CSSRuleList cssRules;
|
|
[Throws] unsigned long insertRule(DOMString rule, optional unsigned long index = 0);
|
|
[Throws] undefined deleteRule(unsigned long index);
|
|
|
|
[Throws] Promise<CSSStyleSheet> replace(USVString text);
|
|
[Throws] undefined replaceSync(USVString text);
|
|
};
|
|
|
|
dictionary CSSStyleSheetInit {
|
|
// DOMString baseURL = null;
|
|
(MediaList or DOMString) media;
|
|
boolean disabled = false;
|
|
};
|
|
|
|
// 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);
|
|
};
|