Jonas Kress (WMDE) has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/268680

Change subject: Introduces Wikibase performance mark
......................................................................

Introduces Wikibase performance mark

This is a wrapper for window.performance

Change-Id: Ib8ca57e6df6210d31fa51939eea2c8ce8febec03
---
M repo/resources/Resources.php
A repo/resources/performance/Mark.js
A repo/resources/performance/__namespace.js
A repo/resources/performance/resources.php
M repo/resources/wikibase.ui.entityViewInit.js
5 files changed, 71 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/80/268680/1

diff --git a/repo/resources/Resources.php b/repo/resources/Resources.php
index dd8aa2e..73bbc48 100644
--- a/repo/resources/Resources.php
+++ b/repo/resources/Resources.php
@@ -105,7 +105,8 @@
                                'wikibase.store.CachingEntityStore',
                                'wikibase.store.CombiningEntityStore',
                                'wikibase.view.ViewFactory',
-                               'wikibase.WikibaseContentLanguages'
+                               'wikibase.WikibaseContentLanguages',
+                               'wikibase.performance.Mark'
                        ),
                        'messages' => array(
                                'pagetitle',
@@ -158,6 +159,7 @@
                $modules,
                include __DIR__ . '/experts/resources.php',
                include __DIR__ . '/formatters/resources.php',
-               include __DIR__ . '/parsers/resources.php'
+               include __DIR__ . '/parsers/resources.php',
+               include __DIR__ . '/performance/resources.php'
        );
 } );
diff --git a/repo/resources/performance/Mark.js 
b/repo/resources/performance/Mark.js
new file mode 100644
index 0000000..6d528c7
--- /dev/null
+++ b/repo/resources/performance/Mark.js
@@ -0,0 +1,24 @@
+( function( wb, performance ) {
+       "use strict";
+
+       var MODULE = wb.performance;
+
+       /**
+        * Wikibase performance mark
+        *
+        * @class wikibase.performance.Marks
+        * @licence GNU GPL v2+
+        *
+        * @author Jonas Kress
+        * @static
+        */
+       var SELF = MODULE.Mark = function( nameString ) {
+               if( !performance ){
+                       return;
+               }
+
+               performance.mark( nameString );
+       }
+
+
+}( wikibase, window.performance ) );
diff --git a/repo/resources/performance/__namespace.js 
b/repo/resources/performance/__namespace.js
new file mode 100644
index 0000000..b2fef95
--- /dev/null
+++ b/repo/resources/performance/__namespace.js
@@ -0,0 +1,5 @@
+/**
+ * @license GNU GPL v2+
+ * @author Jonas Kress
+ */
+wikibase.performance = wikibase.performance || {};
\ No newline at end of file
diff --git a/repo/resources/performance/resources.php 
b/repo/resources/performance/resources.php
new file mode 100644
index 0000000..850f032
--- /dev/null
+++ b/repo/resources/performance/resources.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * @licence GNU GPL v2+
+ * @author Jonas Kress
+ *
+ * @codeCoverageIgnoreStart
+ */
+return call_user_func( function() {
+       preg_match( '+' . preg_quote( DIRECTORY_SEPARATOR ) . 
'(?:vendor|extensions)'
+               . preg_quote( DIRECTORY_SEPARATOR ) . '.*+', __DIR__, 
$remoteExtPath );
+
+       $moduleTemplate = array(
+               'localBasePath' => __DIR__,
+               'remoteExtPath' => '..' . $remoteExtPath[0],
+       );
+
+       return array(
+               'wikibase.performance.__namespace' => $moduleTemplate + array(
+                               'scripts' => array(
+                                               '__namespace.js'
+                               ),
+                               'dependencies' => array(
+                                               'wikibase',
+                               )
+               ),
+
+               'wikibase.performance.Mark' => $moduleTemplate + array(
+                       'scripts' => array(
+                               'Mark.js',
+                       ),
+                       'dependencies' => array(
+                               'wikibase.performance.__namespace',
+                       ),
+               ),
+       );
+} );
diff --git a/repo/resources/wikibase.ui.entityViewInit.js 
b/repo/resources/wikibase.ui.entityViewInit.js
index 0b5b2b4..44a5691 100644
--- a/repo/resources/wikibase.ui.entityViewInit.js
+++ b/repo/resources/wikibase.ui.entityViewInit.js
@@ -337,12 +337,7 @@
                if ( mw.config.get( 'wbEntity' ) === null ) {
                        return;
                }
-
-               // This is copied from startup.js in MediaWiki core.
-               var mwPerformance = window.performance && performance.mark ? 
performance : {
-                       mark: function() {}
-               };
-               mwPerformance.mark( 'wbInitStart' );
+               wikibase.performance.Mark( 'wbInitStart' );
 
                var $entityview = $( '.wikibase-entityview' );
                var entityInitializer = new wb.EntityInitializer( 'wbEntity' );
@@ -361,7 +356,7 @@
                                attachWatchLinkUpdater( $entityview, viewName );
                        }
 
-                       mwPerformance.mark( 'wbInitEnd' );
+                       wikibase.performance.Mark( 'wbInitEnd' );
                } );
 
                if ( canEdit ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/268680
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib8ca57e6df6210d31fa51939eea2c8ce8febec03
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Jonas Kress (WMDE) <jonas.kr...@wikimedia.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to