Page MenuHomePhabricator

Move encodeJsVar() and encodeJsCall() from Xml to Html class
Closed, ResolvedPublic

Description

Xml::encodeJsVar() and Xml::encodeJsCall() are fairly widely used (though often only a handful of times per extension), see codesearch. They’re clearly dealing with a pretty HTML-specific concern, and should thus live in the Html class instead.

  • Add to Html class
    • The Xml implementation can probably just call the Html version
    • Rename XmlJsCode to HtmlJsCode and leave a class_alias behind? (It’s not actually used outside of core according to codesearch, but I think it’s technically part of the stable interface, and the class_alias shouldn’t hurt much.)
  • Soft-deprecate Xml version
  • Update Wikimedia-deployed callers
  • Hard-deprecate Xml version, in MW 1.44 (patch)
  • Remove Xml version, in MW 1.45+

Event Timeline

Change 937976 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/core@master] Html: Move encodeJsVar() + encodeJsCall() from Xml

https://gerrit.wikimedia.org/r/937976

Change 938219 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Wikibase@master] Use Html::encodeJsVar()

https://gerrit.wikimedia.org/r/938219

Change 937976 merged by jenkins-bot:

[mediawiki/core@master] Html: Move encodeJsVar() + encodeJsCall() from Xml

https://gerrit.wikimedia.org/r/937976

Change 938219 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Use Html::encodeJsVar()

https://gerrit.wikimedia.org/r/938219

Change 940173 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/core@master] Use Html::encodeJsVar() and Html::encodeJsCall()

https://gerrit.wikimedia.org/r/940173

Change 940173 merged by jenkins-bot:

[mediawiki/core@master] Use Html::encodeJsVar() and Html::encodeJsCall()

https://gerrit.wikimedia.org/r/940173

Change #1025294 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/AdvancedSearch@master] Stop using the Xml class in this codebase

https://gerrit.wikimedia.org/r/1025294

Change #1025298 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Gadgets@master] Stop using the Xml class in this codebase

https://gerrit.wikimedia.org/r/1025298

Change #1025298 merged by jenkins-bot:

[mediawiki/extensions/Gadgets@master] Stop using the Xml class in this codebase

https://gerrit.wikimedia.org/r/1025298

Change #1025294 merged by jenkins-bot:

[mediawiki/extensions/AdvancedSearch@master] Stop using the Xml class in this codebase

https://gerrit.wikimedia.org/r/1025294

Change #1056159 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/CentralAuth@master] SpecialCentralAutoLogin: Stop using Xml::encodeJsVar, deprecated

https://gerrit.wikimedia.org/r/1056159

Change #1056160 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/MobileFrontend@master] MobileConfig: Stop using Xml::encodeJsVar, deprecated

https://gerrit.wikimedia.org/r/1056160

Change #1056161 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/DismissableSiteNotice@master] Hooks: Stop using Xml::encodeJsVar, deprecated

https://gerrit.wikimedia.org/r/1056161

Change #1056170 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/UniversalLanguageSelector@master] ResourceLoaderULSJsonMessageModule: Stop using Xml::encodeJsVar, deprecated

https://gerrit.wikimedia.org/r/1056170

Change #1056171 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/DonationInterface@master] [DNM] CurrencyRatesModule: Stop using Xml::encodeJsVar, deprecated

https://gerrit.wikimedia.org/r/1056171

Change #1056160 merged by jenkins-bot:

[mediawiki/extensions/MobileFrontend@master] MobileConfig: Stop using Xml::encodeJsVar, deprecated

https://gerrit.wikimedia.org/r/1056160

Change #1056170 merged by jenkins-bot:

[mediawiki/extensions/UniversalLanguageSelector@master] ResourceLoaderULSJsonMessageModule: Stop using Xml::encodeJsVar, deprecated

https://gerrit.wikimedia.org/r/1056170

Change #1056159 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] SpecialCentralAutoLogin: Stop using Xml::encodeJsVar, deprecated

https://gerrit.wikimedia.org/r/1056159

Change #1056161 merged by jenkins-bot:

[mediawiki/extensions/DismissableSiteNotice@master] Hooks: Stop using Xml::encodeJsVar, deprecated

https://gerrit.wikimedia.org/r/1056161

Jdforrester-WMF changed the task status from Open to Stalled.Jul 23 2024, 3:35 PM
Jdforrester-WMF updated the task description. (Show Details)
Jdforrester-WMF updated the task description. (Show Details)

Change #1056171 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] CurrencyRatesModule: Stop using Xml::encodeJsVar, deprecated

https://gerrit.wikimedia.org/r/1056171

Change #1126651 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/core@master] Xml: Hard-deprecate encodeJsCall/encodeJsVar, no longer used in prod

https://gerrit.wikimedia.org/r/1126651

Jdforrester-WMF changed the task status from Stalled to Open.Mar 11 2025, 8:35 PM
Jdforrester-WMF updated the task description. (Show Details)

Change #1126651 merged by jenkins-bot:

[mediawiki/core@master] Xml: Hard-deprecate encodeJsCall/encodeJsVar, no longer used in prod

https://gerrit.wikimedia.org/r/1126651

Change #1196532 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/core@master] Drop many deprecated static methods of Xml abused to generate Html

https://gerrit.wikimedia.org/r/1196532

Jdforrester-WMF changed the task status from Open to In Progress.Oct 15 2025, 10:26 PM
Jdforrester-WMF claimed this task.

Change #1196532 merged by jenkins-bot:

[mediawiki/core@master] Drop many deprecated static methods of Xml abused to generate Html

https://gerrit.wikimedia.org/r/1196532