Yurik has uploaded a new change for review.

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

Change subject: Fixed preview caching polluting parser cache
......................................................................

Fixed preview caching polluting parser cache

Bug: T119779
Change-Id: I00b45ed7c06f66241b4831613a9ac96776de63d7
---
M includes/Graph.body.php
1 file changed, 8 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Graph 
refs/changes/39/263039/1

diff --git a/includes/Graph.body.php b/includes/Graph.body.php
index 051ca58..ed0e1aa 100644
--- a/includes/Graph.body.php
+++ b/includes/Graph.body.php
@@ -41,7 +41,7 @@
 
        public static function onParserAfterParse( Parser $parser ) {
                self::finalizeParserOutput( $parser->getOutput(), 
$parser->getTitle(),
-                       $parser->getOptions()->getIsPreview() );
+                       $parser->getOptions() );
                return true;
        }
 
@@ -61,7 +61,7 @@
                        $parser->getOutput(), 
$parser->getOptions()->getIsPreview(), $args );
        }
 
-       public static function finalizeParserOutput( ParserOutput $output, 
$title, $isPreview ) {
+       public static function finalizeParserOutput( ParserOutput $output, 
$title, ParserOptions $options ) {
                if ( $output->getExtensionData( 'graph_specs_broken' ) ) {
                        $output->addTrackingCategory( 'graph-broken-category', 
$title );
                }
@@ -86,6 +86,11 @@
 
                        $liveSpecs = $output->getExtensionData( 
'graph_live_specs' );
                        $interact = $output->getExtensionData( 'graph_interact' 
);
+
+                       if ( $options->getIsPreview() ) {
+                               // Prevent parser cache pollution by varying on 
"isPreview"
+                               $options->addExtraKey( 'graph-preview' );
+                       }
 
                        if ( $liveSpecs || $interact ) {
                                // TODO: these 3 js vars should be per domain 
if 'ext.graph' is added, not per page
@@ -266,6 +271,6 @@
                $output->setText( $html );
 
                // Since we invoke parser manually, the ParserAfterParse never 
gets called, do it manually
-               Singleton::finalizeParserOutput( $output, $title, 
$options->getIsPreview() );
+               Singleton::finalizeParserOutput( $output, $title, $options );
        }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/263039
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I00b45ed7c06f66241b4831613a9ac96776de63d7
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Graph
Gerrit-Branch: master
Gerrit-Owner: Yurik <yu...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to