HomePhabricator

Introduce CommentFormatter

Description

Introduce CommentFormatter

CommentParser:

  • Move comment formatting backend from Linker to a CommentParser service. Allow link existence and file existence to be batched.
  • Rename $local to $samePage since I think that is clearer.
  • Rename $title to $selfLinkTarget since it was unclear what the title was used for.
  • Rename the "autocomment" concept to "section link" in public interfaces, although the old term remains in CSS classes.
  • Keep unsafe HTML pass-through in separate "unsafe" methods, for easier static analysis and code review.

CommentFormatter:

  • Add CommentFormatter and RowCommentFormatter services as a usable frontend for comment batches, and to replace the Linker static methods.
  • Provide fluent and parametric interfaces.

Linker:

  • Remove Linker::makeCommentLink() without deprecation -- nothing calls it and it is obviously an internal helper.
  • Soft-deprecate Linker methods formatComment(), formatLinksInComment(), commentBlock() and revComment().

Caller migration:

  • CommentFormatter single: Linker, RollbackAction, ApiComparePages, ApiParse
  • CommentFormatter parametric batch: ImageHistoryPseudoPager
  • CommentFormatter fluent batch: ApiQueryFilearchive
  • RowCommentFormatter sequential: History feed, BlocklistPager, ProtectedPagesPager, ApiQueryProtectedTitles
  • RowCommentFormatter with index: ChangesFeed, ChangesList, ApiQueryDeletedrevs, ApiQueryLogEvents, ApiQueryRecentChanges
  • RevisionCommentBatch: HistoryPager, ContribsPager

Bug: T285917
Change-Id: Ia3fd50a4a13138ba5003d884962da24746d562d0

Details

Provenance
tstarlingAuthored on Jul 1 2021, 6:55 AM
PcheloloCommitted on Sep 28 2021, 6:13 PM
Parents
rMWf3cf265e752b: Merge "Parser::preprocess and ::preSaveTransform put one parameter per line"
Branches
Unknown
Tags
Unknown
ChangeId
Ia3fd50a4a13138ba5003d884962da24746d562d0