wiki.techinc.nl/includes/content
C. Scott Ananian a0503debb0 Provide previous parse results to parser when rendering
This patch lays the groundwork for incremental/selective parsing in
Parsoid by ensuring that we can pass previous cached parses through
the parse pipeline to Parsoid.  We do this by adding a new render
hint type, `previous-output`, and ensuring it is passed along.

Because revisions can contain a ParserOutput which is the combination
of separate ParserOutput objects for each of their slots, RenderedRevision
also contains a method to unsplit the combined ParserOutput to reconstruct
an original ParserOutput for use in incremental parsing.  Currently this
is mostly a stub, but illustrates how slot combination and splitting can
work, assuming those transformations are reversible.

Extra calls to ParserCache::getDirty() are added to some code paths
in order to ensure that any previously-cached ParserOutput is available
for selective update.  In order to mitigate any performance concerns,
these are only done for the Parsoid parser at the moment.  Future
patches will add additional metrics to quantify the cost/benefit ratio
of the additional cache lookups on these paths.

Bug: T363421
Bug: T371713
Change-Id: I440884f1d7e09c1ff9806f848b7b53a636367690
2024-08-23 17:41:55 -04:00
..
Hook Move Language and friends into Language namespace 2024-08-10 13:36:30 +02:00
Renderer Provide previous parse results to parser when rendering 2024-08-23 17:41:55 -04:00
Transform Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
AbstractContent.php Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
CodeContentHandler.php Move Language and friends into Language namespace 2024-08-10 13:36:30 +02:00
Content.php Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
ContentHandler.php Move Language and friends into Language namespace 2024-08-10 13:36:30 +02:00
ContentHandlerFactory.php Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
ContentModelChange.php Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
CssContent.php Add namespace and deprecation alias to TextContent 2024-05-19 23:23:01 +03:30
CssContentHandler.php Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
FallbackContent.php Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
FallbackContentHandler.php Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
FileContentHandler.php Fix some typos 2024-08-18 18:59:44 +02:00
IContentHandlerFactory.php Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
JavaScriptContent.php Add namespace and deprecation alias to TextContent 2024-05-19 23:23:01 +03:30
JavaScriptContentHandler.php Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
JsonContent.php Made the JsonContent Responsive 2024-08-08 19:49:48 +05:30
JsonContentHandler.php Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
TextContent.php Move Language and friends into Language namespace 2024-08-10 13:36:30 +02:00
TextContentHandler.php Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
ValidationParams.php Move Content::prepareSave to ContentHandler 2021-11-11 15:40:42 +02:00
WikitextContent.php Move remaining four classes in includes/content into Content namespace 2024-08-10 10:40:53 +02:00
WikitextContentHandler.php Provide previous parse results to parser when rendering 2024-08-23 17:41:55 -04:00
WikiTextStructure.php Add namespace to WikitextContent 2024-08-06 17:42:51 +03:30