| // Copyright 2016 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 THIRD_PARTY_BLINK_PUBLIC_MOJOM_SCRIPT_SCRIPT_TYPE_MOJOM_SHARED_H_ |
| #define THIRD_PARTY_BLINK_PUBLIC_MOJOM_SCRIPT_SCRIPT_TYPE_MOJOM_SHARED_H_ |
| |
| #include <stdint.h> |
| |
| #include <functional> |
| #include <ostream> |
| #include <type_traits> |
| #include <utility> |
| |
| #include "base/compiler_specific.h" |
| #include "base/containers/flat_map.h" |
| #include "mojo/public/cpp/bindings/array_data_view.h" |
| #include "mojo/public/cpp/bindings/enum_traits.h" |
| #include "mojo/public/cpp/bindings/interface_data_view.h" |
| #include "mojo/public/cpp/bindings/lib/bindings_internal.h" |
| #include "mojo/public/cpp/bindings/lib/serialization.h" |
| #include "mojo/public/cpp/bindings/map_data_view.h" |
| #include "mojo/public/cpp/bindings/string_data_view.h" |
| #include "third_party/blink/public/mojom/script/script_type.mojom-shared-internal.h" |
| |
| #include "mojo/public/cpp/bindings/lib/interface_serialization.h" |
| |
| |
| #include "mojo/public/cpp/bindings/native_enum.h" |
| #include "mojo/public/cpp/bindings/lib/native_struct_serialization.h" |
| #include "base/component_export.h" |
| |
| #ifdef KYTHE_IS_RUNNING |
| #pragma kythe_inline_metadata "Metadata comment" |
| #endif |
| |
| |
| namespace blink { |
| namespace mojom { |
| |
| |
| } // namespace mojom |
| } // namespace blink |
| |
| namespace mojo { |
| namespace internal { |
| |
| } // namespace internal |
| } // namespace mojo |
| |
| |
| namespace blink { |
| namespace mojom { |
| |
| |
| // @generated_from: blink.mojom.ScriptType |
| enum class ScriptType : int32_t { |
| |
| // @generated_from: blink.mojom.ScriptType.kClassic |
| kClassic, |
| |
| // @generated_from: blink.mojom.ScriptType.kModule |
| kModule, |
| kMinValue = 0, |
| kMaxValue = 1, |
| }; |
| |
| COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) std::ostream& operator<<(std::ostream& os, ScriptType value); |
| inline bool IsKnownEnumValue(ScriptType value) { |
| return internal::ScriptType_Data::IsKnownValue( |
| static_cast<int32_t>(value)); |
| } |
| |
| |
| } // namespace mojom |
| } // namespace blink |
| |
| namespace std { |
| |
| template <> |
| struct hash<::blink::mojom::ScriptType> |
| : public mojo::internal::EnumHashImpl<::blink::mojom::ScriptType> {}; |
| |
| } // namespace std |
| |
| namespace mojo { |
| |
| |
| template <> |
| struct EnumTraits<::blink::mojom::ScriptType, ::blink::mojom::ScriptType> { |
| static ::blink::mojom::ScriptType ToMojom(::blink::mojom::ScriptType input) { return input; } |
| static bool FromMojom(::blink::mojom::ScriptType input, ::blink::mojom::ScriptType* output) { |
| *output = input; |
| return true; |
| } |
| }; |
| |
| namespace internal { |
| |
| template <typename MaybeConstUserType> |
| struct Serializer<::blink::mojom::ScriptType, MaybeConstUserType> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = EnumTraits<::blink::mojom::ScriptType, UserType>; |
| |
| static void Serialize(UserType input, int32_t* output) { |
| *output = static_cast<int32_t>(Traits::ToMojom(input)); |
| } |
| |
| static bool Deserialize(int32_t input, UserType* output) { |
| return Traits::FromMojom(static_cast<::blink::mojom::ScriptType>(input), output); |
| } |
| }; |
| |
| } // namespace internal |
| |
| } // namespace mojo |
| |
| |
| namespace blink { |
| namespace mojom { |
| |
| |
| } // namespace mojom |
| } // namespace blink |
| |
| #endif // THIRD_PARTY_BLINK_PUBLIC_MOJOM_SCRIPT_SCRIPT_TYPE_MOJOM_SHARED_H_ |
| |
| /* Metadata comment |
| eyJtZXRhIjogW3siZW5kIjogMTU0MywgImJlZ2luIjogMTUzMywgImVkZ2UiOiAiJS9reXRoZS9l |
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw |
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui |
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLlNjcmlwdFR5cGUifX0sIHsiZW5k |
| IjogMTYyMSwgImJlZ2luIjogMTYxMywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIs |
| ICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0u |
| Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2ln |
| bmF0dXJlIjogImJsaW5rLm1vam9tLlNjcmlwdFR5cGUua0NsYXNzaWMifX0sIHsiZW5kIjogMTY4 |
| NiwgImJlZ2luIjogMTY3OSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBl |
| IjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl |
| c291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJl |
| IjogImJsaW5rLm1vam9tLlNjcmlwdFR5cGUua01vZHVsZSJ9fV0sICJ0eXBlIjogImt5dGhlMCJ9 |
| */ |