From 231f2b953a2c3dd31c8ef9645f6ab8c08f914853 Mon Sep 17 00:00:00 2001 From: Ori Livneh Date: Tue, 12 Nov 2013 15:07:29 -0800 Subject: [PATCH] startup.js: log current time as global 'mediaWikiLoadStart' Capturing the current time as early as possible in the process of loading a page provides a common reference-point for all user latency measurements. The limitations of this technique are well-known (and are presented as part of the rationale for the Navigation Timing API, which was designed to obsolete it -- see -- but it remains the only technique that is implemented across all JavaScript-capable browsers. Relying on the Navigation Timing API alone excludes some 30% of browsers in use, including all versions of Mobile Safari. This patch adds a line to startup.js that stores the current time in a JavaScript global, mediaWikiLoadStart. I am not glib about introducing additional globals, but I think the circumstances make it desirable to do the straightforward thing (i.e., add a global) rather than try to set it as a config var. Change-Id: I3d5bcf10ecccb7f65bdbad397cf19a5b8fde7fd9 --- resources/startup.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/startup.js b/resources/startup.js index b6a27d2d50..c6113d4c84 100644 --- a/resources/startup.js +++ b/resources/startup.js @@ -4,6 +4,8 @@ * even the most ancient of browsers, so be very careful when editing. */ +var mediaWikiLoadStart = ( new Date() ).getTime(); + /** * Returns false when run in a black-listed browser * -- 2.20.1