// Copyright 2024 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_RENDER_WIDGET_HOST_VIEW_INPUT_H_ #define COMPONENTS_INPUT_RENDER_WIDGET_HOST_VIEW_INPUT_H_ #include <memory> #include <optional> #include <string> #include "components/input/event_with_latency_info.h" #include "components/input/input_router_impl.h" #include "components/input/render_input_router.h" #include "components/viz/common/hit_test/aggregated_hit_test_region.h" #include "components/viz/common/surfaces/surface_id.h" #include "base/component_export.h" #include "third_party/blink/public/mojom/input/input_event_result.mojom-shared.h" #include "ui/events/blink/did_overscroll_params.h" #include "ui/events/event.h" namespace blink { class WebMouseEvent; class WebMouseWheelEvent; } // namespace blink namespace ui { class Cursor; class LatencyInfo; } // namespace ui namespace input { class CursorManager; class RenderInputRouter; class RenderWidgetHostViewInputObserver; // RenderWidgetHostViewInput is an interface implemented by an object that acts // as the "View" portion of a RenderWidgetHost. This interface acts as a helper // for receiving input events from the surrounding environment and forwarding // them to the RenderWidgetHost, allowing breaking dependency on RWHV and RWHI // for input handling including targeting and dispatching. This interface would // assist VizCompositor Thread to implement input handling in the future with // InputVizard. // (https://docs.google.com/document/d/1mcydbkgFCO_TT9NuFE962L8PLJWT2XOfXUAPO88VuKE) // // The lifetime of RenderWidgetHostViewInput is tied to the lifetime of the // renderer process. If the render process dies, the RenderWidgetHostViewInput // goes away and all references to it must become nullptr. class COMPONENT_EXPORT(INPUT) RenderWidgetHostViewInput : public StylusInterface { … }; } // namespace input #endif // COMPONENTS_INPUT_RENDER_WIDGET_HOST_VIEW_INPUT_H_