Allow ResourceLoaderImage modules without data URIs
authorjdlrobson <jdlrobson@gmail.com>
Thu, 5 Jul 2018 23:51:30 +0000 (16:51 -0700)
committerJdlrobson <jrobson@wikimedia.org>
Fri, 6 Jul 2018 17:17:34 +0000 (17:17 +0000)
Bug: T198930
Change-Id: I13853a59222b38de0afde301a781af06067d4ddc

includes/resourceloader/ResourceLoaderImageModule.php

index c779240..9311f6f 100644 (file)
@@ -40,6 +40,7 @@ class ResourceLoaderImageModule extends ResourceLoaderModule {
 
        protected $images = [];
        protected $defaultColor = null;
+       protected $useDataURI = true;
        protected $variants = [];
        protected $prefix = null;
        protected $selectorWithoutVariant = '.{prefix}-{name}';
@@ -183,6 +184,9 @@ class ResourceLoaderImageModule extends ResourceLoaderModule {
                                        $this->{$member} = $option;
                                        break;
 
+                               case 'useDataURI':
+                                       $this->{$member} = (bool)$option;
+                                       break;
                                case 'defaultColor':
                                case 'prefix':
                                case 'selectorWithoutVariant':
@@ -358,7 +362,7 @@ class ResourceLoaderImageModule extends ResourceLoaderModule {
                $script,
                $variant = null
        ) {
-               $imageDataUri = $image->getDataUri( $context, $variant, 'original' );
+               $imageDataUri = $this->useDataURI ? $image->getDataUri( $context, $variant, 'original' ) : false;
                $primaryUrl = $imageDataUri ?: $image->getUrl( $context, $script, $variant, 'original' );
                $declarations = $this->getCssDeclarations(
                        $primaryUrl,