X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dmes_infos.php?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.base%2Fmediawiki.errorLogger.js;h=2bf685ea0668479b818fb27839a2c4ae1cfadf1b;hb=388bbf3f7baefea02f9c89c4ade958059fa4282d;hp=b6aa5fdce145c12636ac508e234fe0d8f52bb9d1;hpb=1d47891cc3d43bc6b47e30d0b605436c3dac1fc9;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.base/mediawiki.errorLogger.js b/resources/src/mediawiki.base/mediawiki.errorLogger.js index b6aa5fdce1..2bf685ea06 100644 --- a/resources/src/mediawiki.base/mediawiki.errorLogger.js +++ b/resources/src/mediawiki.base/mediawiki.errorLogger.js @@ -4,57 +4,58 @@ * @class mw.errorLogger * @singleton */ -( function () { - 'use strict'; +mw.errorLogger = { + /** + * Fired via mw.track when an error is not handled by local code and is caught by the + * window.onerror handler. + * + * @event global_error + * @param {string} errorMessage Error errorMessage. + * @param {string} url URL where error was raised. + * @param {number} lineNumber Line number where error was raised. + * @param {number} [columnNumber] Line number where error was raised. Not all browsers + * support this. + * @param {Error|Mixed} [errorObject] The error object. Typically an instance of Error, but anything + * (even a primitive value) passed to a throw clause will end up here. + */ - mw.errorLogger = { - /** - * Fired via mw.track when an error is not handled by local code and is caught by the - * window.onerror handler. - * - * @event global_error - * @param {string} errorMessage Error errorMessage. - * @param {string} url URL where error was raised. - * @param {number} lineNumber Line number where error was raised. - * @param {number} [columnNumber] Line number where error was raised. Not all browsers - * support this. - * @param {Error|Mixed} [errorObject] The error object. Typically an instance of Error, but anything - * (even a primitive value) passed to a throw clause will end up here. - */ + /** + * Install a window.onerror handler that will report via mw.track, while preserving + * any previous handler. + * + * @param {Object} window + */ + installGlobalHandler: function ( window ) { + // We will preserve the return value of the previous handler. window.onerror works the + // opposite way than normal event handlers (returning true will prevent the default + // action, returning false will let the browser handle the error normally, by e.g. + // logging to the console), so our fallback old handler needs to return false. + var oldHandler = window.onerror || function () { + return false; + }; /** - * Install a window.onerror handler that will report via mw.track, while preserving - * any previous handler. + * Dumb window.onerror handler which forwards the errors via mw.track. * - * @param {Object} window + * @param {string} errorMessage + * @param {string} url + * @param {number} lineNumber + * @param {number} [columnNumber] + * @param {Error|Mixed} [errorObject] + * @return {boolean} True to prevent the default action + * @fires global_error */ - installGlobalHandler: function ( window ) { - // We will preserve the return value of the previous handler. window.onerror works the - // opposite way than normal event handlers (returning true will prevent the default - // action, returning false will let the browser handle the error normally, by e.g. - // logging to the console), so our fallback old handler needs to return false. - var oldHandler = window.onerror || function () { - return false; - }; - - /** - * Dumb window.onerror handler which forwards the errors via mw.track. - * - * @param {string} errorMessage - * @param {string} url - * @param {number} lineNumber - * @param {number} [columnNumber] - * @param {Error|Mixed} [errorObject] - * @return {boolean} True to prevent the default action - * @fires global_error - */ - window.onerror = function ( errorMessage, url, lineNumber, columnNumber, errorObject ) { - mw.track( 'global.error', { errorMessage: errorMessage, url: url, - lineNumber: lineNumber, columnNumber: columnNumber, errorObject: errorObject } ); - return oldHandler.apply( this, arguments ); - }; - } - }; + window.onerror = function ( errorMessage, url, lineNumber, columnNumber, errorObject ) { + mw.track( 'global.error', { + errorMessage: errorMessage, + url: url, + lineNumber: lineNumber, + columnNumber: columnNumber, + errorObject: errorObject + } ); + return oldHandler.apply( this, arguments ); + }; + } +}; - mw.errorLogger.installGlobalHandler( window ); -}() ); +mw.errorLogger.installGlobalHandler( window );