From 9664f3fe05fbc8d439864d7aae59b4bc0dc27e17 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Tue, 6 Jun 2017 01:04:19 +0200 Subject: [PATCH] Allow $wgResourceModuleSkinStyles for any ResourceLoaderFileModule subclass All ResourceLoaderFileModule subclasses are now required to support the 'skinStyles' property in their module definition, and ideally make use of it (but at least they must not fail violently). Follow-up to 51eede02837a3a9d378cb35fa7c27a9f4e8e5f4e. Bug: T167478 Bug: T168088 Change-Id: I35a12a451bf2695818702df1bbd1708173a3f9ce --- includes/resourceloader/ResourceLoader.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/includes/resourceloader/ResourceLoader.php b/includes/resourceloader/ResourceLoader.php index c2faf48ba7..c11fe5b618 100644 --- a/includes/resourceloader/ResourceLoader.php +++ b/includes/resourceloader/ResourceLoader.php @@ -563,7 +563,8 @@ class ResourceLoader implements LoggerAwareInterface { } /** - * Return whether the definition of a module corresponds to a simple ResourceLoaderFileModule. + * Return whether the definition of a module corresponds to a simple ResourceLoaderFileModule + * or one of its subclasses. * * @param string $name Module name * @return bool @@ -573,11 +574,13 @@ class ResourceLoader implements LoggerAwareInterface { return false; } $info = $this->moduleInfos[$name]; + if ( isset( $info['object'] ) ) { + return false; + } if ( - isset( $info['object'] ) || - // This special case is dumb, but we need $wgResourceModuleSkinStyles - // to work for 'oojs-ui-core.styles'. See T167042. - ( isset( $info['class'] ) && $info['class'] !== 'ResourceLoaderOOUIFileModule' ) + isset( $info['class'] ) && + $info['class'] !== 'ResourceLoaderFileModule' && + !is_subclass_of( $info['class'], 'ResourceLoaderFileModule' ) ) { return false; } -- 2.20.1