differenceEngine = clone $differenceEngine; // Set state to loaded. This should not matter to any of the methods invoked by // the adapter, but just in case a load does get triggered somehow, make sure it's a no-op. $fakeContent = ContentHandler::getForModelID( CONTENT_MODEL_WIKITEXT )->makeEmptyContent(); $this->differenceEngine->setContent( $fakeContent, $fakeContent ); $this->differenceEngine->markAsSlotDiffRenderer(); } /** @inheritDoc */ public function getDiff( Content $oldContent = null, Content $newContent = null ) { $this->normalizeContents( $oldContent, $newContent ); return $this->differenceEngine->generateContentDiffBody( $oldContent, $newContent ); } public function addModules( OutputPage $output ) { $oldContext = null; if ( $output !== $this->differenceEngine->getOutput() ) { $oldContext = $this->differenceEngine->getContext(); $newContext = new DerivativeContext( $oldContext ); $newContext->setOutput( $output ); $this->differenceEngine->setContext( $newContext ); } $this->differenceEngine->showDiffStyle(); if ( $oldContext ) { $this->differenceEngine->setContext( $oldContext ); } } public function getExtraCacheKeys() { return $this->differenceEngine->getExtraCacheKeys(); } }