From 830efff4fc1cade606eecdaa1f7f78e0dc5e1226 Mon Sep 17 00:00:00 2001 From: Kosta Harlan Date: Fri, 29 Jun 2018 14:58:03 -0400 Subject: [PATCH] RC Filters: Avoid unnecessary update events when clearing highlight The strict equality check just below the lines added in this commit will fail if the Item's highlightColor is null/undefined, and if the incoming parameter is null. This situation happens when mw.rcfilters.dm.ItemModel.prototype.clearHighlightColor is called when updating the state from the query parameters. By returning early we can avoid emitting update events for every filter item. Bug: T198359 Change-Id: Ia3e5f333964545c7f33777be915389728c03eace --- .../src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js index d1e40cad90..fef52264e4 100644 --- a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js +++ b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js @@ -207,6 +207,10 @@ if ( !this.isHighlightSupported() ) { return; } + // If the highlight color on the item and in the parameter is null/undefined, return early. + if ( !this.highlightColor && !highlightColor ) { + return; + } if ( this.highlightColor !== highlightColor ) { this.highlightColor = highlightColor; -- 2.20.1