Input replay

This CL adds the ability to record & replay input events in a
'input' panel, under the experimental flag.

This records tracing with detail informations of input events (see
crrev.com/c/1943179).
The "Play" button will replays the input events from trace record,
and pause&resume button to pause and resume replaying.


Video:
https://screencast.googleplex.com/cast/NTI3NDUyNTE5NTMwNDk2MHw2N2JlMjEyMC00Yw

Change-Id: Ifc55877f013cddde22ddb06b0bff2cc6a54841f0
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1962300
Commit-Queue: Ella Ge <[email protected]>
Reviewed-by: Mathias Bynens <[email protected]>
diff --git a/front_end/main/MainImpl.js b/front_end/main/MainImpl.js
index c94bbfa..6289c5e 100644
--- a/front_end/main/MainImpl.js
+++ b/front_end/main/MainImpl.js
@@ -148,6 +148,7 @@
     Root.Runtime.experiments.register(
         'timelineV8RuntimeCallStats', 'Timeline: V8 Runtime Call Stats on Timeline', true);
     Root.Runtime.experiments.register('timelineWebGL', 'Timeline: WebGL-based flamechart');
+    Root.Runtime.experiments.register('timelineReplayEvent', 'Timeline: Replay input events');
 
     Root.Runtime.experiments.cleanUpStaleExperiments();
     const enabledExperiments = Root.Runtime.queryParam('enabledExperiments');