From: Bartosz DziewoƄski Date: Mon, 5 Jun 2017 23:04:19 +0000 (+0200) Subject: Allow $wgResourceModuleSkinStyles for any ResourceLoaderFileModule subclass X-Git-Tag: 1.31.0-rc.0~2932^2 X-Git-Url: http://git.cyclocoop.org///%22%40url%40//%22?a=commitdiff_plain;h=9664f3fe05fbc8d439864d7aae59b4bc0dc27e17;p=lhc%2Fweb%2Fwiklou.git 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 --- 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; }