From: Timo Tijhof Date: Mon, 18 Sep 2017 17:49:57 +0000 (+0100) Subject: resourceloader: Implement isKnownEmpty for user.options module X-Git-Tag: 1.31.0-rc.0~1972^2 X-Git-Url: http://git.cyclocoop.org/data/Luca_Pacioli_%28Gemaelde%29.jpeg?a=commitdiff_plain;h=4fd17eb86244d0e543698fbaba4b87f8f85a5984;p=lhc%2Fweb%2Fwiklou.git resourceloader: Implement isKnownEmpty for user.options module This allows ResourceLoaderClientHtml to output state=ready instead of state=loading with a no-op mw.loader.implement() call being embedded. Test Plan: * View source on page view when logged-out. * Before: - loader.state({"user.options":"loading"}) - loader.implement("user.options@..",function(){ .. user.options.state([]) }) * After: - loader.state({"user.options":"ready"}) Bug: T176159 Change-Id: I18f76eaa960da9b0ca77f28e10f768587447a838 --- diff --git a/includes/resourceloader/ResourceLoaderUserOptionsModule.php b/includes/resourceloader/ResourceLoaderUserOptionsModule.php index 0c332cff8d..a15d310bcd 100644 --- a/includes/resourceloader/ResourceLoaderUserOptionsModule.php +++ b/includes/resourceloader/ResourceLoaderUserOptionsModule.php @@ -64,6 +64,14 @@ class ResourceLoaderUserOptionsModule extends ResourceLoaderModule { return false; } + /** + * @param ResourceLoaderContext $context + * @return bool + */ + public function isKnownEmpty( ResourceLoaderContext $context ) { + return !$context->getUserObj()->getOptions( User::GETOPTIONS_EXCLUDE_DEFAULTS ); + } + /** * @return string */