File's structured serialization should serialize lastModified attribute
[WebKit-https.git] / LayoutTests / imported / w3c / web-platform-tests / interfaces / cssom.idl
1 typedef USVString CSSOMString;
2
3 [Exposed=Window,
4  LegacyArrayClass]
5 interface MediaList {
6   stringifier attribute [TreatNullAs=EmptyString] CSSOMString mediaText;
7   readonly attribute unsigned long length;
8   getter CSSOMString? item(unsigned long index);
9   void appendMedium(CSSOMString medium);
10   void deleteMedium(CSSOMString medium);
11 };
12
13 [Exposed=Window]
14 interface StyleSheet {
15   readonly attribute CSSOMString type;
16   readonly attribute USVString? href;
17   readonly attribute (Element or ProcessingInstruction)? ownerNode;
18   readonly attribute StyleSheet? parentStyleSheet;
19   readonly attribute DOMString? title;
20   [SameObject, PutForwards=mediaText] readonly attribute MediaList media;
21   attribute boolean disabled;
22 };
23
24 [Exposed=Window]
25 interface CSSStyleSheet : StyleSheet {
26   readonly attribute CSSRule? ownerRule;
27   [SameObject] readonly attribute CSSRuleList cssRules;
28   unsigned long insertRule(CSSOMString rule, optional unsigned long index = 0);
29   void deleteRule(unsigned long index);
30 };
31
32 [Exposed=Window,
33  LegacyArrayClass]
34 interface StyleSheetList {
35   getter StyleSheet? item(unsigned long index);
36   readonly attribute unsigned long length;
37 };
38
39 partial interface Document {
40   [SameObject] readonly attribute StyleSheetList styleSheets;
41 };
42
43 [Exposed=Window,
44  NoInterfaceObject]
45 interface LinkStyle {
46   readonly attribute StyleSheet? sheet;
47 };
48
49 ProcessingInstruction implements LinkStyle;
50 [Exposed=Window,
51  LegacyArrayClass]
52 interface CSSRuleList {
53   getter CSSRule? item(unsigned long index);
54   readonly attribute unsigned long length;
55 };
56
57 [Exposed=Window]
58 interface CSSRule {
59   const unsigned short STYLE_RULE = 1;
60   const unsigned short CHARSET_RULE = 2; // historical
61   const unsigned short IMPORT_RULE = 3;
62   const unsigned short MEDIA_RULE = 4;
63   const unsigned short FONT_FACE_RULE = 5;
64   const unsigned short PAGE_RULE = 6;
65   const unsigned short MARGIN_RULE = 9;
66   const unsigned short NAMESPACE_RULE = 10;
67   readonly attribute unsigned short type;
68   attribute CSSOMString cssText;
69   readonly attribute CSSRule? parentRule;
70   readonly attribute CSSStyleSheet? parentStyleSheet;
71 };
72
73 [Exposed=Window]
74 interface CSSStyleRule : CSSRule {
75   attribute CSSOMString selectorText;
76   [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
77 };
78
79 [Exposed=Window]
80 interface CSSImportRule : CSSRule {
81   readonly attribute USVString href;
82   [SameObject, PutForwards=mediaText] readonly attribute MediaList media;
83   [SameObject] readonly attribute CSSStyleSheet styleSheet;
84 };
85
86 [Exposed=Window]
87 interface CSSGroupingRule : CSSRule {
88   [SameObject] readonly attribute CSSRuleList cssRules;
89   unsigned long insertRule(CSSOMString rule, optional unsigned long index = 0);
90   void deleteRule(unsigned long index);
91 };
92
93 [Exposed=Window]
94 interface CSSPageRule : CSSGroupingRule {
95            attribute CSSOMString selectorText;
96   [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
97 };
98
99 [Exposed=Window]
100 interface CSSMarginRule : CSSRule {
101   readonly attribute CSSOMString name;
102   [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
103 };
104
105 [Exposed=Window]
106 interface CSSNamespaceRule : CSSRule {
107   readonly attribute CSSOMString namespaceURI;
108   readonly attribute CSSOMString prefix;
109 };
110
111 [Exposed=Window]
112 interface CSSStyleDeclaration {
113   [CEReactions] attribute CSSOMString cssText;
114   readonly attribute unsigned long length;
115   getter CSSOMString item(unsigned long index);
116   CSSOMString getPropertyValue(CSSOMString property);
117   CSSOMString getPropertyPriority(CSSOMString property);
118   [CEReactions] void setProperty(CSSOMString property, [TreatNullAs=EmptyString] CSSOMString value, [TreatNullAs=EmptyString] optional CSSOMString priority = "");
119   [CEReactions] void setPropertyValue(CSSOMString property, [TreatNullAs=EmptyString] CSSOMString value);
120   [CEReactions] void setPropertyPriority(CSSOMString property, [TreatNullAs=EmptyString] CSSOMString priority);
121   [CEReactions] CSSOMString removeProperty(CSSOMString property);
122   readonly attribute CSSRule? parentRule;
123   [CEReactions] attribute [TreatNullAs=EmptyString] CSSOMString cssFloat;
124 };
125
126 [Exposed=Window,
127  NoInterfaceObject]
128 interface ElementCSSInlineStyle {
129   [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
130 };
131
132 HTMLElement implements ElementCSSInlineStyle;
133
134 SVGElement implements ElementCSSInlineStyle;
135
136 partial interface Window {
137   [NewObject] CSSStyleDeclaration getComputedStyle(Element elt, optional CSSOMString? pseudoElt);
138 };
139
140 [Exposed=Window]
141 interface CSS {
142   static CSSOMString escape(CSSOMString ident);
143 };