1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CC_TEST_FAKE_COMPOSITOR_DELEGATE_FOR_INPUT_H_
#define CC_TEST_FAKE_COMPOSITOR_DELEGATE_FOR_INPUT_H_
#include <memory>
#include "base/types/optional_ref.h"
#include "cc/input/browser_controls_offset_tag_modifications.h"
#include "cc/input/browser_controls_state.h"
#include "cc/input/compositor_input_interfaces.h"
#include "cc/paint/element_id.h"
#include "cc/test/fake_impl_task_runner_provider.h"
#include "cc/test/fake_layer_tree_host_impl.h"
#include "cc/test/test_task_graph_runner.h"
#include "cc/trees/layer_tree_settings.h"
#include "cc/trees/property_tree.h"
#include "ui/gfx/geometry/size.h"
namespace cc {
class FakeCompositorDelegateForInput : public CompositorDelegateForInput {
public:
FakeCompositorDelegateForInput();
~FakeCompositorDelegateForInput() override;
void BindToInputHandler(
std::unique_ptr<InputDelegateForCompositor> delegate) override {}
ScrollTree& GetScrollTree() const override;
void ScrollAnimationAbort(ElementId element_id) const override {}
float GetBrowserControlsTopOffset() const override;
void ScrollBegin() const override {}
void ScrollEnd() const override {}
void StartScrollSequence(
FrameSequenceTrackerType type,
FrameInfo::SmoothEffectDrivingThread scrolling_thread) override {}
void StopSequence(FrameSequenceTrackerType type) override {}
void PinchBegin() const override {}
void PinchEnd() const override {}
void TickScrollAnimations() const override {}
void ScrollbarAnimationMouseLeave(ElementId element_id) const override {}
void ScrollbarAnimationMouseMove(
ElementId element_id,
gfx::PointF device_viewport_point) const override {}
bool ScrollbarAnimationMouseDown(ElementId element_id) const override;
bool ScrollbarAnimationMouseUp(ElementId element_id) const override;
double PredictViewportBoundsDelta(
double current_bounds_delta,
gfx::Vector2dF scroll_distance) const override;
bool ElementHasImplOnlyScrollAnimation(ElementId) const override;
std::optional<gfx::PointF> UpdateImplAnimationScrollTargetWithDelta(
gfx::Vector2dF adjusted_delta,
int scroll_node_id,
base::TimeDelta delayed_by,
ElementId element_id) const override;
std::unique_ptr<EventsMetricsManager::ScopedMonitor>
GetScopedEventMetricsMonitor(
EventsMetricsManager::ScopedMonitor::DoneCallback done_callback) override;
void DidScrollForMetrics() override {}
void NotifyInputEvent(bool is_fling) override {}
std::unique_ptr<LatencyInfoSwapPromiseMonitor>
CreateLatencyInfoSwapPromiseMonitor(ui::LatencyInfo* latency) override;
void SetNeedsAnimateInput() override {}
bool ScrollAnimationCreate(const ScrollNode& scroll_node,
const gfx::Vector2dF& scroll_amount,
base::TimeDelta delayed_by) override;
bool HasAnimatedScrollbars() const override;
void SetNeedsCommit() override {}
void SetNeedsFullViewportRedraw() override {}
void SetDeferBeginMainFrame(bool defer_begin_main_frame) const override {}
void DidUpdateScrollAnimationCurve() override {}
void DidStartPinchZoom() override {}
void DidUpdatePinchZoom() override {}
void DidEndPinchZoom() override {}
void DidStartScroll() override {}
void DidEndScroll() override {}
void DidMouseLeave() override {}
bool IsInHighLatencyMode() const override;
void WillScrollContent(ElementId element_id) override {}
void DidScrollContent(ElementId element_id,
bool animated,
const gfx::Vector2dF& scroll_delta) override {}
float DeviceScaleFactor() const override;
float PageScaleFactor() const override;
gfx::Size VisualDeviceViewportSize() const override;
const LayerTreeSettings& GetSettings() const override;
LayerTreeHostImpl& GetImplDeprecated() override;
const LayerTreeHostImpl& GetImplDeprecated() const override;
void UpdateBrowserControlsState(
BrowserControlsState constraints,
BrowserControlsState current,
bool animate,
base::optional_ref<const BrowserControlsOffsetTagModifications>
offset_tag_modifications) override {}
bool HasScrollLinkedAnimation(ElementId for_scroller) const override;
private:
mutable ScrollTree scroll_tree_;
LayerTreeSettings settings_;
FakeImplTaskRunnerProvider task_runner_provider_;
TestTaskGraphRunner task_graph_runner_;
FakeLayerTreeHostImpl host_impl_;
};
} // namespace cc
#endif // CC_TEST_FAKE_COMPOSITOR_DELEGATE_FOR_INPUT_H_
|