HomePhabricator

Make "Show Context" persist rendering, whitespace, encoding, etc

Description

Make "Show Context" persist rendering, whitespace, encoding, etc

Summary:
Ref T2009. Currently, we do not persist view parameters when making context rendering requests.

The big one is the renderer (1up vs 2up). This makes context on unified diffs come in with too many columns.

However, it impacts other parameters too. For example, at HEAD, if you change highlighting to "rainbow" and then load more context, the context uses the original highlighter instead of the rainbow highlighter.

This moves context loads into ChangesetViewManager, which maintains view parameters and can provide them correctly.

  • This removes "ref"; it is no longer required, as the ChangesetViewManager tracks it.
  • This removes URI management from behavior-show-more; it is no longer required, since the ChangesetViewManager knows how to render.
  • This removes "whitespace" since this is handled properly by the view manager.

Test Plan:

  • Used "Show Top" / "Show All" / "Show Bottom" in 1-up and 2-up views.
  • Changed file highlighting to rainbow, loaded stuff, saw rainbow stick.
  • Used "Show Entire File" in 1-up and 2-up views.
    • Saw loading chrome.
    • No loading chrome normally.
  • Made inlines, verified copyRows() code runs.
  • Poked around Diffusion -- it is missing some parameter handling, but works OK.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T2009

Differential Revision: https://secure.phabricator.com/D11977