| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module ws.mojom; |
| |
| import "ui/events/mojo/event.mojom"; |
| |
| // An interface offered by the window service which allows clients to inject |
| // events. This class is mainly provided for tests, but is also used for timing |
| // (telemetry). |
| interface EventInjector { |
| // Takes an event and dispatches it as if it came from the native platform. |
| // Responds with false on bad |display_id| or bad |event|; true once the |
| // event has completed processing. |
| // |
| // If |event| is a LocatedEvent, then the coordinates must be in DIPs, and |
| // relative to the origin of the display identified by |display_id|. |
| InjectEvent(int64 display_id, ui.mojom.Event event) => (bool result); |
| |
| // Takes an event and dispatches it as if it came from the native platform. |
| // Similar to InjectEvent() but does not respond when processing is complete. |
| InjectEventNoAck(int64 display_id, ui.mojom.Event event); |
| |
| // Similar to InjectEventNoAck(), but skips event rewriters. |
| InjectEventNoAckNoRewriters(int64 display_id, ui.mojom.Event event); |
| }; |