Page MenuHomePhabricator

ParserOutput::preventClickjacking in PageForms
Closed, ResolvedPublic

Description

I have several autoedit buttons on a template. I just turned on debug mode for other reasons and got the following message:

Deprecated: Use of ParserOutput::preventClickjacking was deprecated in MediaWiki 1.38. [Called from PFAutoEdit::run in /home/<wikidir>/extensions/PageForms/includes/parserfunctions/PF_AutoEdit.php at line 27] in /home/<wikidir>/includes/debug/MWDebug.php on line 381

MediaWiki: 1.39.0
PHP: 8.0.12

Event Timeline

This appears to happen when used together with extension TabberNeue; when I put autoedit on a page by itself I don't get this error.

GlobalFunctions.php line 769 calls MWDebug::deprecated()
ParserOutput.php line 2004 calls wfDeprecated()
PF_AutoEdit.php line 27 calls ParserOutput->preventClickjacking()
Parser.php line 3442 calls PFAutoEdit::run()
Parser.php line 3125 calls Parser->callParserFunction()
PPFrame_Hash.php line 276 calls Parser->braceSubstitution()
Parser.php line 1606 calls PPFrame_Hash->expand()
Parser.php line 881 calls Parser->internalParse()
Tabber.php line 91 calls Parser->recursiveTagParse()
Tabber.php line 62 calls MediaWiki\Extension\TabberNeue\Tabber::buildTab()
Tabber.php line 33 calls MediaWiki\Extension\TabberNeue\Tabber::render()
Parser.php line 4022 calls MediaWiki\Extension\TabberNeue\Tabber::parserHook()
PPFrame_Hash.php line 354 calls Parser->extensionSubstitution()
PPTemplateFrame_Hash.php line 97 calls PPFrame_Hash->expand()
Parser.php line 3313 calls PPTemplateFrame_Hash->cachedExpand()
PPFrame_Hash.php line 276 calls Parser->braceSubstitution()
Parser.php line 2954 calls PPFrame_Hash->expand()
Parser.php line 1609 calls Parser->replaceVariables()
Parser.php line 723 calls Parser->internalParse()
WikitextContentHandler.php line 301 calls Parser->parse()
ContentHandler.php line 1721 calls WikitextContentHandler->fillParserOutput()
ContentRenderer.php line 47 calls ContentHandler->getParserOutput()
RenderedRevision.php line 266 calls MediaWiki\Content\Renderer\ContentRenderer->getParserOutput()
RenderedRevision.php line 237 calls MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached()
RevisionRenderer.php line 221 calls MediaWiki\Revision\RenderedRevision->getSlotParserOutput()
RevisionRenderer.php line 158 calls MediaWiki\Revision\RevisionRenderer->combineSlotOutput()
- line - calls MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}()
RenderedRevision.php line 199 calls call_user_func()
PoolWorkArticleView.php line 91 calls MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
PoolWorkArticleViewCurrent.php line 97 calls PoolWorkArticleView->renderRevision()
PoolCounterWork.php line 162 calls PoolWorkArticleViewCurrent->doWork()
ParserOutputAccess.php line 299 calls PoolCounterWork->execute()
Article.php line 714 calls MediaWiki\Page\ParserOutputAccess->getParserOutput()
Article.php line 528 calls Article->generateContentOutput()
ViewAction.php line 78 calls Article->view()
MediaWiki.php line 542 calls ViewAction->show()
MediaWiki.php line 322 calls MediaWiki->performAction()
MediaWiki.php line 904 calls MediaWiki->performRequest()
MediaWiki.php line 562 calls MediaWiki->main()
index.php line 50 calls MediaWiki->run()
index.php line 46 calls wfIndexMain()

According to https://www.mediawiki.org/wiki/Release_notes/1.38 preventClickJacking should be replaced with setPreventClickjacking

Edited line 27 in /extensions/PageForms/includes/parserfunctions/PF_AutoEdit.php
from

		$parser->getOutput()->preventClickjacking( true );

to

		$parser->getOutput()->setPreventClickjacking( true );

to fix this. I should put in a pull request but don't have the brain space for this right now, so hopefully this helps someone else do a quick fix.

Change 867612 had a related patch set uploaded (by Yaron Koren; author: Yaron Koren):

[mediawiki/extensions/PageForms@master] Remove preventClickjacking() call for MW 1.38+

https://gerrit.wikimedia.org/r/867612

Change 867612 merged by jenkins-bot:

[mediawiki/extensions/PageForms@master] Remove preventClickjacking() call for MW 1.38+

https://gerrit.wikimedia.org/r/867612

Yaron_Koren claimed this task.
Yaron_Koren subscribed.

@Tenbergen - thanks for finding, and diagnosing, the bug!