Skip to content

Commit 50fa9b8

Browse files
committed
[css-paint-api] Filter out unsupported properties from inputProperties.
Fixes w3c#523.
1 parent f9f174d commit 50fa9b8

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

css-paint-api/Overview.bs

+18-15
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,9 @@ called, the user agent <em>must</em> run the following steps:
198198
<a>converting</a> |inputPropertiesIterable| to a <code>sequence&lt;DOMString></code>. If an
199199
exception is <a>thrown</a>, rethrow the exception and abort all these steps.
200200

201+
7. Filter |inputProperties| so that it only contains <a>supported CSS properties</a> and
202+
<a>custom properties</a>.
203+
201204
Note: The list of CSS properties provided by the input properties getter can either be custom or
202205
native CSS properties.
203206

@@ -207,48 +210,48 @@ called, the user agent <em>must</em> run the following steps:
207210
also contains currently invalid properties for the user agent. For example
208211
<code>margin-bikeshed-property</code>.
209212

210-
7. Let |inputArguments| be an empty <code>sequence&lt;DOMString></code>.
213+
8. Let |inputArguments| be an empty <code>sequence&lt;DOMString></code>.
211214

212-
8. Let |inputArgumentsIterable| be the result of <a>Get</a>(|paintCtor|, "inputArguments").
215+
9. Let |inputArgumentsIterable| be the result of <a>Get</a>(|paintCtor|, "inputArguments").
213216

214-
9. If |inputArgumentsIterable| is not undefined, then set |inputArguments| to the result of
217+
10. If |inputArgumentsIterable| is not undefined, then set |inputArguments| to the result of
215218
<a>converting</a> |inputArgumentsIterable| to a <code>sequence&lt;DOMString></code>. If an
216219
execption is thrown, rethrow the execption and abort all these steps.
217220

218-
10. Let |inputArgumentSyntaxes| be an <a for=list>empty</a> <a>list</a>.
221+
11. Let |inputArgumentSyntaxes| be an <a for=list>empty</a> <a>list</a>.
219222

220-
11. <a for=list>For each</a> |item| in |inputArguments| perform the following substeps:
223+
12. <a for=list>For each</a> |item| in |inputArguments| perform the following substeps:
221224

222225
1. Let |parsedSyntax| be the result of parsing |item| according to the rules in
223226
[[css-properties-values-api-1#supported-syntax-strings]]. If it fails to parse
224227
<a>throw</a> a <a>TypeError</a> and abort all these steps.
225228

226229
2. <a for=list>Append</a> |parsedSyntax| to |inputArgumentSyntaxes|.
227230

228-
12. Let |contextOptionsValue| be the result of <a>Get</a>(|paintCtor|, "contextOptions").
231+
13. Let |contextOptionsValue| be the result of <a>Get</a>(|paintCtor|, "contextOptions").
229232

230-
13. Let |paintRenderingContext2DSettings| be the result of <a>converting</a>
233+
14. Let |paintRenderingContext2DSettings| be the result of <a>converting</a>
231234
|contextOptionsValue| to a {{PaintRenderingContext2DSettings}}.
232235
If an exception is <a>thrown</a>, rethrow the exception and abort all these steps.
233236

234237
Note: Setting <code>paintRenderingContext2DSettings.alpha</code> is <code>false</code> allows user agents
235238
to anti-alias text in addition to performing "visibility" optimizations, e.g. not
236239
painting an image behind the paint image as the paint image is opaque.
237240

238-
14. If the result of <a>IsConstructor</a>(|paintCtor|) is false, <a>throw</a> a <a>TypeError</a>
241+
15. If the result of <a>IsConstructor</a>(|paintCtor|) is false, <a>throw</a> a <a>TypeError</a>
239242
and abort all these steps.
240243

241-
15. Let |prototype| be the result of <a>Get</a>(|paintCtor|, "prototype").
244+
16. Let |prototype| be the result of <a>Get</a>(|paintCtor|, "prototype").
242245

243-
16. If the result of <a>Type</a>(|prototype|) is not Object, <a>throw</a> a <a>TypeError</a> and
246+
17. If the result of <a>Type</a>(|prototype|) is not Object, <a>throw</a> a <a>TypeError</a> and
244247
abort all these steps.
245248

246-
17. Let |paintValue| be the result of <a>Get</a>(|prototype|, "paint").
249+
18. Let |paintValue| be the result of <a>Get</a>(|prototype|, "paint").
247250

248-
18. Let |paint| be the result of <a>converting</a> |paintValue| to the <a>Function</a>
251+
19. Let |paint| be the result of <a>converting</a> |paintValue| to the <a>Function</a>
249252
<a>callback function</a> type. Rethrow any exceptions from the conversion.
250253

251-
19. Let |definition| be a new <a>paint definition</a> with:
254+
20. Let |definition| be a new <a>paint definition</a> with:
252255

253256
- <a>class constructor</a> being |paintCtor|.
254257

@@ -260,9 +263,9 @@ called, the user agent <em>must</em> run the following steps:
260263

261264
- <a for="paint definition">PaintRenderingContext2DSettings object</a> being |paintRenderingContext2DSettings|.
262265

263-
20. <a for=map>Set</a> |paintDefinitionMap|[|name|] to |definition|.
266+
21. <a for=map>Set</a> |paintDefinitionMap|[|name|] to |definition|.
264267

265-
21. <a>Queue a task</a> to run the following steps:
268+
22. <a>Queue a task</a> to run the following steps:
266269

267270
1. Let |documentPaintDefinitionMap| be the associated <a>document's</a> <a>document paint
268271
definitions</a> <a>map</a>.

0 commit comments

Comments
 (0)