blob: f15a3b917e63802c848db57b9e6ffd4c43544b98 [file] [log] [blame]
/*
* Copyright (C) 2006-2024 Apple Inc. All rights reserved.
* Copyright (C) 2006 Samuel Weinig <[email protected]>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
// https://drafts.csswg.org/cssom/#the-cssstylesheet-interface
[
Exposed=Window,
JSGenerateToNativeObject
] interface CSSStyleSheet : StyleSheet {
[CallWith=CurrentDocument] constructor(optional CSSStyleSheetInit options = {});
// FIXME: `ownerRule` should be nullable.
readonly attribute CSSRule ownerRule;
// FIXME: Add [SameObject] below after https://webkit.org/b/163414
[ImplementedAs=cssRulesForBindings] readonly attribute CSSRuleList cssRules;
unsigned long insertRule(DOMString rule, optional unsigned long index = 0);
undefined deleteRule(unsigned long index);
// Non-standard.
readonly attribute CSSRuleList rules;
long addRule(optional DOMString selector = "undefined", optional DOMString style = "undefined", optional unsigned long index);
undefined removeRule(optional unsigned long index = 0);
Promise<CSSStyleSheet> replace(USVString text);
undefined replaceSync(USVString text);
};
dictionary CSSStyleSheetInit {
DOMString baseURL = null;
(MediaList or DOMString) media = "";
boolean disabled = false;
};