Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1060)

Unified Diff: mojo/common/common_custom_types_struct_traits.h

Issue 2367393002: Migrating MediaSession messages to mojo (Closed)
Patch Set: better type mapping (experimental, should move to a separate CL) Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/common/common_custom_types_struct_traits.h
diff --git a/mojo/common/common_custom_types_struct_traits.h b/mojo/common/common_custom_types_struct_traits.h
index 82e5a8a7a9a5b285b8937b9a77279d7e58fd6879..23f178a35bb69d0121cfa37ca9d7def4c052022a 100644
--- a/mojo/common/common_custom_types_struct_traits.h
+++ b/mojo/common/common_custom_types_struct_traits.h
@@ -5,6 +5,7 @@
#ifndef MOJO_COMMON_COMMON_CUSTOM_TYPES_STRUCT_TRAITS_H_
#define MOJO_COMMON_COMMON_CUSTOM_TYPES_STRUCT_TRAITS_H_
+#include "base/strings/utf_string_conversions.h"
#include "base/unguessable_token.h"
#include "base/version.h"
#include "mojo/common/common_custom_types.mojom-shared.h"
@@ -12,6 +13,21 @@
namespace mojo {
+template<>
+struct StructTraits<mojo::common::mojom::String16DataView, base::string16> {
+ static std::vector<uint16_t> data(const base::string16& str) {
+ return std::vector<uint16_t>(str.data(), str.data() + str.size());
+ }
+ static bool Read(mojo::common::mojom::String16DataView data,
+ base::string16* out) {
+ std::vector<uint16_t> raw_data;
+ if (!data.ReadData(&raw_data))
+ return false;
+ out->assign(raw_data.data(), raw_data.size());
+ return true;
+ }
+};
+
template <>
struct StructTraits<mojo::common::mojom::VersionDataView, base::Version> {
static bool IsNull(const base::Version& version) {

Powered by Google App Engine
This is Rietveld 408576698