RCFilters: HTML-escape tag names in filter capsules
authorRoan Kattouw <roan.kattouw@gmail.com>
Wed, 25 Oct 2017 09:09:05 +0000 (14:39 +0530)
committerRoan Kattouw <roan.kattouw@gmail.com>
Fri, 27 Oct 2017 08:06:28 +0000 (13:36 +0530)
Bug: T178975
Change-Id: I9544a675fa2801bdb5d7de3ebd162a4214de740f

resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js

index d940321..2b5d020 100644 (file)
         * Get a prefixed label
         *
         * @param {boolean} inverted This item should be considered inverted
-        * @return {string} Prefixed label
+        * @return {string} Prefixed label (HTML)
         */
        mw.rcfilters.dm.ItemModel.prototype.getPrefixedLabel = function ( inverted ) {
+               var escapedLabel = mw.html.escape( this.getLabel() );
                if ( this.labelPrefixKey ) {
                        if ( typeof this.labelPrefixKey === 'string' ) {
-                               return mw.message( this.labelPrefixKey, this.getLabel() ).parse();
+                               return mw.message( this.labelPrefixKey, escapedLabel ).parse();
                        } else {
                                return mw.message(
                                        this.labelPrefixKey[
                                                inverted && this.isSelected() ?
                                                        'inverted' : 'default'
                                        ],
-                                       this.getLabel()
+                                       escapedLabel
                                ).parse();
                        }
                } else {
-                       return this.getLabel();
+                       return escapedLabel;
                }
        };