diff --git a/src/shared/compatibility.js b/src/shared/compatibility.js index 01a2ba701..53b61cadb 100644 --- a/src/shared/compatibility.js +++ b/src/shared/compatibility.js @@ -101,14 +101,17 @@ const hasDOM = typeof window === 'object' && typeof document === 'object'; if (div.classList.toggle('test', 0) === false) { return; } - const originalDOMTokenListToggle = DOMTokenList.prototype.toggle; DOMTokenList.prototype.toggle = function(token) { if (arguments.length > 1) { const force = !!arguments[1]; return (this[force ? 'add' : 'remove'](token), force); } - return originalDOMTokenListToggle(token); + + if (this.contains(token)) { + return (this.remove(token), false); + } + return (this.add(token), true); }; })(); diff --git a/web/pdf_find_bar.js b/web/pdf_find_bar.js index 665352797..d86993307 100644 --- a/web/pdf_find_bar.js +++ b/web/pdf_find_bar.js @@ -180,7 +180,7 @@ class PDFFindBar { } Promise.resolve(matchesCountMsg).then((msg) => { this.findResultsCount.textContent = msg; - this.findResultsCount.classList[!total ? 'add' : 'remove']('hidden'); + this.findResultsCount.classList.toggle('hidden', !total); // Since `updateResultsCount` may be called from `PDFFindController`, // ensure that the width of the findbar is always updated correctly. this._adjustWidth();