X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fresourceloader%2FResourceLoaderStartUpModule.php;h=8a936c6ca6d5e874d18a20201e0af7d3f9e4dba4;hb=7eca0340f07aaea403aef307702c9d8de4601cc8;hp=63a444b518977fa18403b022a71d3c9c11b89ad3;hpb=2b8254b2b5f5d1a698f298204410f22a393ab9fb;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/resourceloader/ResourceLoaderStartUpModule.php b/includes/resourceloader/ResourceLoaderStartUpModule.php index 63a444b518..8a936c6ca6 100644 --- a/includes/resourceloader/ResourceLoaderStartUpModule.php +++ b/includes/resourceloader/ResourceLoaderStartUpModule.php @@ -222,12 +222,24 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { // FIXME: Convert to numbers, wfTimestamp always gives us stings, even for TS_UNIX + $skipFunction = $module->getSkipFunction(); + if ( $skipFunction !== null && !ResourceLoader::inDebugMode() ) { + $skipFunction = $resourceLoader->filter( 'minify-js', + $skipFunction, + // There will potentially be lots of these little string in the registrations + // manifest, we don't want to blow up the startup module with + // "/* cache key: ... */" all over it in non-debug mode. + /* cacheReport = */ false + ); + } + $registryData[ $name ] = array( 'version' => $mtime, 'dependencies' => $module->getDependencies(), 'group' => $module->getGroup(), 'source' => $module->getSource(), 'loader' => $module->getLoaderScript(), + 'skip' => $skipFunction, ); } @@ -255,17 +267,25 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { if ( !count( $data['dependencies'] ) && $data['group'] === null && - $data['source'] === 'local' + $data['source'] === 'local' && + $data['skip'] === null ) { - // Modules without dependencies, a group or a foreign source; + // Modules with no dependencies, group, foreign source or skip function; // call mw.loader.register(name, timestamp) $registrations[] = array( $name, $data['version'] ); - } elseif ( $data['group'] === null && $data['source'] === 'local' ) { - // Modules with dependencies but no group or foreign source; + } elseif ( + $data['group'] === null && + $data['source'] === 'local' && + $data['skip'] === null + ) { + // Modules with dependencies but no group, foreign source or skip function; // call mw.loader.register(name, timestamp, dependencies) $registrations[] = array( $name, $data['version'], $data['dependencies'] ); - } elseif ( $data['source'] === 'local' ) { - // Modules with a group but no foreign source; + } elseif ( + $data['source'] === 'local' && + $data['skip'] === null + ) { + // Modules with a group but no foreign source or skip function; // call mw.loader.register(name, timestamp, dependencies, group) $registrations[] = array( $name, @@ -273,8 +293,8 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { $data['dependencies'], $data['group'] ); - } else { - // Modules with a foreign source; + } elseif ( $data['skip'] === null ) { + // Modules with a foreign source but no skip function; // call mw.loader.register(name, timestamp, dependencies, group, source) $registrations[] = array( $name, @@ -283,6 +303,17 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { $data['group'], $data['source'] ); + } else { + // Modules with a skip function; + // call mw.loader.register(name, timestamp, dependencies, group, source, skip) + $registrations[] = array( + $name, + $data['version'], + $data['dependencies'], + $data['group'], + $data['source'], + $data['skip'] + ); } }