Re: [heycam/webidl] Added a definition of {{StringContext}} extended attribute. (#841)

koto commented on this pull request.



> @@ -10496,6 +10504,40 @@ that does specify [{{SecureContext}}].
     </pre>
 </div>
 
+<h4 id="StringContext" extended-attribute lt="StringContext">[StringContext]</h4>
+
+If the [{{StringContext}}] [=extended attribute=] appears on {{DOMString}} or {{USVString}}, it
+modifies how the value is converted to the IDL type, causing additional value validation to
+adhere to the context the string is used in.
+
+The [{{StringContext}}] extended attribute must [=takes an identifier|take an identifier=]. The [=identifier=]
+must be one of "<code>html</code>", "<code>script-url</code>" and "<code>script</code>".
+
+A type annotated with the [{{StringContext}}] extended attribute must not appear in a construct
+that is not a [=regular attribute=] or a [=regular operation=]. A type annotated with the [{{StringContext}}]

> OK. So no more unions involved; this mechanism is replacing that?

Yes, the extended attribute is to avoid using type unions in most of the places.

> If so, then the right place to put this might be [...] in operation argument and attribute setter type conversions. 
So something like https://w3c.github.io/webappsec-trusted-types/dist/spec/#!trustedtypes-extended-attribute ? That's the previous attempt.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/pull/841#discussion_r379284833

Received on Friday, 14 February 2020 07:33:38 UTC