From 835833ea8a7e479d1c43a92f7dfb52381ab6557e Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Tue, 14 Feb 2017 16:25:39 -0800 Subject: [PATCH] OutputPage: Log violations of module 'target' filter Bug: T140675 Change-Id: Icf9a2e72b663e363e8c87d5d464892c2bbbe78b2 --- includes/OutputPage.php | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/includes/OutputPage.php b/includes/OutputPage.php index af8243646b..eb2f7e7069 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -534,14 +534,32 @@ class OutputPage extends ContextSource { if ( $module instanceof ResourceLoaderModule && $module->getOrigin() <= $this->getAllowedModules( $type ) && ( is_null( $position ) || $module->getPosition() == $position ) - && ( !$this->mTarget || in_array( $this->mTarget, $module->getTargets() ) ) ) { + if ( $this->mTarget && !in_array( $this->mTarget, $module->getTargets() ) ) { + $this->warnModuleTargetFilter( $module->getName() ); + continue; + } $filteredModules[] = $val; } } return $filteredModules; } + private function warnModuleTargetFilter( $moduleName ) { + static $warnings = []; + if ( isset( $warnings[$this->mTarget][$moduleName] ) ) { + return; + } + $warnings[$this->mTarget][$moduleName] = true; + $this->getResourceLoader()->getLogger()->debug( + 'Module "{module}" not loadable on target "{target}".', + [ + 'module' => $moduleName, + 'target' => $this->mTarget, + ] + ); + } + /** * Get the list of modules to include on this page * -- 2.20.1