Krinkle has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/387510 )
Change subject: Remove use of 'mediaWikiLoadStart' ...................................................................... Remove use of 'mediaWikiLoadStart' Schema 'ImageMetricsLoadingTime' documents fallbackFullLoadingTime as relating to the "page load start" (best reflected by navigationStart). However, mediaWikiLoadStart measures when the async startup.js script starts executing, which is quite unrelated given its low priority in the page load process. Either way, this is deprecated. Update the current code to use navStart as offset instead, which subsequently makes this code behave like the native performance.now() and performance.mark() methods, which should probably used instead at some point. mw.now() quite literally adds navigationStart to performance.now(), which we then substract again here. Bug: T160315 Change-Id: I5d94d4842858660a223174ba8510345b7364f9de --- M .jshintrc M resources/head.js M resources/logger/LoadingTimeLogger.js 3 files changed, 5 insertions(+), 7 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ImageMetrics refs/changes/10/387510/1 diff --git a/.jshintrc b/.jshintrc index 03280d7..7c440c0 100644 --- a/.jshintrc +++ b/.jshintrc @@ -26,7 +26,6 @@ "QUnit", "jQuery", "mediaWiki", - "mediaWikiLoadStart", "OO" ] } diff --git a/resources/head.js b/resources/head.js index 44b935a..7a5b882 100644 --- a/resources/head.js +++ b/resources/head.js @@ -33,10 +33,8 @@ return; } - $file.load( function () { - if ( window.mediaWikiLoadStart ) { - mw.imageMetricsLoadTime = mw.now() - window.mediaWikiLoadStart; - } + $file.on( 'load', function () { + mw.imageMetricsLoadTime = mw.now(); } ); } ); }( mediaWiki, jQuery ) ); diff --git a/resources/logger/LoadingTimeLogger.js b/resources/logger/LoadingTimeLogger.js index 6d686e2..72f666d 100644 --- a/resources/logger/LoadingTimeLogger.js +++ b/resources/logger/LoadingTimeLogger.js @@ -164,11 +164,12 @@ * @param {jQuery} $file jQuery object containing the img element */ LoadingTimeLogger.prototype.addOtherData = function ( data, $file ) { + var navStart = this.performance && this.performance.timing && this.performance.timing.navigationStart; if ( $file.attr( 'alt' ) ) { data.fileType = $file.attr( 'alt' ).split( '.' ).pop(); } - if ( typeof mw.imageMetricsLoadTime === 'number' ) { - data.fallbackFullLoadingTime = mw.imageMetricsLoadTime; + if ( typeof mw.imageMetricsLoadTime === 'number' && navStart ) { + data.fallbackFullLoadingTime = mw.imageMetricsLoadTime === 0 ? 0 : imageMetricsLoadTime - navStart; } }; -- To view, visit https://gerrit.wikimedia.org/r/387510 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5d94d4842858660a223174ba8510345b7364f9de Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/ImageMetrics Gerrit-Branch: master Gerrit-Owner: Krinkle <krinklem...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits