// 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 content.mojom;

import "content/common/native_types.mojom";

// Host interface representing the ability to inject input
// from a less priviledged application. Available when
// --enable-gpu-benchmarking command line flag is provided.
interface InputInjector {
  QueueSyntheticSmoothDrag(SyntheticSmoothDrag drag) => ();
  QueueSyntheticSmoothScroll(SyntheticSmoothScroll scroll) => ();
  QueueSyntheticPinch(SyntheticPinch pinch) => ();
  QueueSyntheticTap(SyntheticTap tap) => ();
  QueueSyntheticPointerAction(SyntheticPointerAction pointer_action) => ();
};
