Clean up, document, and fix the organization of Review UIs.

Review Request #9290 — Created Oct. 19, 2017 and submitted — Latest diff uploaded

Information

Review Board
release-3.0.x
67a460e...

Reviewers

Review UIs have received some modifications in this release (and in
previous releases) that broke the separation of ReviewUI and
FileAttachmentReviewUI. The former started receiving logic specific to
file attachments, which belonged in the latter. It also provided a
number of functions that made some assumptions about the types of
objects it was working with, when it should have provided stub functions
to overwrite.

In practice, this isn't likely to have impacted extension authors, who
are going to be subclassing FileAttachmentReviewUI, but non-attachment
Review UIs would have required working around the misplaced logic. This
change fixes all this so that the logic is all in the correct classes.

It also adds a bunch of missing documentation, fixes bad documentation
and error messages, implements necessary methods in
LegacyScreenshotReviewUI, and fixes a regression with that UI's
thumbnails that broke clipping of thumbnails.

Unit tests pass.

Manually tested thumbnails and review UIs for legacy screenshots, PDFs,
images, and text files.