chromium/components/input/input_router.h

// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_INPUT_INPUT_ROUTER_H_
#define COMPONENTS_INPUT_INPUT_ROUTER_H_

#include <optional>

#include "base/functional/callback_forward.h"
#include "base/task/sequenced_task_runner.h"
#include "cc/input/touch_action.h"
#include "components/input/event_with_latency_info.h"
#include "components/input/gesture_event_queue.h"
#include "components/input/native_web_keyboard_event.h"
#include "components/input/passthrough_touch_event_queue.h"
#include "base/component_export.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "third_party/blink/public/common/input/web_input_event.h"
#include "third_party/blink/public/mojom/input/input_event_result.mojom-shared.h"
#include "third_party/blink/public/mojom/input/input_handler.mojom.h"
#include "third_party/blink/public/mojom/input/touch_event.mojom.h"

namespace input {

// The InputRouter allows the embedder to customize how input events are
// sent to the renderer, and how responses are dispatched to the browser.
// While the router should respect the relative order in which events are
// received, it is free to customize when those events are dispatched.
class InputRouter {};

}  // namespace input

#endif  // COMPONENTS_INPUT_INPUT_ROUTER_H_