Make the User Timing API safe to use in MediaWiki
authorOri Livneh <ori@wikimedia.org>
Fri, 17 Jul 2015 21:46:03 +0000 (16:46 -0500)
committerOri Livneh <ori@wikimedia.org>
Fri, 17 Jul 2015 21:56:22 +0000 (16:56 -0500)
Allow JavaScript code to be annotated via the User Timing API without having to
repeatedly ensure that the API exists by declaring a no-op stub for browsers
that don't implement it. Do it in the startup module so we can use
performance.mark() early. Add an initial performance.mark() call as a use-case.

Task: T105389
Change-Id: Id686073da5baf3fcae36f296e6e50d648a543249

.jshintrc
resources/src/startup.js

index d72c31d..b84d276 100644 (file)
--- a/.jshintrc
+++ b/.jshintrc
@@ -22,6 +22,7 @@
                "mediaWiki": true,
                "JSON": true,
                "OO": true,
+               "performance": true,
                "jQuery": false,
                "QUnit": false,
                "sinon": false
index 80cc7d9..5ee295b 100644 (file)
@@ -6,6 +6,14 @@
 
 var mediaWikiLoadStart = ( new Date() ).getTime();
 
+if ( !window.performance ) {
+       window.performance = {};
+}
+if ( !performance.mark ) {
+       performance.mark = function () {};
+}
+performance.mark( 'mediaWikiStartUp' );
+
 /**
  * Returns false for Grade C supported browsers.
  *