diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /browser/extensions/webcompat/injections/js/bug1799980-healow.com-infinite-loop-fix.js | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/extensions/webcompat/injections/js/bug1799980-healow.com-infinite-loop-fix.js')
-rw-r--r-- | browser/extensions/webcompat/injections/js/bug1799980-healow.com-infinite-loop-fix.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/browser/extensions/webcompat/injections/js/bug1799980-healow.com-infinite-loop-fix.js b/browser/extensions/webcompat/injections/js/bug1799980-healow.com-infinite-loop-fix.js new file mode 100644 index 0000000000..b52f1f4702 --- /dev/null +++ b/browser/extensions/webcompat/injections/js/bug1799980-healow.com-infinite-loop-fix.js @@ -0,0 +1,33 @@ +"use strict"; + +/** + * Bug 1799980 - Healow gets stuck in an infinite loop while pages load + * + * This patch keeps Healow's localization scripts from getting stuck in + * an infinite loop while their pages are loading. + * + * This happens because they use synchronous XMLHttpRequests to fetch a + * JSON file with their localized text on the first call to their i18n + * function, and then force subsequent calls to wait for it by waiting + * in an infinite loop. + * + * But since they're in an infinite loop, the code after the syncXHR will + * never be able to run, so this ultimately triggers a slow script warning. + * + * We can improve this by just preventing the infinite loop from happening, + * though since they disable caching on their JSON files it means that more + * XHRs may happen. But since those files are small, this seems like a + * reasonable compromise until they migrate to a better i18n solution. + * + * See https://bugzilla.mozilla.org/show_bug.cgi?id=1799980 for details. + */ + +/* globals exportFunction */ + +Object.defineProperty(window.wrappedJSObject, "ajaxRequestProcessing", { + get: exportFunction(function() { + return false; + }, window), + + set: exportFunction(function() {}, window), +}); |