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

Reply via email to