ws: Queue input events on delivery, not dispatch.

Queue additional events generated by EventRewriters, as needed.
Refactor EventQueue to operate later, closer to EventSink delivery.

Eliminate HostEventQueue and [Test]HostEventDispatcher.
Use Shell via WSDelegate for EventInjector's display -> host lookup.

Update tests and setup code; add a queue unit test for host destruction.
Move content_browsertests' aura::TestScreen ownership to WMTestHelper.

TODO: Remove WindowTreeHost::event_sink(), use GetEventSink().

Alternate WIP sticky keys DCHECK workaround:

Bug: 913549
Test: No SingleProcessMash sticky keys DCHECK, no input regressions.
Change-Id: I61d67af94fad0ed8414a7945160a7c231dca47a1
Commit-Queue: Michael Wasserman <>
Reviewed-by: Scott Violet <>
Cr-Commit-Position: refs/heads/master@{#616930}
37 files changed