By default this uses the existing ContentHandler::serializeContent() and ::unserializeContent() methods. But in cases where existing PHP serialization preserved fields that ::serializeContent() did not, provide an additional ContentHandler::serializeContentToJsonArray() and ContentHandler::deserializeContentFromJsonArray() methods which can be used. Use these in WikitextContentHandler to preserve the PST flags. Added test cases and a ContentSerializationTestTrait to make it easy to ensure forward- and backward-compatibility in accord with https://www.mediawiki.org/wiki/Manual:Parser_cache/Serialization_compatibility The new JsonCodecable codec will be used to improve PageEditStashContent serialization, which no longer has to PHP-serialize its Content object. New test case added demonstrating compatibility. Bug: T264389 Bug: T161647 Change-Id: I544625136088164561b9169a63aed7450cce82f5 (cherry picked from commit 21576d6c1893079777a1a51d0f81c4941c58e376)
1 line
No EOL
115 B
JSON
1 line
No EOL
115 B
JSON
{"model":"css","format":"text/css","blob":"/* hello */","_type_":"MediaWiki\\Content\\CssContent","_complex_":true} |