Avoid 'message' in log context in AuthManager
[lhc/web/wiklou.git] / resources / src / mediawiki / mediawiki.requestIdleCallback.js
1 /*!
2 * An interface for scheduling background tasks.
3 *
4 * Loosely based on https://w3c.github.io/requestidlecallback/
5 */
6 ( function ( mw ) {
7 var maxBusy = 50;
8
9 mw.requestIdleCallbackInternal = function ( callback ) {
10 setTimeout( function () {
11 var start = mw.now();
12 callback( {
13 didTimeout: false,
14 timeRemaining: function () {
15 return Math.max( 0, maxBusy - ( mw.now() - start ) );
16 }
17 } );
18 }, 1 );
19 };
20
21 /**
22 * Schedule a deferred task to run in the background.
23 *
24 * @member mw
25 * @param {Function} callback
26 */
27 mw.requestIdleCallback = window.requestIdleCallback
28 // Bind because it throws TypeError if context is not window
29 ? window.requestIdleCallback.bind( window )
30 : mw.requestIdleCallbackInternal;
31 }( mediaWiki ) );