// 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 ui.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 processin. // // If |event| is a LocatedEvent, then the coordinates must be in pixels, 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); };