diff --git a/files/en-us/mozilla/firefox/releases/5/updating_add-ons/index.md b/files/en-us/mozilla/firefox/releases/5/updating_add-ons/index.md index 1f86ba9e5c4e1f1..4670924f9796994 100644 --- a/files/en-us/mozilla/firefox/releases/5/updating_add-ons/index.md +++ b/files/en-us/mozilla/firefox/releases/5/updating_add-ons/index.md @@ -28,7 +28,7 @@ In the past, the {{ domxref("Navigator.language", "window.navigator.language") } ## DOM changes -The behaviors of {{domxref("Window.setTimeout()")}}, {{domxref("WorkerGlobalScope.setTimeout()")}}, {{domxref("Window.setInterval()")}} and {{domxref("WorkerGlobalScope.setInterval()")}} have changed; the minimum allowed time has changed, and [varies depending on the situation](/en-US/docs/Web/API/Window/setTimeout#reasons_for_delays_longer_than_specified). In addition, timeouts and intervals are clamped to one per second in inactive tabs (that is, tabs the user isn't currently looking at). +The behaviors of {{domxref("Window.setTimeout()")}}, {{domxref("WorkerGlobalScope.setTimeout()")}}, {{domxref("Window.setInterval()")}} and {{domxref("WorkerGlobalScope.setInterval()")}} have changed; the minimum allowed time has changed, and [varies depending on the situation](/en-US/docs/Web/API/Window/setTimeout#reasons_for_longer_delays_than_specified). In addition, timeouts and intervals are clamped to one per second in inactive tabs (that is, tabs the user isn't currently looking at). ## JavaScript changes diff --git a/files/en-us/mozilla/firefox/releases/56/index.md b/files/en-us/mozilla/firefox/releases/56/index.md index 4b65a5a8c1be294..0763d1d9855a807 100644 --- a/files/en-us/mozilla/firefox/releases/56/index.md +++ b/files/en-us/mozilla/firefox/releases/56/index.md @@ -44,7 +44,7 @@ _No changes._ - The {{domxref("Gamepad.displayId")}} property has been implemented ([Firefox bug 1375816](https://bugzil.la/1375816)). - The {{domxref("PerformanceTiming.secureConnectionStart")}} property has been implemented ([Firefox bug 772589](https://bugzil.la/772589)). - Firefox used to accept `iso-2022-jp-2` sequences silently when an `iso-2022-jp` {{domxref("TextDecoder.TextDecoder","TextDecoder()")}} was instantiated, however this has now been removed to simplify the API, as no other browsers support it and no pages seem to use it. ([Firefox bug 715833](https://bugzil.la/715833)). -- The 4ms clamping behavior of {{domxref("Window.setTimeout()")}}, {{domxref("WorkerGlobalScope.setTimeout()")}}, {{domxref("Window.setInterval()")}} and {{domxref("WorkerGlobalScope.setInterval()")}} has been updated to be more in line with other browsers, as described in [Reasons for delays longer than specified](/en-US/docs/Web/API/Window/setTimeout#reasons_for_delays_longer_than_specified) ([Firefox bug 1378586](https://bugzil.la/1378586)). +- The 4ms clamping behavior of {{domxref("Window.setTimeout()")}}, {{domxref("WorkerGlobalScope.setTimeout()")}}, {{domxref("Window.setInterval()")}} and {{domxref("WorkerGlobalScope.setInterval()")}} has been updated to be more in line with other browsers, as described in [Reasons for longer delays than specified](/en-US/docs/Web/API/Window/setTimeout#reasons_for_longer_delays_than_specified) ([Firefox bug 1378586](https://bugzil.la/1378586)). - The [Page Visibility API's](/en-US/docs/Web/API/Page_Visibility_API) {{domxref("Document.visibilitychange_event", "onvisibilitychange")}} handler has been added ([Firefox bug 1333912](https://bugzil.la/1333912)). - The `Window.showModalDialog()` method has been removed ([Firefox bug 981796](https://bugzil.la/981796)). - The implementation of the {{domxref("HTMLFormElement.action")}}, {{domxref("HTMLInputElement.formAction")}}, and {{domxref("HTMLButtonElement.formAction")}} properties has been updated so that they return the correct form submission URL, as per spec ([Firefox bug 1366361](https://bugzil.la/1366361)). diff --git a/files/en-us/web/api/page_visibility_api/index.md b/files/en-us/web/api/page_visibility_api/index.md index 885de5a19260f55..c93753b722154de 100644 --- a/files/en-us/web/api/page_visibility_api/index.md +++ b/files/en-us/web/api/page_visibility_api/index.md @@ -35,10 +35,10 @@ Developers have historically used imperfect proxies to detect this. For example, Separately from the Page Visibility API, user agents typically have a number of policies in place to mitigate the performance impact of background or hidden tabs. These may include: - Most browsers stop sending {{domxref("Window.requestAnimationFrame", "requestAnimationFrame()")}} callbacks to background tabs or hidden {{ HTMLElement("iframe") }}s in order to improve performance and battery life. -- Timers such as {{domxref("Window.setTimeout", "setTimeout()")}} are throttled in background/inactive tabs to help improve performance. See [Reasons for delays longer than specified](/en-US/docs/Web/API/Window/setTimeout#reasons_for_delays_longer_than_specified) for more details. +- Timers such as {{domxref("Window.setTimeout", "setTimeout()")}} are throttled in background/inactive tabs to help improve performance. See [Reasons for longer delays than specified](/en-US/docs/Web/API/Window/setTimeout#reasons_for_longer_delays_than_specified) for more details. - Browsers implement budget-based background timeout throttling. This operates in a similar way across modern browsers, with the details being as follows: - In Firefox, windows in background tabs each have their own time budget in milliseconds — a max and a min value of +50 ms and -150 ms, respectively. Chrome is very similar except that the budget is specified in seconds. - - Windows are subjected to throttling after 30 seconds, with the same throttling delay rules as specified for window timers (again, see [Reasons for delays longer than specified](/en-US/docs/Web/API/Window/setTimeout#reasons_for_delays_longer_than_specified)). In Chrome, this value is 10 seconds. + - Windows are subjected to throttling after 30 seconds, with the same throttling delay rules as specified for window timers (again, see [Reasons for longer delays than specified](/en-US/docs/Web/API/Window/setTimeout#reasons_for_longer_delays_than_specified)). In Chrome, this value is 10 seconds. - Timer tasks are only permitted when the budget is non-negative. - Once a timer's code has finished running, the duration of time it took to execute is subtracted from its window's timeout budget. - The budget regenerates at a rate of 10 ms per second, in both Firefox and Chrome. diff --git a/files/en-us/web/api/window/setinterval/index.md b/files/en-us/web/api/window/setinterval/index.md index 9a9d365d5137751..ec3f22cfb6e98a7 100644 --- a/files/en-us/web/api/window/setinterval/index.md +++ b/files/en-us/web/api/window/setinterval/index.md @@ -25,9 +25,9 @@ setInterval(code, delay) setInterval(func) setInterval(func, delay) -setInterval(func, delay, arg1) -setInterval(func, delay, arg1, arg2) -setInterval(func, delay, arg1, arg2, /* …, */ argN) +setInterval(func, delay, param1) +setInterval(func, delay, param1, param2) +setInterval(func, delay, param1, param2, /* …, */ paramN) ``` ### Parameters @@ -42,7 +42,7 @@ setInterval(func, delay, arg1, arg2, /* …, */ argN) - : The delay time between executions of the specified function or code, in milliseconds. Defaults to 0 if not specified. See [Delay restrictions](#delay_restrictions) below for details on the permitted range of `delay` values. -- `arg1`, …, `argN` {{optional_inline}} +- `param1`, …, `paramN` {{optional_inline}} - : Additional arguments which are passed through to the function specified by _func_ once the timer expires. ### Return value @@ -73,11 +73,10 @@ To mitigate the potential impact this can have on performance, once intervals ar Attempts to specify a value less than 4 ms in deeply-nested calls to `setInterval()` will be pinned to 4 ms. Browsers may enforce even more stringent minimum values for the interval under some circumstances, although these should not be common. -Note also that the actual amount of time that elapses between calls to the callback may be longer than the given `delay`; see [Reasons for delays longer than specified](/en-US/docs/Web/API/Window/setTimeout#reasons_for_delays_longer_than_specified) for examples. +Note also that the actual amount of time that elapses between calls to the callback may be longer than the given `delay`; see [Reasons for delays longer than specified](/en-US/docs/Web/API/Window/setTimeout#reasons_for_longer_delays_than_specified) for examples. > [!NOTE] -> The `delay` argument is converted to a signed 32-bit integer. -> This effectively limits `delay` to 2147483647 ms, roughly 24.8 days, since it's specified as a signed integer in the IDL. +> The `delay` argument is converted to a signed 32-bit integer, which limits the value to 2147483647 ms, or roughly 24.8 days. ### Interval IDs are shared with `setTimeout()` @@ -150,24 +149,40 @@ That lets you bypass problems where it's unclear what `this` will be, depending The method can be used to execute arbitrary input passed in the `code` parameter. If the input is a potentially unsafe string provided by a user, this is a possible vector for [Cross-site-scripting (XSS)](/en-US/docs/Web/Security/Attacks/XSS) attacks. -For example, the following example assumes the `scriptElement` is an executable `