gecko-dev/layout/base/doc/AccessibleCaretEventHubStates.dot
Ting-Yu Lin 07b84af1aa Bug 1246477 - Fix carets not updated by scroll events in LongTapState. r=roc
This is a regression by "Bug 1121468 - Go to NoActionState after
receiving release on LongTapState."

When receiving a scroll event in LongTapState, i.e. apz starts, we
should call OnScrollStart() and move to the ScrollState.

--HG--
extra : commitid : GsQNnTtqhzh
extra : rebase_source : 0a6ad44a4bf97ed15b374094929df5409deeba41
2016-02-08 16:08:45 +08:00

43 lines
1.6 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 -> PostScroll [label="Scroll end"];
Scroll -> NoAction [label="Blur"];
PostScroll [color="#FF9022"]
PostScroll -> Scroll [label="Scroll start"];
PostScroll -> NoAction [label="Blur or\nWait 300ms"];
PostScroll -> NoAction [label="Press (forward to NoAction)", constraint=false];
}