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