jenkins-bot has submitted this change and it was merged. Change subject: Make the main script load on-demand ......................................................................
Make the main script load on-demand Change-Id: I93bb46e6589f0496b5b7cdecddd45fec62201d87 --- M ImageMetrics.php M resources/ext.imageMetrics.js A resources/ext.imageMetrics.loader.js 3 files changed, 36 insertions(+), 18 deletions(-) Approvals: Gilles: Looks good to me, approved jenkins-bot: Verified diff --git a/ImageMetrics.php b/ImageMetrics.php index cbc5420..b621ca6 100644 --- a/ImageMetrics.php +++ b/ImageMetrics.php @@ -49,6 +49,12 @@ 'targets' => array( 'desktop', 'mobile' ), 'position' => 'top', ), + 'ext.imageMetrics.loader' => array( + 'scripts' => 'ext.imageMetrics.loader.js', + 'localBasePath' => __DIR__ . '/resources', + 'remoteExtPath' => 'ImageMetrics/resources', + 'targets' => array( 'desktop', 'mobile' ), + ), ); /** @@ -58,7 +64,7 @@ */ $wgHooks['BeforePageDisplay'][] = function ( &$out, &$skin ) { if ( $out->getTitle()->inNamespace( NS_FILE ) && Action::getActionName( $out->getContext() ) === 'view' ) { - $out->addModules( array( 'ext.imageMetrics.head', 'ext.imageMetrics' ) ); + $out->addModules( array( 'ext.imageMetrics.head', 'ext.imageMetrics.loader' ) ); } return true; }; diff --git a/resources/ext.imageMetrics.js b/resources/ext.imageMetrics.js index 1c968eb..bb9efa5 100644 --- a/resources/ext.imageMetrics.js +++ b/resources/ext.imageMetrics.js @@ -75,19 +75,6 @@ }; /** - * Makes a random decision (based on the sampling factor configuration setting) whether the current - * request should be logged. - * @return {boolean} - */ - ImageMetrics.prototype.isInSample = function () { - var factor = this.mwConfig.get( 'wgImageMetricsSamplingFactor', false ); - if ( !$.isNumeric( factor ) || factor < 1 ) { - return false; - } - return Math.floor( Math.random() * factor ) === 0; - }; - - /** * Adds information provided by MediaWiki. * @param {Object} data * @param {jQuery} $file jQuery object containing the img element @@ -166,9 +153,6 @@ var $file, data = {}; - if ( !this.isInSample() || !this.eventLog ) { - return; - } data.samplingFactor = this.mwConfig.get( 'wgImageMetricsSamplingFactor' ); data.isHttps = this.location.protocol === 'https:'; @@ -185,5 +169,4 @@ }; mw.ImageMetrics = ImageMetrics; - ImageMetrics.install(); } ( mediaWiki, jQuery ) ); diff --git a/resources/ext.imageMetrics.loader.js b/resources/ext.imageMetrics.loader.js new file mode 100644 index 0000000..942433e --- /dev/null +++ b/resources/ext.imageMetrics.loader.js @@ -0,0 +1,29 @@ +/** + * JavaScript module for image-related metrics. + * @see https://mediawiki.org/wiki/Extension:ImageMetrics + * + * @licence GNU GPL v2 or later + * @author Tisza Gergő <gti...@wikimedia.org> + */ +( function ( mw, $ ) { + 'use strict'; + + /** + * Makes a random decision (based on the sampling factor configuration setting) whether the current + * request should be logged. + * @return {boolean} + */ + function isInSample() { + var factor = mw.config.get( 'wgImageMetricsSamplingFactor', false ); + if ( !$.isNumeric( factor ) || factor < 1 ) { + return false; + } + return Math.floor( Math.random() * factor ) === 0; + } + + if ( isInSample() ) { + mw.loader.using( 'ext.imageMetrics', function () { + mw.ImageMetrics.install(); + } ); + } +} ( mediaWiki, jQuery ) ); -- To view, visit https://gerrit.wikimedia.org/r/157815 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I93bb46e6589f0496b5b7cdecddd45fec62201d87 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/ImageMetrics Gerrit-Branch: master Gerrit-Owner: Gergő Tisza <gti...@wikimedia.org> Gerrit-Reviewer: Gilles <gdu...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits