[MediaWiki-commits] [Gerrit] resourceloader: Use $.ajax instead of duplicating its scrip... - change (mediawiki/core)
jenkins-bot has submitted this change and it was merged. Change subject: resourceloader: Use $.ajax instead of duplicating its script logic .. resourceloader: Use $.ajax instead of duplicating its script logic Also removed isFunction check. This is an internal method and the parameter is either a function or omitted/nulled. No need for aggressive validation. Change-Id: I6bbd82ca1b986b45a2f4653427396b9a6fceb6e8 --- M resources/src/mediawiki/mediawiki.js 1 file changed, 21 insertions(+), 62 deletions(-) Approvals: Ori.livneh: Looks good to me, approved jenkins-bot: Verified diff --git a/resources/src/mediawiki/mediawiki.js b/resources/src/mediawiki/mediawiki.js index 47b0063..fc4635a 100644 --- a/resources/src/mediawiki/mediawiki.js +++ b/resources/src/mediawiki/mediawiki.js @@ -1043,71 +1043,30 @@ * Ignored (and defaulted to `true`) if the document-ready event has already occurred. */ function addScript( src, callback, async ) { - /*jshint evil:true */ - var script, head, done; - - // Using isReady directly instead of storing it locally from - // a $.fn.ready callback (bug 31895). + // Using isReady directly instead of storing it locally from a $().ready callback (bug 31895) if ( $.isReady || async ) { - // Can't use jQuery.getScript because that only uses script for cross-domain, - // it uses XHR and eval for same-domain scripts, which we don't want because it - // messes up line numbers. - // The below is based on jQuery ([jquery@1.9.1]/src/ajax/script.js) - - // IE-safe way of getting an append target. In old IE document.head isn't supported - // and its getElementsByTagName can't find head until /head is parsed. - done = false; - head = document.head || document.getElementsByTagName( 'head' )[0] || document.documentElement; - - script = document.createElement( 'script' ); - script.async = true; - script.src = src; - if ( $.isFunction( callback ) ) { - script.onload = script.onreadystatechange = function () { - if ( - !done -( - !script.readyState - || /loaded|complete/.test( script.readyState ) - ) - ) { - done = true; - - // Handle memory leak in IE - script.onload = script.onreadystatechange = null; - - // Detach the element from the document - if ( script.parentNode ) { - script.parentNode.removeChild( script ); - } - - // Dereference the element from javascript - script = undefined; - - callback(); - } - }; - } - - if ( window.opera ) { - // Appending to the head blocks rendering completely in Opera, - // so append to the body after document ready. This means the - // scripts only start loading after the document has been rendered, - // but so be it. Opera users don't deserve faster web pages if their - //
[MediaWiki-commits] [Gerrit] resourceloader: Use $.ajax instead of duplicating its scrip... - change (mediawiki/core)
Krinkle has uploaded a new change for review. https://gerrit.wikimedia.org/r/130602 Change subject: resourceloader: Use $.ajax instead of duplicating its script logic .. resourceloader: Use $.ajax instead of duplicating its script logic Change-Id: I6bbd82ca1b986b45a2f4653427396b9a6fceb6e8 --- M resources/src/mediawiki/mediawiki.js 1 file changed, 21 insertions(+), 62 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/02/130602/1 diff --git a/resources/src/mediawiki/mediawiki.js b/resources/src/mediawiki/mediawiki.js index 3025260..b67d3c5 100644 --- a/resources/src/mediawiki/mediawiki.js +++ b/resources/src/mediawiki/mediawiki.js @@ -1043,71 +1043,30 @@ * Ignored (and defaulted to `true`) if the document-ready event has already occurred. */ function addScript( src, callback, async ) { - /*jshint evil:true */ - var script, head, done; - - // Using isReady directly instead of storing it locally from - // a $.fn.ready callback (bug 31895). + // Using isReady directly instead of storing it locally from a $().ready callback (bug 31895) if ( $.isReady || async ) { - // Can't use jQuery.getScript because that only uses script for cross-domain, - // it uses XHR and eval for same-domain scripts, which we don't want because it - // messes up line numbers. - // The below is based on jQuery ([jquery@1.9.1]/src/ajax/script.js) - - // IE-safe way of getting an append target. In old IE document.head isn't supported - // and its getElementsByTagName can't find head until /head is parsed. - done = false; - head = document.head || document.getElementsByTagName( 'head' )[0] || document.documentElement; - - script = document.createElement( 'script' ); - script.async = true; - script.src = src; - if ( $.isFunction( callback ) ) { - script.onload = script.onreadystatechange = function () { - if ( - !done -( - !script.readyState - || /loaded|complete/.test( script.readyState ) - ) - ) { - done = true; - - // Handle memory leak in IE - script.onload = script.onreadystatechange = null; - - // Detach the element from the document - if ( script.parentNode ) { - script.parentNode.removeChild( script ); - } - - // Dereference the element from javascript - script = undefined; - - callback(); - } - }; - } - - if ( window.opera ) { - // Appending to the head blocks rendering completely in Opera, - // so append to the body after document ready. This means the - // scripts only start loading after the document has been rendered, - // but so be it. Opera users don't deserve faster web pages if their - // browser makes it impossible. - $( function () { -