Bartosz Dziewoński has uploaded a new change for review.
https://gerrit.wikimedia.org/r/297288
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(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/88/297288/1
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: newchange
Gerrit-Change-Id: I7446d85bce37a4bd9398e2d258aa2f6dc0e593a8
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Bartosz Dziewoński <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits