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

bzbarsky 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?

If so, then the right place to put this might be not inside generic DOMString/USVString conversion but specifically in operation argument and attribute setter type conversions.  That would avoid the ambient "related construct" bit and make it much clearer when these things actually have an effect.

-- 
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_r379282976

Received on Friday, 14 February 2020 07:26:42 UTC