In the era of B2G, we wanted to hide the carets during scrolling, and PostScrollState was designed to avoid carets flicking during momentum scrolling. These days, we no longer hide carets during scrolling, so PostScrollState can be removed to make the code simpler and easier to maintain. MozReview-Commit-ID: Bf6ZgYVlt1q
38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
// Steps to generate AccessibleCaretEventHubStates.png
|
|
// 1. Install Graphviz
|
|
// 2. dot -T png -o AccessibleCaretEventHubStates.png AccessibleCaretEventHubStates.dot
|
|
//
|
|
// Note: If the edge has 'constraint=false', it is not used in ranking the
|
|
// nodes. http://www.graphviz.org/doc/info/attrs.html#d:constraint
|
|
|
|
digraph event_hub_states {
|
|
node [style=filled];
|
|
edge [color="gray30", fontcolor="gray20", fontsize=12]
|
|
|
|
NoAction [label="NoAction\n(Initial)"color="#96FF2F"];
|
|
NoAction -> PressCaret [label="Press & on a caret"];
|
|
NoAction -> PressNoCaret [label="Press & not on a caret"];
|
|
NoAction -> Scroll [label="Scroll start"];
|
|
|
|
PressCaret [color="#84D8FF"];
|
|
PressCaret -> DragCaret [label="Move & distance is large"];
|
|
PressCaret -> NoAction [label="Release (synthesizing a tap)"];
|
|
|
|
DragCaret [color="#84D8FF"];
|
|
DragCaret -> DragCaret [label="Move"];
|
|
DragCaret -> NoAction [label="Release"];
|
|
|
|
PressNoCaret [color="#E8C516"];
|
|
PressNoCaret -> NoAction [label="Move & distance is large or\nRelease or\nBlur"];
|
|
PressNoCaret -> LongTap [label="Long tap"];
|
|
PressNoCaret -> Scroll [label="Scroll start", constraint=false];
|
|
|
|
LongTap [color="#E8C516"]
|
|
LongTap -> NoAction [label="Release"];
|
|
LongTap -> Scroll [label="Scroll start", constraint=false];
|
|
|
|
Scroll [color="#FF9022"]
|
|
Scroll -> NoAction [label="Scroll end"];
|
|
Scroll -> NoAction [label="Blur"];
|
|
}
|