Commit 57ce5e4d authored by Dave Tapuska's avatar Dave Tapuska Committed by Commit Bot

Allow UI LatencyInfo types to be typemapped in blink.

Moving input handling into blink (from content) requires some additional
typemaps.

BUG=1073560

Change-Id: I5f58dbd11905a3195be1d31f442a963b8f0034f5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2226312Reviewed-by: default avatarKen Buchanan <kenrb@chromium.org>
Reviewed-by: default avatarNavid Zolghadr <nzolghadr@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#775135}
parent 76d469d5
...@@ -4,6 +4,20 @@ ...@@ -4,6 +4,20 @@
import("//mojo/public/tools/bindings/mojom.gni") import("//mojo/public/tools/bindings/mojom.gni")
component("shared_mojom_traits") {
output_name = "latency_shared_mojom_traits"
defines = [ "IS_LATENCY_SHARED_MOJOM_TRAITS_IMPL" ]
sources = [
"latency_info_mojom_traits.cc",
"latency_info_mojom_traits.h",
]
public_deps = [
":mojom_shared",
"//ipc:param_traits",
"//ui/latency",
]
}
mojom("mojom") { mojom("mojom") {
generate_java = true generate_java = true
sources = [ "latency_info.mojom" ] sources = [ "latency_info.mojom" ]
...@@ -22,12 +36,14 @@ mojom("mojom") { ...@@ -22,12 +36,14 @@ mojom("mojom") {
cpp = "::ui::LatencyInfo" cpp = "::ui::LatencyInfo"
}, },
] ]
traits_sources = [ "latency_info_mojom_traits.cc" ]
traits_headers = [ "latency_info_mojom_traits.h" ] traits_headers = [ "latency_info_mojom_traits.h" ]
traits_public_deps = [ "//ui/latency" ] traits_public_deps = [
traits_deps = [ "//ipc:param_traits" ] ":shared_mojom_traits",
"//ui/latency",
]
}, },
] ]
blink_cpp_typemaps = cpp_typemaps
} }
mojom("test_interfaces") { mojom("test_interfaces") {
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#ifndef UI_LATENCY_MOJOM_LATENCY_INFO_MOJOM_TRAITS_H_ #ifndef UI_LATENCY_MOJOM_LATENCY_INFO_MOJOM_TRAITS_H_
#define UI_LATENCY_MOJOM_LATENCY_INFO_MOJOM_TRAITS_H_ #define UI_LATENCY_MOJOM_LATENCY_INFO_MOJOM_TRAITS_H_
#include "base/component_export.h"
#include "ui/latency/latency_info.h" #include "ui/latency/latency_info.h"
#include "ui/latency/mojom/latency_info.mojom-shared.h" #include "ui/latency/mojom/latency_info.mojom-shared.h"
...@@ -19,7 +20,8 @@ static_assert(static_cast<int>(ui::mojom::SourceEventType::kMaxValue) == ...@@ -19,7 +20,8 @@ static_assert(static_cast<int>(ui::mojom::SourceEventType::kMaxValue) ==
"Enum size mismatch"); "Enum size mismatch");
template <> template <>
struct ArrayTraits<ui::LatencyInfo::LatencyMap> { struct COMPONENT_EXPORT(LATENCY_SHARED_MOJOM_TRAITS)
ArrayTraits<ui::LatencyInfo::LatencyMap> {
using Element = ui::LatencyInfo::LatencyMap::value_type; using Element = ui::LatencyInfo::LatencyMap::value_type;
using Iterator = ui::LatencyInfo::LatencyMap::iterator; using Iterator = ui::LatencyInfo::LatencyMap::iterator;
using ConstIterator = ui::LatencyInfo::LatencyMap::const_iterator; using ConstIterator = ui::LatencyInfo::LatencyMap::const_iterator;
...@@ -43,7 +45,8 @@ struct ArrayTraits<ui::LatencyInfo::LatencyMap> { ...@@ -43,7 +45,8 @@ struct ArrayTraits<ui::LatencyInfo::LatencyMap> {
}; };
template <> template <>
struct StructTraits<ui::mojom::LatencyInfoDataView, ui::LatencyInfo> { struct COMPONENT_EXPORT(LATENCY_SHARED_MOJOM_TRAITS)
StructTraits<ui::mojom::LatencyInfoDataView, ui::LatencyInfo> {
static const ui::LatencyInfo::LatencyMap& latency_components( static const ui::LatencyInfo::LatencyMap& latency_components(
const ui::LatencyInfo& info); const ui::LatencyInfo& info);
static int64_t trace_id(const ui::LatencyInfo& info); static int64_t trace_id(const ui::LatencyInfo& info);
...@@ -60,7 +63,8 @@ struct StructTraits<ui::mojom::LatencyInfoDataView, ui::LatencyInfo> { ...@@ -60,7 +63,8 @@ struct StructTraits<ui::mojom::LatencyInfoDataView, ui::LatencyInfo> {
}; };
template <> template <>
struct EnumTraits<ui::mojom::LatencyComponentType, ui::LatencyComponentType> { struct COMPONENT_EXPORT(LATENCY_SHARED_MOJOM_TRAITS)
EnumTraits<ui::mojom::LatencyComponentType, ui::LatencyComponentType> {
static ui::mojom::LatencyComponentType ToMojom(ui::LatencyComponentType type); static ui::mojom::LatencyComponentType ToMojom(ui::LatencyComponentType type);
static bool FromMojom(ui::mojom::LatencyComponentType input, static bool FromMojom(ui::mojom::LatencyComponentType input,
ui::LatencyComponentType* output); ui::LatencyComponentType* output);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment