*/
private $copyrightUrl;
+ /** @var array Profiling data */
+ private $limitReportJSData = [];
+
/**
* Constructor for OutputPage. This should not be called directly.
* Instead a new RequestContext should be created and it will implicitly create
}
}
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $outputPage = $this;
# Add the remaining categories to the skin
if ( Hooks::run(
'OutputPageMakeCategoryLinks',
- [ &$this, $categories, &$this->mCategoryLinks ] )
+ [ &$outputPage, $categories, &$this->mCategoryLinks ] )
) {
$linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
foreach ( $categories as $category => $type ) {
}
}
- // enable OOUI if requested via ParserOutput
+ // Enable OOUI if requested via ParserOutput
if ( $parserOutput->getEnableOOUI() ) {
$this->enableOOUI();
}
+ // Include parser limit report
+ if ( !$this->limitReportJSData ) {
+ $this->limitReportJSData = $parserOutput->getLimitReportJSData();
+ }
+
// Link flags are ignored for now, but may in the future be
// used to mark individual language links.
$linkFlags = [];
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $outputPage = $this;
Hooks::run( 'LanguageLinks', [ $this->getTitle(), &$this->mLanguageLinks, &$linkFlags ] );
- Hooks::run( 'OutputPageParserOutput', [ &$this, $parserOutput ] );
+ Hooks::run( 'OutputPageParserOutput', [ &$outputPage, $parserOutput ] );
}
/**
*/
public function addParserOutputText( $parserOutput ) {
$text = $parserOutput->getText();
- Hooks::run( 'OutputPageBeforeHTML', [ &$this, &$text ] );
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $outputPage = $this;
+ Hooks::run( 'OutputPageBeforeHTML', [ &$outputPage, &$text ] );
$this->addHTML( $text );
}
}
MWDebug::addModules( $this );
+ // Avoid PHP 7.1 warning of passing $this by reference
+ $outputPage = $this;
// Hook that allows last minute changes to the output page, e.g.
// adding of CSS or Javascript by extensions.
- Hooks::run( 'BeforePageDisplay', [ &$this, &$sk ] );
+ Hooks::run( 'BeforePageDisplay', [ &$outputPage, &$sk ] );
try {
$sk->outputPage();
}
}
+ if ( $this->limitReportJSData ) {
+ $chunks[] = ResourceLoader::makeInlineScript(
+ ResourceLoader::makeConfigSetScript(
+ [ 'wgPageParseReport' => $this->limitReportJSData ]
+ )
+ );
+ }
+
return self::combineWrappedStrings( $chunks );
}