23 use Wikimedia\Assert\Assert;
79 Content &$oldContent =
null,
Content &$newContent =
null, $allowedClasses =
null
81 if ( !$oldContent && !$newContent ) {
82 throw new InvalidArgumentException(
'$oldContent and $newContent cannot both be null' );
85 if ( $allowedClasses ) {
86 if ( !is_array( $allowedClasses ) ) {
87 $allowedClasses = explode(
'|', $allowedClasses );
89 $allowedClasses[] =
'null';
90 Assert::parameterType( $allowedClasses, $oldContent,
'$oldContent' );
91 Assert::parameterType( $allowedClasses, $newContent,
'$newContent' );
95 $oldContent = $newContent->getContentHandler()->makeEmptyContent();
96 } elseif ( !$newContent ) {
97 $newContent = $oldContent->getContentHandler()->makeEmptyContent();
This is one of the Core classes and should be read at least once by any new developers.
Renders a diff for a single slot (that is, a diff between two content objects).
addModules(OutputPage $output)
Add modules needed for correct styling/behavior of the diff.
getExtraCacheKeys()
Return any extra keys to split the diff cache by.
getDiff(Content $oldContent=null, Content $newContent=null)
Get a diff between two content objects.
normalizeContents(Content &$oldContent=null, Content &$newContent=null, $allowedClasses=null)
Helper method to normalize the input of getDiff().
Base interface for representing page content.