SelectionController is the class that changes text selection as the default handling of mouse events.
The class stores several states, which are transitioned on mouse events that arrive asynchronously. However, we don't have clear documentation of these states, and don't have a clear idea which transitions are allowed or not allowed. As a result, we are not sure if certain code in it is ever reachable or not (see discussion in crrev.com/c/713074).
We should document SelectionController as a state machine, with states and transitions clearly defined. With the state machine, we should eliminate dead code and ensure full test coverage.
Comment 1 by sheriffbot@chromium.org
, Oct 17Status: Untriaged (was: Available)