Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
6 changes: 3 additions & 3 deletions lib/ui/window/pointer_data_packet_converter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ PointerDataPacketConverter::PointerDataPacketConverter() {}
PointerDataPacketConverter::~PointerDataPacketConverter() = default;

std::unique_ptr<PointerDataPacket> PointerDataPacketConverter::Convert(
std::unique_ptr<PointerDataPacket> packet) {
const PointerDataPacket& packet) {
std::vector<PointerData> converted_pointers;
// Converts each pointer data in the buffer and stores it in the
// converted_pointers.
for (size_t i = 0; i < packet->GetLength(); i++) {
PointerData pointer_data = packet->GetPointerData(i);
for (size_t i = 0; i < packet.GetLength(); i++) {
PointerData pointer_data = packet.GetPointerData(i);
ConvertPointerData(pointer_data, converted_pointers);
}

Expand Down
6 changes: 2 additions & 4 deletions lib/ui/window/pointer_data_packet_converter.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,10 @@ class PointerDataPacketConverter {
/// embedding.
///
/// @return A full converted packet with all the required information
/// filled.
/// It may contain synthetic pointer data as the result of
/// filled. It may contain synthetic pointer data as the result of
/// converter's attempt to correct illegal pointer transitions.
///
std::unique_ptr<PointerDataPacket> Convert(
std::unique_ptr<PointerDataPacket> packet);
std::unique_ptr<PointerDataPacket> Convert(const PointerDataPacket& packet);

private:
std::map<int64_t, PointerState> states_;
Expand Down
24 changes: 12 additions & 12 deletions lib/ui/window/pointer_data_packet_converter_unittests.cc
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ TEST(PointerDataPacketConverterTest, CanConvertPointerDataPacket) {
CreateSimulatedPointerData(data, PointerData::Change::kRemove, 0, 3.0, 4.0,
0);
packet->SetPointerData(5, data);
auto converted_packet = converter.Convert(std::move(packet));
auto converted_packet = converter.Convert(*packet);

std::vector<PointerData> result;
UnpackPointerPacket(result, std::move(converted_packet));
Expand Down Expand Up @@ -205,7 +205,7 @@ TEST(PointerDataPacketConverterTest, CanSynthesizeDownAndUp) {
CreateSimulatedPointerData(data, PointerData::Change::kRemove, 0, 3.0, 4.0,
0);
packet->SetPointerData(3, data);
auto converted_packet = converter.Convert(std::move(packet));
auto converted_packet = converter.Convert(*packet);

std::vector<PointerData> result;
UnpackPointerPacket(result, std::move(converted_packet));
Expand Down Expand Up @@ -262,7 +262,7 @@ TEST(PointerDataPacketConverterTest, CanUpdatePointerIdentifier) {
CreateSimulatedPointerData(data, PointerData::Change::kRemove, 0, 3.0, 0.0,
0);
packet->SetPointerData(6, data);
auto converted_packet = converter.Convert(std::move(packet));
auto converted_packet = converter.Convert(*packet);

std::vector<PointerData> result;
UnpackPointerPacket(result, std::move(converted_packet));
Expand Down Expand Up @@ -312,7 +312,7 @@ TEST(PointerDataPacketConverterTest, AlwaysForwardMoveEvent) {
CreateSimulatedPointerData(data, PointerData::Change::kUp, 0, 0.0, 0.0, 0);
packet->SetPointerData(3, data);

auto converted_packet = converter.Convert(std::move(packet));
auto converted_packet = converter.Convert(*packet);

std::vector<PointerData> result;
UnpackPointerPacket(result, std::move(converted_packet));
Expand Down Expand Up @@ -365,7 +365,7 @@ TEST(PointerDataPacketConverterTest, CanWorkWithDifferentDevices) {
CreateSimulatedPointerData(data, PointerData::Change::kRemove, 1, 0.0, 4.0,
0);
packet->SetPointerData(11, data);
auto converted_packet = converter.Convert(std::move(packet));
auto converted_packet = converter.Convert(*packet);

std::vector<PointerData> result;
UnpackPointerPacket(result, std::move(converted_packet));
Expand Down Expand Up @@ -441,7 +441,7 @@ TEST(PointerDataPacketConverterTest, CanSynthesizeAdd) {
packet->SetPointerData(0, data);
CreateSimulatedPointerData(data, PointerData::Change::kUp, 0, 0.0, 0.0, 0);
packet->SetPointerData(1, data);
auto converted_packet = converter.Convert(std::move(packet));
auto converted_packet = converter.Convert(*packet);

std::vector<PointerData> result;
UnpackPointerPacket(result, std::move(converted_packet));
Expand Down Expand Up @@ -485,14 +485,14 @@ TEST(PointerDataPacketConverterTest, CanHandleThreeFingerGesture) {
auto packet = std::make_unique<PointerDataPacket>(1);
CreateSimulatedPointerData(data, PointerData::Change::kDown, 0, 0.0, 0.0, 1);
packet->SetPointerData(0, data);
auto converted_packet = converter.Convert(std::move(packet));
auto converted_packet = converter.Convert(*packet);
UnpackPointerPacket(result, std::move(converted_packet));
// Second finger down.
packet = std::make_unique<PointerDataPacket>(1);
CreateSimulatedPointerData(data, PointerData::Change::kDown, 1, 33.0, 44.0,
1);
packet->SetPointerData(0, data);
converted_packet = converter.Convert(std::move(packet));
converted_packet = converter.Convert(*packet);
UnpackPointerPacket(result, std::move(converted_packet));
// Triggers three cancels.
packet = std::make_unique<PointerDataPacket>(3);
Expand All @@ -505,7 +505,7 @@ TEST(PointerDataPacketConverterTest, CanHandleThreeFingerGesture) {
CreateSimulatedPointerData(data, PointerData::Change::kCancel, 2, 40.0, 50.0,
0);
packet->SetPointerData(2, data);
converted_packet = converter.Convert(std::move(packet));
converted_packet = converter.Convert(*packet);
UnpackPointerPacket(result, std::move(converted_packet));

ASSERT_EQ(result.size(), (size_t)6);
Expand Down Expand Up @@ -582,7 +582,7 @@ TEST(PointerDataPacketConverterTest, CanConvertPointerSignals) {
CreateSimulatedMousePointerData(data, PointerData::Change::kHover, kind, 2,
10.0, 20.0, 30.0, 40.0, 0);
packet->SetPointerData(5, data);
auto converted_packet = converter.Convert(std::move(packet));
auto converted_packet = converter.Convert(*packet);

std::vector<PointerData> result;
UnpackPointerPacket(result, std::move(converted_packet));
Expand Down Expand Up @@ -678,7 +678,7 @@ TEST(PointerDataPacketConverterTest, CanConvertTrackpadGesture) {
CreateSimulatedTrackpadGestureData(data, PointerData::Change::kPanZoomEnd, 0,
0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
packet->SetPointerData(2, data);
auto converted_packet = converter.Convert(std::move(packet));
auto converted_packet = converter.Convert(*packet);

std::vector<PointerData> result;
UnpackPointerPacket(result, std::move(converted_packet));
Expand Down Expand Up @@ -726,7 +726,7 @@ TEST(PointerDataPacketConverterTest, CanConvertViewId) {
CreateSimulatedPointerData(data, PointerData::Change::kHover, 0, 1.0, 0.0, 0);
data.view_id = 200;
packet->SetPointerData(1, data);
auto converted_packet = converter.Convert(std::move(packet));
auto converted_packet = converter.Convert(*packet);

std::vector<PointerData> result;
UnpackPointerPacket(result, std::move(converted_packet));
Expand Down
4 changes: 3 additions & 1 deletion runtime/runtime_controller.cc
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,9 @@ bool RuntimeController::DispatchPointerDataPacket(
const PointerDataPacket& packet) {
if (auto* platform_configuration = GetPlatformConfigurationIfAvailable()) {
TRACE_EVENT0("flutter", "RuntimeController::DispatchPointerDataPacket");
platform_configuration->DispatchPointerDataPacket(packet);
std::unique_ptr<PointerDataPacket> converted_packet =
pointer_data_packet_converter_.Convert(packet);
platform_configuration->DispatchPointerDataPacket(*converted_packet);
return true;
}

Expand Down
2 changes: 2 additions & 0 deletions runtime/runtime_controller.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include "flutter/lib/ui/volatile_path_tracker.h"
#include "flutter/lib/ui/window/platform_configuration.h"
#include "flutter/lib/ui/window/pointer_data_packet.h"
#include "flutter/lib/ui/window/pointer_data_packet_converter.h"
#include "flutter/runtime/dart_vm.h"
#include "flutter/runtime/platform_data.h"
#include "flutter/runtime/platform_isolate_manager.h"
Expand Down Expand Up @@ -687,6 +688,7 @@ class RuntimeController : public PlatformConfigurationClient {
const fml::closure isolate_shutdown_callback_;
std::shared_ptr<const fml::Mapping> persistent_isolate_data_;
UIDartState::Context context_;
PointerDataPacketConverter pointer_data_packet_converter_;
std::shared_ptr<PlatformIsolateManager> platform_isolate_manager_ =
std::shared_ptr<PlatformIsolateManager>(new PlatformIsolateManager());
bool has_flushed_runtime_state_ = false;
Expand Down
1 change: 1 addition & 0 deletions shell/common/input_events_unittests.cc
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ static void TestSimulatedInputEvents(

// Make sure that all events have been consumed so
// https://github.com/flutter/flutter/issues/40863 won't happen again.
ASSERT_GT(events_consumed_at_frame.size(), 0u);
ASSERT_EQ(events_consumed_at_frame.back(), num_events);
}

Expand Down
3 changes: 1 addition & 2 deletions shell/common/platform_view.cc
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@ void PlatformView::DispatchPlatformMessage(

void PlatformView::DispatchPointerDataPacket(
std::unique_ptr<PointerDataPacket> packet) {
delegate_.OnPlatformViewDispatchPointerDataPacket(
pointer_data_packet_converter_.Convert(std::move(packet)));
delegate_.OnPlatformViewDispatchPointerDataPacket(std::move(packet));
}

void PlatformView::DispatchSemanticsAction(int32_t node_id,
Expand Down
2 changes: 0 additions & 2 deletions shell/common/platform_view.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
#include "flutter/lib/ui/window/key_data_packet.h"
#include "flutter/lib/ui/window/platform_message.h"
#include "flutter/lib/ui/window/pointer_data_packet.h"
#include "flutter/lib/ui/window/pointer_data_packet_converter.h"
#include "flutter/lib/ui/window/viewport_metrics.h"
#include "flutter/shell/common/platform_message_handler.h"
#include "flutter/shell/common/pointer_data_dispatcher.h"
Expand Down Expand Up @@ -961,7 +960,6 @@ class PlatformView {

PlatformView::Delegate& delegate_;
const TaskRunners task_runners_;
PointerDataPacketConverter pointer_data_packet_converter_;
fml::WeakPtrFactory<PlatformView> weak_factory_; // Must be the last member.

private:
Expand Down