2019-11-26 20:04:19 +01:00
|
|
|
diff --git content/browser/renderer_host/input/fling_scheduler.cc content/browser/renderer_host/input/fling_scheduler.cc
|
2023-02-27 19:52:38 +01:00
|
|
|
index 431df5d50debe..0fcc9ea8fbb1a 100644
|
2019-11-26 20:04:19 +01:00
|
|
|
--- content/browser/renderer_host/input/fling_scheduler.cc
|
|
|
|
+++ content/browser/renderer_host/input/fling_scheduler.cc
|
2020-03-04 01:29:39 +01:00
|
|
|
@@ -68,6 +68,9 @@ void FlingScheduler::ProgressFlingOnBeginFrameIfneeded(
|
2019-11-26 20:04:19 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
ui::Compositor* FlingScheduler::GetCompositor() {
|
|
|
|
+ if (compositor_) {
|
|
|
|
+ return compositor_;
|
|
|
|
+ }
|
2023-02-27 19:52:38 +01:00
|
|
|
if (!host_->GetView()) {
|
|
|
|
return nullptr;
|
|
|
|
}
|
2019-11-26 20:04:19 +01:00
|
|
|
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
|
2024-03-19 22:11:42 +01:00
|
|
|
index 7f63e954dc68a..c916d68d3fbde 100644
|
2019-11-26 20:04:19 +01:00
|
|
|
--- content/browser/renderer_host/render_widget_host_impl.cc
|
|
|
|
+++ content/browser/renderer_host/render_widget_host_impl.cc
|
2024-03-19 22:11:42 +01:00
|
|
|
@@ -3234,6 +3234,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() {
|
2020-06-09 19:48:00 +02:00
|
|
|
GetProcess(), bad_message::INPUT_ROUTER_INVALID_EVENT_SOURCE);
|
2019-11-26 20:04:19 +01:00
|
|
|
}
|
|
|
|
|
2024-03-19 22:11:42 +01:00
|
|
|
+void RenderWidgetHostImpl::SetCompositorForFlingScheduler(
|
|
|
|
+ ui::Compositor* compositor) {
|
|
|
|
+ GetRenderInputRouter()->fling_scheduler()->SetCompositor(compositor);
|
2019-11-26 20:04:19 +01:00
|
|
|
+}
|
|
|
|
+
|
|
|
|
void RenderWidgetHostImpl::AddPendingUserActivation(
|
|
|
|
const WebInputEvent& event) {
|
2020-03-04 01:29:39 +01:00
|
|
|
if ((base::FeatureList::IsEnabled(
|
2019-11-26 20:04:19 +01:00
|
|
|
diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h
|
2024-03-19 22:11:42 +01:00
|
|
|
index fb89c4500eeae..5e8f8d258dde2 100644
|
2019-11-26 20:04:19 +01:00
|
|
|
--- content/browser/renderer_host/render_widget_host_impl.h
|
|
|
|
+++ content/browser/renderer_host/render_widget_host_impl.h
|
2024-03-19 22:11:42 +01:00
|
|
|
@@ -814,6 +814,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
2020-03-04 01:29:39 +01:00
|
|
|
|
2019-11-26 20:04:19 +01:00
|
|
|
void ProgressFlingIfNeeded(base::TimeTicks current_time);
|
|
|
|
void StopFling();
|
|
|
|
+ void SetCompositorForFlingScheduler(ui::Compositor* compositor);
|
|
|
|
|
2024-01-26 03:12:43 +01:00
|
|
|
RenderWidgetHostViewBase* GetRenderWidgetHostViewBase();
|
|
|
|
|
2023-12-06 21:16:15 +01:00
|
|
|
diff --git content/common/input/fling_scheduler_base.h content/common/input/fling_scheduler_base.h
|
|
|
|
index e8ee63f3abc2e..2d1717082759d 100644
|
|
|
|
--- content/common/input/fling_scheduler_base.h
|
|
|
|
+++ content/common/input/fling_scheduler_base.h
|
|
|
|
@@ -7,12 +7,23 @@
|
|
|
|
|
|
|
|
#include "content/common/input/fling_controller.h"
|
|
|
|
|
|
|
|
+namespace ui {
|
|
|
|
+class Compositor;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
namespace content {
|
|
|
|
|
|
|
|
class FlingSchedulerBase : public FlingControllerSchedulerClient {
|
|
|
|
public:
|
|
|
|
virtual void ProgressFlingOnBeginFrameIfneeded(
|
|
|
|
base::TimeTicks current_time) = 0;
|
|
|
|
+
|
|
|
|
+ void SetCompositor(ui::Compositor* compositor) {
|
|
|
|
+ compositor_ = compositor;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+protected:
|
|
|
|
+ ui::Compositor* compositor_ = nullptr;
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace content
|
2024-03-19 22:11:42 +01:00
|
|
|
diff --git content/common/input/render_input_router.h content/common/input/render_input_router.h
|
|
|
|
index 9d664e43a3f94..584a4fa7d6d99 100644
|
|
|
|
--- content/common/input/render_input_router.h
|
|
|
|
+++ content/common/input/render_input_router.h
|
|
|
|
@@ -56,6 +56,7 @@ class CONTENT_EXPORT RenderInputRouter : public InputRouterImplClient {
|
|
|
|
void RendererWidgetCreated(bool for_frame_widget);
|
|
|
|
|
|
|
|
InputRouter* input_router() { return input_router_.get(); }
|
|
|
|
+ FlingSchedulerBase* fling_scheduler() { return fling_scheduler_.get(); }
|
|
|
|
|
|
|
|
void SetForceEnableZoom(bool);
|
|
|
|
void SetDeviceScaleFactor(float device_scale_factor);
|