Page MenuHomePhabricator

Extension tag registration in core should be independent from Parser object
Open, MediumPublic

Description

The list of extension tags is stored in an instance variable of the Parser object, and initialzed via the onParserFirstCallInit hook. That means every time a Parser object is constructed, we need to call the hook and re-register every extension tag, and there is no way to get a list of extension tags w/o constructing a parser object.

The list of registered extension tags should be moved into the ExtensionRegistry, the way that Parsoid does it, so that Parsoid doesn't have to create a legacy Parser on startup just to get a list of the registered extension tags.