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ő <[email protected]>
+ */
+( 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 <[email protected]>
Gerrit-Reviewer: Gilles <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits