From 9409143c60ba6d32049528e6459439e41c3b79d7 Mon Sep 17 00:00:00 2001 From: lorenzsimon Date: Wed, 22 Nov 2023 10:44:13 +0100 Subject: [PATCH] Add the crossorigin attribute to the script element It is helpful to check the integrity for libraries like htmx. --- buildSrc/src/main/resources/html_5.xsd | 8 ++++++++ src/commonMain/kotlin/generated/gen-attributes.kt | 2 ++ .../kotlin/generated/gen-consumer-tags.kt | 4 ++-- src/commonMain/kotlin/generated/gen-enums.kt | 7 +++++++ src/commonMain/kotlin/generated/gen-tag-unions.kt | 14 ++++++++++++-- src/commonMain/kotlin/generated/gen-tags-s.kt | 4 ++++ .../kotlin/generated/gen-consumer-tags-js.kt | 4 ++-- 7 files changed, 37 insertions(+), 6 deletions(-) diff --git a/buildSrc/src/main/resources/html_5.xsd b/buildSrc/src/main/resources/html_5.xsd index ec043f04..1dcdad97 100644 --- a/buildSrc/src/main/resources/html_5.xsd +++ b/buildSrc/src/main/resources/html_5.xsd @@ -608,6 +608,14 @@ + + + + + + + + diff --git a/src/commonMain/kotlin/generated/gen-attributes.kt b/src/commonMain/kotlin/generated/gen-attributes.kt index ba14bd7b..f2125a26 100644 --- a/src/commonMain/kotlin/generated/gen-attributes.kt +++ b/src/commonMain/kotlin/generated/gen-attributes.kt @@ -46,6 +46,8 @@ internal val attributeKeyGenKeyTypeEnumKeyGenKeyTypeValues : Attribute = EnumAttribute(runAtValues) +internal val attributeScriptCrossoriginEnumScriptCrossoriginValues : Attribute = EnumAttribute(scriptCrossoriginValues) + internal val attributeTextAreaWrapEnumTextAreaWrapValues : Attribute = EnumAttribute(textAreaWrapValues) internal val attributeThScopeEnumThScopeValues : Attribute = EnumAttribute(thScopeValues) diff --git a/src/commonMain/kotlin/generated/gen-consumer-tags.kt b/src/commonMain/kotlin/generated/gen-consumer-tags.kt index 6e8f600d..70f67645 100644 --- a/src/commonMain/kotlin/generated/gen-consumer-tags.kt +++ b/src/commonMain/kotlin/generated/gen-consumer-tags.kt @@ -538,12 +538,12 @@ inline fun > C.samp(classes : String? = null, crossinline * Script statements */ @HtmlTagMarker -fun > C.script(type : String? = null, src : String? = null, content : String = "") : T = SCRIPT(attributesMapOf("type", type,"src", src), this).visitAndFinalize(this, {+content}) +fun > C.script(type : String? = null, src : String? = null, crossorigin : ScriptCrossorigin? = null, content : String = "") : T = SCRIPT(attributesMapOf("type", type,"src", src,"crossorigin", crossorigin?.enumEncode()), this).visitAndFinalize(this, {+content}) /** * Script statements */ @HtmlTagMarker -inline fun > C.script(type : String? = null, src : String? = null, crossinline block : SCRIPT.() -> Unit = {}) : T = SCRIPT(attributesMapOf("type", type,"src", src), this).visitAndFinalize(this, block) +inline fun > C.script(type : String? = null, src : String? = null, crossorigin : ScriptCrossorigin? = null, crossinline block : SCRIPT.() -> Unit = {}) : T = SCRIPT(attributesMapOf("type", type,"src", src,"crossorigin", crossorigin?.enumEncode()), this).visitAndFinalize(this, block) /** * Generic document or application section diff --git a/src/commonMain/kotlin/generated/gen-enums.kt b/src/commonMain/kotlin/generated/gen-enums.kt index 851a3615..fa19aa4b 100644 --- a/src/commonMain/kotlin/generated/gen-enums.kt +++ b/src/commonMain/kotlin/generated/gen-enums.kt @@ -367,6 +367,13 @@ object ScriptType { val values : List = listOf("textEcmaScript", "textJavaScript", "textJavaScript10", "textJavaScript11", "textJavaScript12", "textJavaScript13", "textJavaScript14", "textJavaScript15", "textJScript", "textXJavaScript", "textXEcmaScript", "textVbScript") } +@Suppress("unused") +enum class ScriptCrossorigin(override val realValue : String) : AttributeEnum { + anonymous("anonymous"), + useCredentials("use-credentials") +} + +internal val scriptCrossoriginValues : Map = ScriptCrossorigin.values().associateBy { it.realValue } @Suppress("unused") object StyleType { val textCss : String = "text/css" diff --git a/src/commonMain/kotlin/generated/gen-tag-unions.kt b/src/commonMain/kotlin/generated/gen-tag-unions.kt index 12660445..60f37367 100644 --- a/src/commonMain/kotlin/generated/gen-tag-unions.kt +++ b/src/commonMain/kotlin/generated/gen-tag-unions.kt @@ -63,14 +63,24 @@ inline fun FlowOrMetaDataOrPhrasingContent.noScript(classes : String? = null, cr * Script statements */ @HtmlTagMarker -inline fun FlowOrMetaDataOrPhrasingContent.script(type : String? = null, src : String? = null, crossinline block : SCRIPT.() -> Unit = {}) : Unit = SCRIPT(attributesMapOf("type", type,"src", src), consumer).visit(block) +inline fun FlowOrMetaDataOrPhrasingContent.script(type : String? = null, src : String? = null, crossorigin : ScriptCrossorigin? = null, crossinline block : SCRIPT.() -> Unit = {}) : Unit = SCRIPT(attributesMapOf("type", type,"src", src,"crossorigin", crossorigin?.enumEncode()), consumer).visit(block) @Deprecated("This tag doesn't support content or requires unsafe (try unsafe {})") @Suppress("DEPRECATION") /** * Script statements */ @HtmlTagMarker -fun FlowOrMetaDataOrPhrasingContent.script(type : String? = null, src : String? = null, content : String = "") : Unit = SCRIPT(attributesMapOf("type", type,"src", src), consumer).visit({+content}) +fun FlowOrMetaDataOrPhrasingContent.script(type : String? = null, src : String? = null, crossorigin : ScriptCrossorigin? = null, content : String = "") : Unit = SCRIPT(attributesMapOf("type", type,"src", src,"crossorigin", crossorigin?.enumEncode()), consumer).visit({+content}) +@HtmlTagMarker +inline fun FlowOrMetaDataOrPhrasingContent.anonymousScript(type : String? = null, src : String? = null, crossinline block : SCRIPT.() -> Unit = {}) : Unit = SCRIPT(attributesMapOf("type", type,"src", src,"crossorigin", ScriptCrossorigin.anonymous.realValue), consumer).visit(block) +@HtmlTagMarker +inline fun FlowOrMetaDataOrPhrasingContent.useCredentialsScript(type : String? = null, src : String? = null, crossinline block : SCRIPT.() -> Unit = {}) : Unit = SCRIPT(attributesMapOf("type", type,"src", src,"crossorigin", ScriptCrossorigin.useCredentials.realValue), consumer).visit(block) +@Deprecated("This tag doesn't support content or requires unsafe (try unsafe {})") +@Suppress("DEPRECATION") +@HtmlTagMarker +fun FlowOrMetaDataOrPhrasingContent.anonymousScript(type : String? = null, src : String? = null, content : String = "") : Unit = SCRIPT(attributesMapOf("type", type,"src", src,"crossorigin", ScriptCrossorigin.anonymous.realValue), consumer).visit({+content}) +@HtmlTagMarker +fun FlowOrMetaDataOrPhrasingContent.useCredentialsScript(type : String? = null, src : String? = null, content : String = "") : Unit = SCRIPT(attributesMapOf("type", type,"src", src,"crossorigin", ScriptCrossorigin.useCredentials.realValue), consumer).visit({+content}) /** diff --git a/src/commonMain/kotlin/generated/gen-tags-s.kt b/src/commonMain/kotlin/generated/gen-tags-s.kt index 0063889d..38b42cfc 100644 --- a/src/commonMain/kotlin/generated/gen-tags-s.kt +++ b/src/commonMain/kotlin/generated/gen-tags-s.kt @@ -50,6 +50,10 @@ open class SCRIPT(initialAttributes : Map, override val consumer get() = attributeStringString.get(this, "integrity") set(newValue) {attributeStringString.set(this, "integrity", newValue)} + var crossorigin : ScriptCrossorigin + get() = attributeScriptCrossoriginEnumScriptCrossoriginValues.get(this, "crossorigin") + set(newValue) {attributeScriptCrossoriginEnumScriptCrossoriginValues.set(this, "crossorigin", newValue)} + @Deprecated("This tag most likely doesn't support text content or requires unsafe content (try unsafe {}") override operator fun Entities.unaryPlus() : Unit { @Suppress("DEPRECATION") entity(this) diff --git a/src/jsMain/kotlin/generated/gen-consumer-tags-js.kt b/src/jsMain/kotlin/generated/gen-consumer-tags-js.kt index 224affc0..13e73a76 100644 --- a/src/jsMain/kotlin/generated/gen-consumer-tags-js.kt +++ b/src/jsMain/kotlin/generated/gen-consumer-tags-js.kt @@ -539,12 +539,12 @@ public inline fun TagConsumer.samp(classes : String? = null, crossi * Script statements */ @HtmlTagMarker -public fun TagConsumer.script(type : String? = null, src : String? = null, content : String = "") : HTMLScriptElement = SCRIPT(attributesMapOf("type", type,"src", src), this).visitAndFinalize(this, {+content}) as HTMLScriptElement +public fun TagConsumer.script(type : String? = null, src : String? = null, crossorigin : ScriptCrossorigin? = null, content : String = "") : HTMLScriptElement = SCRIPT(attributesMapOf("type", type,"src", src,"crossorigin", crossorigin?.enumEncode()), this).visitAndFinalize(this, {+content}) as HTMLScriptElement /** * Script statements */ @HtmlTagMarker -public inline fun TagConsumer.script(type : String? = null, src : String? = null, crossinline block : SCRIPT.() -> Unit = {}) : HTMLScriptElement = SCRIPT(attributesMapOf("type", type,"src", src), this).visitAndFinalize(this, block) as HTMLScriptElement +public inline fun TagConsumer.script(type : String? = null, src : String? = null, crossorigin : ScriptCrossorigin? = null, crossinline block : SCRIPT.() -> Unit = {}) : HTMLScriptElement = SCRIPT(attributesMapOf("type", type,"src", src,"crossorigin", crossorigin?.enumEncode()), this).visitAndFinalize(this, block) as HTMLScriptElement /** * Generic document or application section