@@ -90,69 +90,75 @@ interface CSSParserRule {
90
90
};
91
91
92
92
interface CSSParserAtRule : CSSParserRule {
93
- attribute DOMString name;
94
- attribute FrozenArray<CSSParserValue> prelude;
95
- attribute FrozenArray<CSSParserRule>? body;
93
+ readonly attribute DOMString name;
94
+ readonly attribute FrozenArray<CSSParserValue> prelude;
95
+ readonly attribute FrozenArray<CSSParserRule>? body;
96
96
/* nullable to handle at-statements */
97
97
};
98
98
99
99
interface CSSParserQualifiedRule : CSSParserRule {
100
- attribute FrozenArray<CSSParserValue> prelude;
101
- attribute FrozenArray<CSSParserRule> body;
100
+ readonly attribute FrozenArray<CSSParserValue> prelude;
101
+ readonly attribute FrozenArray<CSSParserRule> body;
102
102
};
103
103
104
104
interface CSSParserDeclaration : CSSParserRule {
105
- attribute DOMString name;
106
- attribute FrozenArray<CSSParserValue> body;
105
+ readonly attribute DOMString name;
106
+ readonly attribute FrozenArray<CSSParserValue> body;
107
107
};
108
108
109
109
interface CSSParserValue {
110
110
};
111
111
112
112
interface CSSParserBlock : CSSParserValue {
113
- attribute DOMString name; /* "[]", "{}", or "()" */
114
- attribute FrozenArray<CSSParserValue> body;
113
+ readonly attribute DOMString name; /* "[]", "{}", or "()" */
114
+ readonly attribute FrozenArray<CSSParserValue> body;
115
115
};
116
116
117
117
interface CSSParserFunction : CSSParserValue {
118
- attribute DOMString name;
119
- attribute FrozenArray<FrozenArray<CSSParserValue>> args;
118
+ readonly attribute DOMString name;
119
+ readonly attribute FrozenArray<FrozenArray<CSSParserValue>> args;
120
120
};
121
121
122
122
interface CSSParserIdent : CSSParserValue {
123
- attribute DOMString value;
123
+ readonly attribute DOMString value;
124
124
};
125
125
126
126
interface CSSParserNumber : CSSParserValue {
127
- attribute double value;
127
+ readonly attribute double value;
128
128
};
129
129
130
130
interface CSSParserPercentage : CSSParserValue {
131
- attribute double value;
131
+ readonly attribute double value;
132
132
};
133
133
134
134
interface CSSParserDimension : CSSParserValue {
135
- attribute double value;
136
- attribute DOMString type;
135
+ readonly attribute double value;
136
+ readonly attribute DOMString type;
137
137
};
138
138
139
139
interface CSSParserAtKeyword : CSSParserValue {
140
- attribute DOMString value;
140
+ readonly attribute DOMString value;
141
141
};
142
142
143
143
interface CSSParserHash : CSSParserValue {
144
- attribute DOMString value;
144
+ readonly attribute DOMString value;
145
145
/* expose an "is ident" boolean? */
146
146
};
147
147
148
148
interface CSSParserString : CSSParserValue {
149
- attribute DOMString value;
149
+ readonly attribute DOMString value;
150
150
};
151
151
152
152
interface CSSParserChar : CSSParserValue {
153
- attribute DOMString value;
153
+ readonly attribute DOMString value;
154
154
/* for all delims, whitespace, and the
155
155
weird Selectors-based tokens
156
156
(split up into the individual chars) */
157
157
};
158
158
</pre>
159
+
160
+ Issue: Some of the CSSParserValue subtypes correspond closely to Typed OM types;
161
+ in particular, {{CSSParserIdent}} and {{CSSKeywordValue}} are basically the same thing,
162
+ as are {{CSSParserNumber}} and {{CSSNumberValue}} .
163
+ Is it worthwhile to transplant this hierarchy underneath the {{CSSStyleValue}} superclass,
164
+ and reuse the ones that are reasonable?
0 commit comments