resourceloader: Remove irrelevant properties from FileModule hash
authorTimo Tijhof <krinklemail@gmail.com>
Sun, 23 Aug 2015 12:34:33 +0000 (14:34 +0200)
committerTimo Tijhof <krinklemail@gmail.com>
Sun, 23 Aug 2015 12:37:31 +0000 (14:37 +0200)
These properties don't affect the module response. They are either
only consumed by OutputPage, or provided by the startup module
directly, which detects its own changes.

Changes to these properties should not invalidate module cache for
these properties.

Follows-up 2f30ff7a8613f87 which added a hook to getDependencies()
but still included the raw 'dependencies' in the definition summary.
But as it turns out, dependencies don't need to be included.

Change-Id: I468e6a6edc352d845dc7a5d06b0ae2a6d809700b

includes/resourceloader/ResourceLoaderFileModule.php

index 3224b13..4a4a828 100644 (file)
@@ -591,10 +591,14 @@ class ResourceLoaderFileModule extends ResourceLoaderModule {
 
                $options = array();
                foreach ( array(
-                       // T104950: Do not include localBasePath or remoteBasePath!
-                       // Those paths may vary over time and needlessly invalidate cache. If the path changes
-                       // in a way that makes relative file paths point to something else, getFileHashes() will
-                       // account for that already.
+                       // The following properties are omitted because they don't affect the module reponse:
+                       // - localBasePath (Per T104950; Changes when absolute directory name changes. If
+                       //    this affects 'scripts' and other file paths, getFileHashes accounts for that.)
+                       // - remoteBasePath (Per T104950)
+                       // - dependencies (provided via startup module)
+                       // - targets
+                       // - group (provided via startup module)
+                       // - position (only used by OutputPage)
                        'scripts',
                        'debugScripts',
                        'loaderScripts',
@@ -602,12 +606,8 @@ class ResourceLoaderFileModule extends ResourceLoaderModule {
                        'languageScripts',
                        'skinScripts',
                        'skinStyles',
-                       'dependencies',
                        'messages',
-                       'targets',
                        'templates',
-                       'group',
-                       'position',
                        'skipFunction',
                        'debugRaw',
                        'raw',