jenkins-bot has submitted this change and it was merged. Change subject: mw.widgets.CategorySelector: Avoid JS exceptions for invalid user input ......................................................................
mw.widgets.CategorySelector: Avoid JS exceptions for invalid user input Previously, if the user entered a category name that was not a valid title, we'd pass `null` to CategoryCapsuleItemWidget constructor, which would then fail with 'TypeError: Cannot read property 'getMainText' of null'. Depends on Ifb016e1d2c73ae701cbce4505583e48769fd4ed6 in OOjs UI. Bug: T136238 Change-Id: I7446d85bce37a4bd9398e2d258aa2f6dc0e593a8 --- M resources/src/mediawiki.widgets/mw.widgets.CategorySelector.js 1 file changed, 10 insertions(+), 3 deletions(-) Approvals: Prtksxna: Looks good to me, approved jenkins-bot: Verified diff --git a/resources/src/mediawiki.widgets/mw.widgets.CategorySelector.js b/resources/src/mediawiki.widgets/mw.widgets.CategorySelector.js index 45f52b7..ffb7736 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.CategorySelector.js +++ b/resources/src/mediawiki.widgets/mw.widgets.CategorySelector.js @@ -186,9 +186,13 @@ * @inheritdoc */ CSP.createItemWidget = function ( data ) { + var title = mw.Title.makeTitle( NS_CATEGORY, data ); + if ( !title ) { + return null; + } return new mw.widgets.CategoryCapsuleItemWidget( { apiUrl: this.api.apiUrl || undefined, - title: mw.Title.makeTitle( NS_CATEGORY, data ) + title: title } ); }; @@ -198,8 +202,11 @@ CSP.getItemFromData = function ( data ) { // This is a bit of a hack... We have to canonicalize the data in the same way that // #createItemWidget and CategoryCapsuleItemWidget will do, otherwise we won't find duplicates. - data = mw.Title.makeTitle( NS_CATEGORY, data ).getMainText(); - return OO.ui.mixin.GroupElement.prototype.getItemFromData.call( this, data ); + var title = mw.Title.makeTitle( NS_CATEGORY, data ); + if ( !title ) { + return null; + } + return OO.ui.mixin.GroupElement.prototype.getItemFromData.call( this, title.getMainText() ); }; /** -- To view, visit https://gerrit.wikimedia.org/r/297288 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I7446d85bce37a4bd9398e2d258aa2f6dc0e593a8 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Bartosz Dziewoński <matma....@gmail.com> Gerrit-Reviewer: Bartosz Dziewoński <matma....@gmail.com> Gerrit-Reviewer: Edokter <er...@darcoury.nl> Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net> Gerrit-Reviewer: MarkTraceur <mtrac...@member.fsf.org> Gerrit-Reviewer: Prtksxna <psax...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits