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

Reply via email to