Index: ui/latency/mojo/latency_info_struct_traits.cc |
diff --git a/ui/latency/mojo/latency_info_struct_traits.cc b/ui/latency/mojo/latency_info_struct_traits.cc |
index 55a979497b99879da9847b11870c6fb9a7c91cfb..e07ecc511e695193ab2f1a9c5fb147a744ef30e7 100644 |
--- a/ui/latency/mojo/latency_info_struct_traits.cc |
+++ b/ui/latency/mojo/latency_info_struct_traits.cc |
@@ -152,6 +152,36 @@ ui::LatencyComponentType MojoLatencyComponentTypeToUI( |
return ui::LATENCY_COMPONENT_TYPE_LAST; |
} |
+ui::mojom::SourceEventType UISourceEventTypeToMojo(ui::SourceEventType type) { |
+ switch (type) { |
+ case ui::UNKNOWN: |
+ return ui::mojom::SourceEventType::UNKNOWN; |
+ case ui::WHEEL: |
+ return ui::mojom::SourceEventType::WHEEL; |
+ case ui::TOUCH: |
+ return ui::mojom::SourceEventType::TOUCH; |
+ case ui::OTHER: |
+ return ui::mojom::SourceEventType::OTHER; |
+ } |
+ NOTREACHED(); |
+ return ui::mojom::SourceEventType::UNKNOWN; |
+} |
+ |
+ui::SourceEventType MojoSourceEventTypeToUI(ui::mojom::SourceEventType type) { |
+ switch (type) { |
+ case ui::mojom::SourceEventType::UNKNOWN: |
+ return ui::UNKNOWN; |
+ case ui::mojom::SourceEventType::WHEEL: |
+ return ui::WHEEL; |
+ case ui::mojom::SourceEventType::TOUCH: |
+ return ui::TOUCH; |
+ case ui::mojom::SourceEventType::OTHER: |
+ return ui::OTHER; |
+ } |
+ NOTREACHED(); |
+ return ui::SourceEventType::UNKNOWN; |
+} |
+ |
} // namespace |
// static |
@@ -237,27 +267,39 @@ StructTraits<ui::mojom::LatencyInfoDataView, ui::LatencyInfo>::trace_name( |
return info.trace_name_; |
} |
+// static |
const ui::LatencyInfo::LatencyMap& |
StructTraits<ui::mojom::LatencyInfoDataView, |
ui::LatencyInfo>::latency_components(const ui::LatencyInfo& info) { |
return info.latency_components(); |
} |
+// static |
int64_t StructTraits<ui::mojom::LatencyInfoDataView, ui::LatencyInfo>::trace_id( |
const ui::LatencyInfo& info) { |
return info.trace_id(); |
} |
+// static |
bool StructTraits<ui::mojom::LatencyInfoDataView, ui::LatencyInfo>::coalesced( |
const ui::LatencyInfo& info) { |
return info.coalesced(); |
} |
+// static |
bool StructTraits<ui::mojom::LatencyInfoDataView, ui::LatencyInfo>::terminated( |
const ui::LatencyInfo& info) { |
return info.terminated(); |
} |
+// static |
+ui::mojom::SourceEventType |
+StructTraits<ui::mojom::LatencyInfoDataView, |
+ ui::LatencyInfo>::source_event_type(const ui::LatencyInfo& info) { |
+ return UISourceEventTypeToMojo(info.source_event_type()); |
+} |
+ |
+// static |
bool StructTraits<ui::mojom::LatencyInfoDataView, ui::LatencyInfo>::Read( |
ui::mojom::LatencyInfoDataView data, |
ui::LatencyInfo* out) { |
@@ -280,6 +322,7 @@ bool StructTraits<ui::mojom::LatencyInfoDataView, ui::LatencyInfo>::Read( |
out->trace_id_ = data.trace_id(); |
out->coalesced_ = data.coalesced(); |
out->terminated_ = data.terminated(); |
+ out->source_event_type_ = MojoSourceEventTypeToUI(data.source_event_type()); |
return true; |
} |