private static function makeContext(ResourceLoaderContext $mainContext, $group, $type, array $extraQuery = []) { // Create new ResourceLoaderContext so that $extraQuery may trigger isRaw(). $req = new FauxRequest(array_merge($mainContext->getRequest()->getValues(), $extraQuery)); // Set 'only' if not combined $req->setVal('only', $type === ResourceLoaderModule::TYPE_COMBINED ? null : $type); // Remove user parameter in most cases if ($group !== 'user' && $group !== 'private') { $req->setVal('user', null); } $context = new ResourceLoaderContext($mainContext->getResourceLoader(), $req); // Allow caller to setVersion() and setModules() return new DerivativeResourceLoaderContext($context); }