}
if ( isset( $prop['headitems'] ) || isset( $prop['headhtml'] ) ) {
- $context = $this->getContext();
+ $context = new DerivativeContext( $this->getContext() );
$context->setTitle( $titleObj );
- $context->getOutput()->addParserOutputMetadata( $p_result );
+ $context->setWikiPage( $pageObj );
+
+ // We need an OutputPage tied to $context, not to the
+ // RequestContext at the root of the stack.
+ $output = new OutputPage( $context );
+ $output->addParserOutputMetadata( $p_result );
if ( isset( $prop['headitems'] ) ) {
$headItems = $this->formatHeadItems( $p_result->getHeadItems() );
- $css = $this->formatCss( $context->getOutput()->buildCssLinksArray() );
+ $css = $this->formatCss( $output->buildCssLinksArray() );
- $scripts = [ $context->getOutput()->getHeadScripts() ];
+ $scripts = [ $output->getHeadScripts() ];
$result_array['headitems'] = array_merge( $headItems, $css, $scripts );
}
if ( isset( $prop['headhtml'] ) ) {
- $result_array['headhtml'] = $context->getOutput()->headElement( $context->getSkin() );
+ $result_array['headhtml'] = $output->headElement( $context->getSkin() );
$result_array[ApiResult::META_BC_SUBELEMENTS][] = 'headhtml';
}
}
$result_array['modules'] = array_values( array_unique( $p_result->getModules() ) );
$result_array['modulescripts'] = array_values( array_unique( $p_result->getModuleScripts() ) );
$result_array['modulestyles'] = array_values( array_unique( $p_result->getModuleStyles() ) );
- // To be removed in 1.27
- $result_array['modulemessages'] = [];
- $this->setWarning( 'modulemessages is deprecated since MediaWiki 1.26' );
}
if ( isset( $prop['jsconfigvars'] ) ) {
'indicators' => 'ind',
'modulescripts' => 'm',
'modulestyles' => 'm',
- 'modulemessages' => 'm',
'properties' => 'pp',
'limitreportdata' => 'lr',
];