X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FRevision%2FRevisionRenderer.php;h=265ad133a47d58d128193caa4332a1d77e766fa2;hb=8c5cb4b1a76cfef9cf4f62aac54ee537d59de560;hp=377477bf943c1fc393377057f9e582e8dc3a735d;hpb=ac0ab2c03a12756b0965f250c174e228348ec459;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Revision/RevisionRenderer.php b/includes/Revision/RevisionRenderer.php index 377477bf94..265ad133a4 100644 --- a/includes/Revision/RevisionRenderer.php +++ b/includes/Revision/RevisionRenderer.php @@ -64,6 +64,13 @@ class RevisionRenderer { $this->saveParseLogger = new NullLogger(); } + /** + * @param LoggerInterface $saveParseLogger + */ + public function setLogger( LoggerInterface $saveParseLogger ) { + $this->saveParseLogger = $saveParseLogger; + } + /** * @param RevisionRecord $rev * @param ParserOptions|null $options @@ -75,6 +82,11 @@ class RevisionRenderer { * - 'audience' the audience to use for content access. Default is * RevisionRecord::FOR_PUBLIC if $forUser is not set, RevisionRecord::FOR_THIS_USER * if $forUser is set. Can be set to RevisionRecord::RAW to disable audience checks. + * - 'known-revision-output' a combined ParserOutput for the revision, perhaps from + * some cache. the caller is responsible for ensuring that the ParserOutput indeed + * matched the $rev and $options. This mechanism is intended as a temporary stop-gap, + * for the time until caches have been changed to store RenderedRevision states instead + * of ParserOutput objects. * * @return RenderedRevision|null The rendered revision, or null if the audience checks fails. */ @@ -126,6 +138,10 @@ class RevisionRenderer { $renderedRevision->setSaveParseLogger( $this->saveParseLogger ); + if ( isset( $hints['known-revision-output'] ) ) { + $renderedRevision->setRevisionParserOutput( $hints['known-revision-output'] ); + } + return $renderedRevision; }