Index: extensions/common/manifest_parser_struct_traits.h |
diff --git a/extensions/common/manifest_parser_struct_traits.h b/extensions/common/manifest_parser_struct_traits.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..abe4c6516266e5ae84896defe2ae6385ef3660af |
--- /dev/null |
+++ b/extensions/common/manifest_parser_struct_traits.h |
@@ -0,0 +1,81 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef EXTENSIONS_COMMON_MANIFEST_PARSER_STRUCT_TRAITS_H |
+#define EXTENSIONS_COMMON_MANIFEST_PARSER_STRUCT_TRAITS_H |
+ |
+#include "extensions/common/manifest_parser.mojom.h" |
+#include "extensions/common/update_manifest.h" |
+ |
+namespace mojo { |
+ |
+template <> |
+struct StructTraits<::extensions::mojom::UpdateManifestResults::DataView, |
+ ::UpdateManifest::Results> { |
+ static const std::vector<::UpdateManifest::Result>& list( |
+ const ::UpdateManifest::Results& input) { |
+ return input.list; |
+ } |
+ |
+ static int daystart_elapsed_seconds(const ::UpdateManifest::Results& input) { |
+ return input.daystart_elapsed_seconds; |
+ } |
+ |
+ static bool Read(::extensions::mojom::UpdateManifestResults::DataView input, |
+ ::UpdateManifest::Results* output); |
+}; |
+ |
+template <> |
+struct StructTraits<::extensions::mojom::UpdateManifestResult::DataView, |
+ ::UpdateManifest::Result> { |
+ static const std::string& extension_id( |
+ const ::UpdateManifest::Result& input) { |
+ return input.extension_id; |
+ } |
+ |
+ static const std::string& version(const ::UpdateManifest::Result& input) { |
+ return input.version; |
+ } |
+ |
+ static const std::string& browser_min_version( |
+ const ::UpdateManifest::Result& input) { |
+ return input.browser_min_version; |
+ } |
+ |
+ static const GURL& crx_url(const ::UpdateManifest::Result& input) { |
+ return input.crx_url; |
+ } |
+ |
+ static const std::string& package_hash( |
+ const ::UpdateManifest::Result& input) { |
+ return input.package_hash; |
+ } |
+ |
+ static int size(const ::UpdateManifest::Result& input) { return input.size; } |
+ |
+ static const std::string& package_fingerprint( |
+ const ::UpdateManifest::Result& input) { |
+ return input.package_fingerprint; |
+ } |
+ |
+ static const GURL& diff_crx_url(const ::UpdateManifest::Result& input) { |
+ return input.diff_crx_url; |
+ } |
+ |
+ static const std::string& diff_package_hash( |
+ const ::UpdateManifest::Result& input) { |
+ return input.diff_package_hash; |
+ } |
+ |
+ static int diff_size(const ::UpdateManifest::Result& input) { |
+ return input.diff_size; |
+ } |
+ |
+ static bool Read(::extensions::mojom::UpdateManifestResult::DataView input, |
+ ::UpdateManifest::Result* output); |
+}; |
+ |
+} // namespace mojo |
+ |
+#endif // EXTENSIONS_COMMON_MANIFEST_PARSER_STRUCT_TRAITS_H |