blob: f146af3b945458d33dabb7e48f3ea416a8e56e27 [file] [log] [blame]
// Copyright 2013 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_MANIFEST_MANIFEST_MOJOM_BLINK_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_MANIFEST_MANIFEST_MOJOM_BLINK_H_
#include <stdint.h>
#include <limits>
#include <type_traits>
#include <utility>
#include "base/callback.h"
#include "base/macros.h"
#include "base/optional.h"
#include "mojo/public/cpp/bindings/mojo_buildflags.h"
#if BUILDFLAG(MOJO_TRACE_ENABLED)
#include "base/trace_event/trace_event.h"
#endif
#include "mojo/public/cpp/bindings/clone_traits.h"
#include "mojo/public/cpp/bindings/equals_traits.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/struct_ptr.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
#include "mojo/public/cpp/bindings/union_traits.h"
#include "third_party/blink/public/mojom/manifest/manifest.mojom-shared.h"
#include "third_party/blink/public/mojom/manifest/manifest.mojom-blink-forward.h"
#include "services/device/public/mojom/screen_orientation_lock_types.mojom-blink.h"
#include "mojo/public/mojom/base/string16.mojom-blink.h"
#include "third_party/blink/public/mojom/manifest/display_mode.mojom-blink.h"
#include "ui/gfx/geometry/mojo/geometry.mojom-blink.h"
#include "url/mojom/url.mojom-blink.h"
#include "mojo/public/cpp/bindings/lib/wtf_clone_equals_util.h"
#include "mojo/public/cpp/bindings/lib/wtf_hash_util.h"
#include "third_party/blink/renderer/platform/wtf/hash_functions.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "mojo/public/cpp/bindings/associated_interface_ptr.h"
#include "mojo/public/cpp/bindings/associated_interface_ptr_info.h"
#include "mojo/public/cpp/bindings/associated_interface_request.h"
#include "mojo/public/cpp/bindings/interface_ptr.h"
#include "mojo/public/cpp/bindings/interface_request.h"
#include "mojo/public/cpp/bindings/lib/control_message_handler.h"
#include "mojo/public/cpp/bindings/raw_ptr_impl_ref_traits.h"
#include "mojo/public/cpp/bindings/thread_safe_interface_ptr.h"
#include "mojo/public/cpp/bindings/lib/native_enum_serialization.h"
#include "mojo/public/cpp/bindings/lib/native_struct_serialization.h"
#include "third_party/blink/renderer/platform/platform_export.h"
#ifdef KYTHE_IS_RUNNING
#pragma kythe_inline_metadata "Metadata comment"
#endif
namespace WTF {
struct blink_mojom_internal_ManifestImageResource_Purpose_DataHashFn {
static unsigned GetHash(const ::blink::mojom::ManifestImageResource_Purpose& value) {
using utype = std::underlying_type<::blink::mojom::ManifestImageResource_Purpose>::type;
return DefaultHash<utype>::Hash().GetHash(static_cast<utype>(value));
}
static bool Equal(const ::blink::mojom::ManifestImageResource_Purpose& left, const ::blink::mojom::ManifestImageResource_Purpose& right) {
return left == right;
}
static const bool safe_to_compare_to_empty_or_deleted = true;
};
template <>
struct HashTraits<::blink::mojom::ManifestImageResource_Purpose>
: public GenericHashTraits<::blink::mojom::ManifestImageResource_Purpose> {
static_assert(true,
"-1000000 is a reserved enum value");
static_assert(true,
"-1000001 is a reserved enum value");
static const bool hasIsEmptyValueFunction = true;
static bool IsEmptyValue(const ::blink::mojom::ManifestImageResource_Purpose& value) {
return value == static_cast<::blink::mojom::ManifestImageResource_Purpose>(-1000000);
}
static void ConstructDeletedValue(::blink::mojom::ManifestImageResource_Purpose& slot, bool) {
slot = static_cast<::blink::mojom::ManifestImageResource_Purpose>(-1000001);
}
static bool IsDeletedValue(const ::blink::mojom::ManifestImageResource_Purpose& value) {
return value == static_cast<::blink::mojom::ManifestImageResource_Purpose>(-1000001);
}
};
} // namespace WTF
namespace WTF {
struct blink_mojom_internal_ManifestShareTarget_Method_DataHashFn {
static unsigned GetHash(const ::blink::mojom::ManifestShareTarget_Method& value) {
using utype = std::underlying_type<::blink::mojom::ManifestShareTarget_Method>::type;
return DefaultHash<utype>::Hash().GetHash(static_cast<utype>(value));
}
static bool Equal(const ::blink::mojom::ManifestShareTarget_Method& left, const ::blink::mojom::ManifestShareTarget_Method& right) {
return left == right;
}
static const bool safe_to_compare_to_empty_or_deleted = true;
};
template <>
struct HashTraits<::blink::mojom::ManifestShareTarget_Method>
: public GenericHashTraits<::blink::mojom::ManifestShareTarget_Method> {
static_assert(true,
"-1000000 is a reserved enum value");
static_assert(true,
"-1000001 is a reserved enum value");
static const bool hasIsEmptyValueFunction = true;
static bool IsEmptyValue(const ::blink::mojom::ManifestShareTarget_Method& value) {
return value == static_cast<::blink::mojom::ManifestShareTarget_Method>(-1000000);
}
static void ConstructDeletedValue(::blink::mojom::ManifestShareTarget_Method& slot, bool) {
slot = static_cast<::blink::mojom::ManifestShareTarget_Method>(-1000001);
}
static bool IsDeletedValue(const ::blink::mojom::ManifestShareTarget_Method& value) {
return value == static_cast<::blink::mojom::ManifestShareTarget_Method>(-1000001);
}
};
} // namespace WTF
namespace WTF {
struct blink_mojom_internal_ManifestShareTarget_Enctype_DataHashFn {
static unsigned GetHash(const ::blink::mojom::ManifestShareTarget_Enctype& value) {
using utype = std::underlying_type<::blink::mojom::ManifestShareTarget_Enctype>::type;
return DefaultHash<utype>::Hash().GetHash(static_cast<utype>(value));
}
static bool Equal(const ::blink::mojom::ManifestShareTarget_Enctype& left, const ::blink::mojom::ManifestShareTarget_Enctype& right) {
return left == right;
}
static const bool safe_to_compare_to_empty_or_deleted = true;
};
template <>
struct HashTraits<::blink::mojom::ManifestShareTarget_Enctype>
: public GenericHashTraits<::blink::mojom::ManifestShareTarget_Enctype> {
static_assert(true,
"-1000000 is a reserved enum value");
static_assert(true,
"-1000001 is a reserved enum value");
static const bool hasIsEmptyValueFunction = true;
static bool IsEmptyValue(const ::blink::mojom::ManifestShareTarget_Enctype& value) {
return value == static_cast<::blink::mojom::ManifestShareTarget_Enctype>(-1000000);
}
static void ConstructDeletedValue(::blink::mojom::ManifestShareTarget_Enctype& slot, bool) {
slot = static_cast<::blink::mojom::ManifestShareTarget_Enctype>(-1000001);
}
static bool IsDeletedValue(const ::blink::mojom::ManifestShareTarget_Enctype& value) {
return value == static_cast<::blink::mojom::ManifestShareTarget_Enctype>(-1000001);
}
};
} // namespace WTF
namespace blink {
namespace mojom {
namespace blink {
// @generated_from: blink.mojom.ManifestError
class PLATFORM_EXPORT ManifestError {
public:
template <typename T>
using EnableIfSame = std::enable_if_t<std::is_same<ManifestError, T>::value>;
using DataView = ManifestErrorDataView;
using Data_ = internal::ManifestError_Data;
template <typename... Args>
static ManifestErrorPtr New(Args&&... args) {
return ManifestErrorPtr(
base::in_place, std::forward<Args>(args)...);
}
template <typename U>
static ManifestErrorPtr From(const U& u) {
return mojo::TypeConverter<ManifestErrorPtr, U>::Convert(u);
}
template <typename U>
U To() const {
return mojo::TypeConverter<U, ManifestError>::Convert(*this);
}
ManifestError();
ManifestError(
const WTF::String& message,
bool critical,
uint32_t line,
uint32_t column);
~ManifestError();
// Clone() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Clone() or copy
// constructor/assignment are available for members.
template <typename StructPtrType = ManifestErrorPtr>
ManifestErrorPtr Clone() const;
// Equals() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Equals() or == operator
// are available for members.
template <typename T, ManifestError::EnableIfSame<T>* = nullptr>
bool Equals(const T& other) const;
size_t Hash(size_t seed) const;
template <typename UserType>
static WTF::Vector<uint8_t> Serialize(UserType* input) {
return mojo::internal::SerializeImpl<
ManifestError::DataView, WTF::Vector<uint8_t>>(input);
}
template <typename UserType>
static mojo::Message SerializeAsMessage(UserType* input) {
return mojo::internal::SerializeAsMessageImpl<
ManifestError::DataView>(input);
}
// The returned Message is serialized only if the message is moved
// cross-process or cross-language. Otherwise if the message is Deserialized
// as the same UserType |input| will just be moved to |output| in
// DeserializeFromMessage.
template <typename UserType>
static mojo::Message WrapAsMessage(UserType input) {
return mojo::Message(std::make_unique<
internal::ManifestError_UnserializedMessageContext<
UserType, ManifestError::DataView>>(0, 0, std::move(input)));
}
template <typename UserType>
static bool Deserialize(const void* data,
size_t data_num_bytes,
UserType* output) {
return mojo::internal::DeserializeImpl<ManifestError::DataView>(
data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate);
}
template <typename UserType>
static bool Deserialize(const WTF::Vector<uint8_t>& input,
UserType* output) {
return ManifestError::Deserialize(
input.size() == 0 ? nullptr : &input.front(), input.size(), output);
}
template <typename UserType>
static bool DeserializeFromMessage(mojo::Message input,
UserType* output) {
auto context = input.TakeUnserializedContext<
internal::ManifestError_UnserializedMessageContext<
UserType, ManifestError::DataView>>();
if (context) {
*output = std::move(context->TakeData());
return true;
}
input.SerializeIfNecessary();
return mojo::internal::DeserializeImpl<ManifestError::DataView>(
input.payload(), input.payload_num_bytes(),
std::move(*input.mutable_handles()), output, Validate);
}
// @generated_from: blink.mojom.ManifestError.message
WTF::String message;
// @generated_from: blink.mojom.ManifestError.critical
bool critical;
// @generated_from: blink.mojom.ManifestError.line
uint32_t line;
// @generated_from: blink.mojom.ManifestError.column
uint32_t column;
private:
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
};
// The comparison operators are templates, so they are only instantiated if they
// are used. Thus, the bindings generator does not need to know whether
// comparison operators are available for members.
template <typename T, ManifestError::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, ManifestError::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {
return !(rhs < lhs);
}
template <typename T, ManifestError::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {
return rhs < lhs;
}
template <typename T, ManifestError::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {
return !(lhs < rhs);
}
// @generated_from: blink.mojom.Manifest
class PLATFORM_EXPORT Manifest {
public:
template <typename T>
using EnableIfSame = std::enable_if_t<std::is_same<Manifest, T>::value>;
using DataView = ManifestDataView;
using Data_ = internal::Manifest_Data;
template <typename... Args>
static ManifestPtr New(Args&&... args) {
return ManifestPtr(
base::in_place, std::forward<Args>(args)...);
}
template <typename U>
static ManifestPtr From(const U& u) {
return mojo::TypeConverter<ManifestPtr, U>::Convert(u);
}
template <typename U>
U To() const {
return mojo::TypeConverter<U, Manifest>::Convert(*this);
}
Manifest();
Manifest(
const WTF::String& name,
const WTF::String& short_name,
const ::blink::KURL& start_url,
::blink::WebDisplayMode display,
::blink::WebScreenOrientationLockType orientation,
WTF::Vector<ManifestImageResourcePtr> icons,
ManifestShareTargetPtr share_target,
ManifestFileHandlerPtr file_handler,
WTF::Vector<ManifestRelatedApplicationPtr> related_applications,
bool prefer_related_applications,
bool has_theme_color,
uint32_t theme_color,
bool has_background_color,
uint32_t background_color,
const WTF::String& gcm_sender_id,
const ::blink::KURL& scope);
~Manifest();
// Clone() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Clone() or copy
// constructor/assignment are available for members.
template <typename StructPtrType = ManifestPtr>
ManifestPtr Clone() const;
// Equals() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Equals() or == operator
// are available for members.
template <typename T, Manifest::EnableIfSame<T>* = nullptr>
bool Equals(const T& other) const;
template <typename UserType>
static WTF::Vector<uint8_t> Serialize(UserType* input) {
return mojo::internal::SerializeImpl<
Manifest::DataView, WTF::Vector<uint8_t>>(input);
}
template <typename UserType>
static mojo::Message SerializeAsMessage(UserType* input) {
return mojo::internal::SerializeAsMessageImpl<
Manifest::DataView>(input);
}
// The returned Message is serialized only if the message is moved
// cross-process or cross-language. Otherwise if the message is Deserialized
// as the same UserType |input| will just be moved to |output| in
// DeserializeFromMessage.
template <typename UserType>
static mojo::Message WrapAsMessage(UserType input) {
return mojo::Message(std::make_unique<
internal::Manifest_UnserializedMessageContext<
UserType, Manifest::DataView>>(0, 0, std::move(input)));
}
template <typename UserType>
static bool Deserialize(const void* data,
size_t data_num_bytes,
UserType* output) {
return mojo::internal::DeserializeImpl<Manifest::DataView>(
data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate);
}
template <typename UserType>
static bool Deserialize(const WTF::Vector<uint8_t>& input,
UserType* output) {
return Manifest::Deserialize(
input.size() == 0 ? nullptr : &input.front(), input.size(), output);
}
template <typename UserType>
static bool DeserializeFromMessage(mojo::Message input,
UserType* output) {
auto context = input.TakeUnserializedContext<
internal::Manifest_UnserializedMessageContext<
UserType, Manifest::DataView>>();
if (context) {
*output = std::move(context->TakeData());
return true;
}
input.SerializeIfNecessary();
return mojo::internal::DeserializeImpl<Manifest::DataView>(
input.payload(), input.payload_num_bytes(),
std::move(*input.mutable_handles()), output, Validate);
}
// @generated_from: blink.mojom.Manifest.name
WTF::String name;
// @generated_from: blink.mojom.Manifest.short_name
WTF::String short_name;
// @generated_from: blink.mojom.Manifest.start_url
::blink::KURL start_url;
// @generated_from: blink.mojom.Manifest.display
::blink::WebDisplayMode display;
// @generated_from: blink.mojom.Manifest.orientation
::blink::WebScreenOrientationLockType orientation;
// @generated_from: blink.mojom.Manifest.icons
WTF::Vector<ManifestImageResourcePtr> icons;
// @generated_from: blink.mojom.Manifest.share_target
ManifestShareTargetPtr share_target;
// @generated_from: blink.mojom.Manifest.file_handler
ManifestFileHandlerPtr file_handler;
// @generated_from: blink.mojom.Manifest.related_applications
WTF::Vector<ManifestRelatedApplicationPtr> related_applications;
// @generated_from: blink.mojom.Manifest.prefer_related_applications
bool prefer_related_applications;
// @generated_from: blink.mojom.Manifest.has_theme_color
bool has_theme_color;
// @generated_from: blink.mojom.Manifest.theme_color
uint32_t theme_color;
// @generated_from: blink.mojom.Manifest.has_background_color
bool has_background_color;
// @generated_from: blink.mojom.Manifest.background_color
uint32_t background_color;
// @generated_from: blink.mojom.Manifest.gcm_sender_id
WTF::String gcm_sender_id;
// @generated_from: blink.mojom.Manifest.scope
::blink::KURL scope;
private:
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
DISALLOW_COPY_AND_ASSIGN(Manifest);
};
// The comparison operators are templates, so they are only instantiated if they
// are used. Thus, the bindings generator does not need to know whether
// comparison operators are available for members.
template <typename T, Manifest::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, Manifest::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {
return !(rhs < lhs);
}
template <typename T, Manifest::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {
return rhs < lhs;
}
template <typename T, Manifest::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {
return !(lhs < rhs);
}
// @generated_from: blink.mojom.ManifestImageResource
class PLATFORM_EXPORT ManifestImageResource {
public:
template <typename T>
using EnableIfSame = std::enable_if_t<std::is_same<ManifestImageResource, T>::value>;
using DataView = ManifestImageResourceDataView;
using Data_ = internal::ManifestImageResource_Data;
// @generated_from: blink.mojom.ManifestImageResource.Purpose
using Purpose = ManifestImageResource_Purpose;
template <typename... Args>
static ManifestImageResourcePtr New(Args&&... args) {
return ManifestImageResourcePtr(
base::in_place, std::forward<Args>(args)...);
}
template <typename U>
static ManifestImageResourcePtr From(const U& u) {
return mojo::TypeConverter<ManifestImageResourcePtr, U>::Convert(u);
}
template <typename U>
U To() const {
return mojo::TypeConverter<U, ManifestImageResource>::Convert(*this);
}
ManifestImageResource();
ManifestImageResource(
const ::blink::KURL& src,
const WTF::String& type,
const WTF::Vector<::blink::WebSize>& sizes,
const WTF::Vector<ManifestImageResource::Purpose>& purpose);
~ManifestImageResource();
// Clone() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Clone() or copy
// constructor/assignment are available for members.
template <typename StructPtrType = ManifestImageResourcePtr>
ManifestImageResourcePtr Clone() const;
// Equals() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Equals() or == operator
// are available for members.
template <typename T, ManifestImageResource::EnableIfSame<T>* = nullptr>
bool Equals(const T& other) const;
template <typename UserType>
static WTF::Vector<uint8_t> Serialize(UserType* input) {
return mojo::internal::SerializeImpl<
ManifestImageResource::DataView, WTF::Vector<uint8_t>>(input);
}
template <typename UserType>
static mojo::Message SerializeAsMessage(UserType* input) {
return mojo::internal::SerializeAsMessageImpl<
ManifestImageResource::DataView>(input);
}
// The returned Message is serialized only if the message is moved
// cross-process or cross-language. Otherwise if the message is Deserialized
// as the same UserType |input| will just be moved to |output| in
// DeserializeFromMessage.
template <typename UserType>
static mojo::Message WrapAsMessage(UserType input) {
return mojo::Message(std::make_unique<
internal::ManifestImageResource_UnserializedMessageContext<
UserType, ManifestImageResource::DataView>>(0, 0, std::move(input)));
}
template <typename UserType>
static bool Deserialize(const void* data,
size_t data_num_bytes,
UserType* output) {
return mojo::internal::DeserializeImpl<ManifestImageResource::DataView>(
data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate);
}
template <typename UserType>
static bool Deserialize(const WTF::Vector<uint8_t>& input,
UserType* output) {
return ManifestImageResource::Deserialize(
input.size() == 0 ? nullptr : &input.front(), input.size(), output);
}
template <typename UserType>
static bool DeserializeFromMessage(mojo::Message input,
UserType* output) {
auto context = input.TakeUnserializedContext<
internal::ManifestImageResource_UnserializedMessageContext<
UserType, ManifestImageResource::DataView>>();
if (context) {
*output = std::move(context->TakeData());
return true;
}
input.SerializeIfNecessary();
return mojo::internal::DeserializeImpl<ManifestImageResource::DataView>(
input.payload(), input.payload_num_bytes(),
std::move(*input.mutable_handles()), output, Validate);
}
// @generated_from: blink.mojom.ManifestImageResource.src
::blink::KURL src;
// @generated_from: blink.mojom.ManifestImageResource.type
WTF::String type;
// @generated_from: blink.mojom.ManifestImageResource.sizes
WTF::Vector<::blink::WebSize> sizes;
// @generated_from: blink.mojom.ManifestImageResource.purpose
WTF::Vector<ManifestImageResource::Purpose> purpose;
private:
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
};
// The comparison operators are templates, so they are only instantiated if they
// are used. Thus, the bindings generator does not need to know whether
// comparison operators are available for members.
template <typename T, ManifestImageResource::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, ManifestImageResource::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {
return !(rhs < lhs);
}
template <typename T, ManifestImageResource::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {
return rhs < lhs;
}
template <typename T, ManifestImageResource::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {
return !(lhs < rhs);
}
// @generated_from: blink.mojom.ManifestFileFilter
class PLATFORM_EXPORT ManifestFileFilter {
public:
template <typename T>
using EnableIfSame = std::enable_if_t<std::is_same<ManifestFileFilter, T>::value>;
using DataView = ManifestFileFilterDataView;
using Data_ = internal::ManifestFileFilter_Data;
template <typename... Args>
static ManifestFileFilterPtr New(Args&&... args) {
return ManifestFileFilterPtr(
base::in_place, std::forward<Args>(args)...);
}
template <typename U>
static ManifestFileFilterPtr From(const U& u) {
return mojo::TypeConverter<ManifestFileFilterPtr, U>::Convert(u);
}
template <typename U>
U To() const {
return mojo::TypeConverter<U, ManifestFileFilter>::Convert(*this);
}
ManifestFileFilter();
ManifestFileFilter(
const WTF::String& name,
const WTF::Vector<WTF::String>& accept);
~ManifestFileFilter();
// Clone() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Clone() or copy
// constructor/assignment are available for members.
template <typename StructPtrType = ManifestFileFilterPtr>
ManifestFileFilterPtr Clone() const;
// Equals() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Equals() or == operator
// are available for members.
template <typename T, ManifestFileFilter::EnableIfSame<T>* = nullptr>
bool Equals(const T& other) const;
template <typename UserType>
static WTF::Vector<uint8_t> Serialize(UserType* input) {
return mojo::internal::SerializeImpl<
ManifestFileFilter::DataView, WTF::Vector<uint8_t>>(input);
}
template <typename UserType>
static mojo::Message SerializeAsMessage(UserType* input) {
return mojo::internal::SerializeAsMessageImpl<
ManifestFileFilter::DataView>(input);
}
// The returned Message is serialized only if the message is moved
// cross-process or cross-language. Otherwise if the message is Deserialized
// as the same UserType |input| will just be moved to |output| in
// DeserializeFromMessage.
template <typename UserType>
static mojo::Message WrapAsMessage(UserType input) {
return mojo::Message(std::make_unique<
internal::ManifestFileFilter_UnserializedMessageContext<
UserType, ManifestFileFilter::DataView>>(0, 0, std::move(input)));
}
template <typename UserType>
static bool Deserialize(const void* data,
size_t data_num_bytes,
UserType* output) {
return mojo::internal::DeserializeImpl<ManifestFileFilter::DataView>(
data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate);
}
template <typename UserType>
static bool Deserialize(const WTF::Vector<uint8_t>& input,
UserType* output) {
return ManifestFileFilter::Deserialize(
input.size() == 0 ? nullptr : &input.front(), input.size(), output);
}
template <typename UserType>
static bool DeserializeFromMessage(mojo::Message input,
UserType* output) {
auto context = input.TakeUnserializedContext<
internal::ManifestFileFilter_UnserializedMessageContext<
UserType, ManifestFileFilter::DataView>>();
if (context) {
*output = std::move(context->TakeData());
return true;
}
input.SerializeIfNecessary();
return mojo::internal::DeserializeImpl<ManifestFileFilter::DataView>(
input.payload(), input.payload_num_bytes(),
std::move(*input.mutable_handles()), output, Validate);
}
// @generated_from: blink.mojom.ManifestFileFilter.name
WTF::String name;
// @generated_from: blink.mojom.ManifestFileFilter.accept
WTF::Vector<WTF::String> accept;
private:
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
};
// The comparison operators are templates, so they are only instantiated if they
// are used. Thus, the bindings generator does not need to know whether
// comparison operators are available for members.
template <typename T, ManifestFileFilter::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, ManifestFileFilter::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {
return !(rhs < lhs);
}
template <typename T, ManifestFileFilter::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {
return rhs < lhs;
}
template <typename T, ManifestFileFilter::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {
return !(lhs < rhs);
}
// @generated_from: blink.mojom.ManifestRelatedApplication
class PLATFORM_EXPORT ManifestRelatedApplication {
public:
template <typename T>
using EnableIfSame = std::enable_if_t<std::is_same<ManifestRelatedApplication, T>::value>;
using DataView = ManifestRelatedApplicationDataView;
using Data_ = internal::ManifestRelatedApplication_Data;
template <typename... Args>
static ManifestRelatedApplicationPtr New(Args&&... args) {
return ManifestRelatedApplicationPtr(
base::in_place, std::forward<Args>(args)...);
}
template <typename U>
static ManifestRelatedApplicationPtr From(const U& u) {
return mojo::TypeConverter<ManifestRelatedApplicationPtr, U>::Convert(u);
}
template <typename U>
U To() const {
return mojo::TypeConverter<U, ManifestRelatedApplication>::Convert(*this);
}
ManifestRelatedApplication();
ManifestRelatedApplication(
const WTF::String& platform,
const base::Optional<::blink::KURL>& url,
const WTF::String& id);
~ManifestRelatedApplication();
// Clone() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Clone() or copy
// constructor/assignment are available for members.
template <typename StructPtrType = ManifestRelatedApplicationPtr>
ManifestRelatedApplicationPtr Clone() const;
// Equals() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Equals() or == operator
// are available for members.
template <typename T, ManifestRelatedApplication::EnableIfSame<T>* = nullptr>
bool Equals(const T& other) const;
template <typename UserType>
static WTF::Vector<uint8_t> Serialize(UserType* input) {
return mojo::internal::SerializeImpl<
ManifestRelatedApplication::DataView, WTF::Vector<uint8_t>>(input);
}
template <typename UserType>
static mojo::Message SerializeAsMessage(UserType* input) {
return mojo::internal::SerializeAsMessageImpl<
ManifestRelatedApplication::DataView>(input);
}
// The returned Message is serialized only if the message is moved
// cross-process or cross-language. Otherwise if the message is Deserialized
// as the same UserType |input| will just be moved to |output| in
// DeserializeFromMessage.
template <typename UserType>
static mojo::Message WrapAsMessage(UserType input) {
return mojo::Message(std::make_unique<
internal::ManifestRelatedApplication_UnserializedMessageContext<
UserType, ManifestRelatedApplication::DataView>>(0, 0, std::move(input)));
}
template <typename UserType>
static bool Deserialize(const void* data,
size_t data_num_bytes,
UserType* output) {
return mojo::internal::DeserializeImpl<ManifestRelatedApplication::DataView>(
data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate);
}
template <typename UserType>
static bool Deserialize(const WTF::Vector<uint8_t>& input,
UserType* output) {
return ManifestRelatedApplication::Deserialize(
input.size() == 0 ? nullptr : &input.front(), input.size(), output);
}
template <typename UserType>
static bool DeserializeFromMessage(mojo::Message input,
UserType* output) {
auto context = input.TakeUnserializedContext<
internal::ManifestRelatedApplication_UnserializedMessageContext<
UserType, ManifestRelatedApplication::DataView>>();
if (context) {
*output = std::move(context->TakeData());
return true;
}
input.SerializeIfNecessary();
return mojo::internal::DeserializeImpl<ManifestRelatedApplication::DataView>(
input.payload(), input.payload_num_bytes(),
std::move(*input.mutable_handles()), output, Validate);
}
// @generated_from: blink.mojom.ManifestRelatedApplication.platform
WTF::String platform;
// @generated_from: blink.mojom.ManifestRelatedApplication.url
base::Optional<::blink::KURL> url;
// @generated_from: blink.mojom.ManifestRelatedApplication.id
WTF::String id;
private:
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
};
// The comparison operators are templates, so they are only instantiated if they
// are used. Thus, the bindings generator does not need to know whether
// comparison operators are available for members.
template <typename T, ManifestRelatedApplication::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, ManifestRelatedApplication::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {
return !(rhs < lhs);
}
template <typename T, ManifestRelatedApplication::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {
return rhs < lhs;
}
template <typename T, ManifestRelatedApplication::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {
return !(lhs < rhs);
}
// @generated_from: blink.mojom.ManifestShareTargetParams
class PLATFORM_EXPORT ManifestShareTargetParams {
public:
template <typename T>
using EnableIfSame = std::enable_if_t<std::is_same<ManifestShareTargetParams, T>::value>;
using DataView = ManifestShareTargetParamsDataView;
using Data_ = internal::ManifestShareTargetParams_Data;
template <typename... Args>
static ManifestShareTargetParamsPtr New(Args&&... args) {
return ManifestShareTargetParamsPtr(
base::in_place, std::forward<Args>(args)...);
}
template <typename U>
static ManifestShareTargetParamsPtr From(const U& u) {
return mojo::TypeConverter<ManifestShareTargetParamsPtr, U>::Convert(u);
}
template <typename U>
U To() const {
return mojo::TypeConverter<U, ManifestShareTargetParams>::Convert(*this);
}
ManifestShareTargetParams();
ManifestShareTargetParams(
const WTF::String& title,
const WTF::String& text,
const WTF::String& url,
base::Optional<WTF::Vector<ManifestFileFilterPtr>> files);
~ManifestShareTargetParams();
// Clone() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Clone() or copy
// constructor/assignment are available for members.
template <typename StructPtrType = ManifestShareTargetParamsPtr>
ManifestShareTargetParamsPtr Clone() const;
// Equals() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Equals() or == operator
// are available for members.
template <typename T, ManifestShareTargetParams::EnableIfSame<T>* = nullptr>
bool Equals(const T& other) const;
template <typename UserType>
static WTF::Vector<uint8_t> Serialize(UserType* input) {
return mojo::internal::SerializeImpl<
ManifestShareTargetParams::DataView, WTF::Vector<uint8_t>>(input);
}
template <typename UserType>
static mojo::Message SerializeAsMessage(UserType* input) {
return mojo::internal::SerializeAsMessageImpl<
ManifestShareTargetParams::DataView>(input);
}
// The returned Message is serialized only if the message is moved
// cross-process or cross-language. Otherwise if the message is Deserialized
// as the same UserType |input| will just be moved to |output| in
// DeserializeFromMessage.
template <typename UserType>
static mojo::Message WrapAsMessage(UserType input) {
return mojo::Message(std::make_unique<
internal::ManifestShareTargetParams_UnserializedMessageContext<
UserType, ManifestShareTargetParams::DataView>>(0, 0, std::move(input)));
}
template <typename UserType>
static bool Deserialize(const void* data,
size_t data_num_bytes,
UserType* output) {
return mojo::internal::DeserializeImpl<ManifestShareTargetParams::DataView>(
data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate);
}
template <typename UserType>
static bool Deserialize(const WTF::Vector<uint8_t>& input,
UserType* output) {
return ManifestShareTargetParams::Deserialize(
input.size() == 0 ? nullptr : &input.front(), input.size(), output);
}
template <typename UserType>
static bool DeserializeFromMessage(mojo::Message input,
UserType* output) {
auto context = input.TakeUnserializedContext<
internal::ManifestShareTargetParams_UnserializedMessageContext<
UserType, ManifestShareTargetParams::DataView>>();
if (context) {
*output = std::move(context->TakeData());
return true;
}
input.SerializeIfNecessary();
return mojo::internal::DeserializeImpl<ManifestShareTargetParams::DataView>(
input.payload(), input.payload_num_bytes(),
std::move(*input.mutable_handles()), output, Validate);
}
// @generated_from: blink.mojom.ManifestShareTargetParams.title
WTF::String title;
// @generated_from: blink.mojom.ManifestShareTargetParams.text
WTF::String text;
// @generated_from: blink.mojom.ManifestShareTargetParams.url
WTF::String url;
// @generated_from: blink.mojom.ManifestShareTargetParams.files
base::Optional<WTF::Vector<ManifestFileFilterPtr>> files;
private:
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
DISALLOW_COPY_AND_ASSIGN(ManifestShareTargetParams);
};
// The comparison operators are templates, so they are only instantiated if they
// are used. Thus, the bindings generator does not need to know whether
// comparison operators are available for members.
template <typename T, ManifestShareTargetParams::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, ManifestShareTargetParams::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {
return !(rhs < lhs);
}
template <typename T, ManifestShareTargetParams::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {
return rhs < lhs;
}
template <typename T, ManifestShareTargetParams::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {
return !(lhs < rhs);
}
// @generated_from: blink.mojom.ManifestShareTarget
class PLATFORM_EXPORT ManifestShareTarget {
public:
template <typename T>
using EnableIfSame = std::enable_if_t<std::is_same<ManifestShareTarget, T>::value>;
using DataView = ManifestShareTargetDataView;
using Data_ = internal::ManifestShareTarget_Data;
// @generated_from: blink.mojom.ManifestShareTarget.Method
using Method = ManifestShareTarget_Method;
// @generated_from: blink.mojom.ManifestShareTarget.Enctype
using Enctype = ManifestShareTarget_Enctype;
template <typename... Args>
static ManifestShareTargetPtr New(Args&&... args) {
return ManifestShareTargetPtr(
base::in_place, std::forward<Args>(args)...);
}
template <typename U>
static ManifestShareTargetPtr From(const U& u) {
return mojo::TypeConverter<ManifestShareTargetPtr, U>::Convert(u);
}
template <typename U>
U To() const {
return mojo::TypeConverter<U, ManifestShareTarget>::Convert(*this);
}
ManifestShareTarget();
ManifestShareTarget(
const ::blink::KURL& action,
ManifestShareTarget::Method method,
ManifestShareTarget::Enctype enctype,
ManifestShareTargetParamsPtr params);
~ManifestShareTarget();
// Clone() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Clone() or copy
// constructor/assignment are available for members.
template <typename StructPtrType = ManifestShareTargetPtr>
ManifestShareTargetPtr Clone() const;
// Equals() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Equals() or == operator
// are available for members.
template <typename T, ManifestShareTarget::EnableIfSame<T>* = nullptr>
bool Equals(const T& other) const;
template <typename UserType>
static WTF::Vector<uint8_t> Serialize(UserType* input) {
return mojo::internal::SerializeImpl<
ManifestShareTarget::DataView, WTF::Vector<uint8_t>>(input);
}
template <typename UserType>
static mojo::Message SerializeAsMessage(UserType* input) {
return mojo::internal::SerializeAsMessageImpl<
ManifestShareTarget::DataView>(input);
}
// The returned Message is serialized only if the message is moved
// cross-process or cross-language. Otherwise if the message is Deserialized
// as the same UserType |input| will just be moved to |output| in
// DeserializeFromMessage.
template <typename UserType>
static mojo::Message WrapAsMessage(UserType input) {
return mojo::Message(std::make_unique<
internal::ManifestShareTarget_UnserializedMessageContext<
UserType, ManifestShareTarget::DataView>>(0, 0, std::move(input)));
}
template <typename UserType>
static bool Deserialize(const void* data,
size_t data_num_bytes,
UserType* output) {
return mojo::internal::DeserializeImpl<ManifestShareTarget::DataView>(
data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate);
}
template <typename UserType>
static bool Deserialize(const WTF::Vector<uint8_t>& input,
UserType* output) {
return ManifestShareTarget::Deserialize(
input.size() == 0 ? nullptr : &input.front(), input.size(), output);
}
template <typename UserType>
static bool DeserializeFromMessage(mojo::Message input,
UserType* output) {
auto context = input.TakeUnserializedContext<
internal::ManifestShareTarget_UnserializedMessageContext<
UserType, ManifestShareTarget::DataView>>();
if (context) {
*output = std::move(context->TakeData());
return true;
}
input.SerializeIfNecessary();
return mojo::internal::DeserializeImpl<ManifestShareTarget::DataView>(
input.payload(), input.payload_num_bytes(),
std::move(*input.mutable_handles()), output, Validate);
}
// @generated_from: blink.mojom.ManifestShareTarget.action
::blink::KURL action;
// @generated_from: blink.mojom.ManifestShareTarget.method
ManifestShareTarget::Method method;
// @generated_from: blink.mojom.ManifestShareTarget.enctype
ManifestShareTarget::Enctype enctype;
// @generated_from: blink.mojom.ManifestShareTarget.params
ManifestShareTargetParamsPtr params;
private:
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
DISALLOW_COPY_AND_ASSIGN(ManifestShareTarget);
};
// The comparison operators are templates, so they are only instantiated if they
// are used. Thus, the bindings generator does not need to know whether
// comparison operators are available for members.
template <typename T, ManifestShareTarget::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, ManifestShareTarget::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {
return !(rhs < lhs);
}
template <typename T, ManifestShareTarget::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {
return rhs < lhs;
}
template <typename T, ManifestShareTarget::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {
return !(lhs < rhs);
}
// @generated_from: blink.mojom.ManifestFileHandler
class PLATFORM_EXPORT ManifestFileHandler {
public:
template <typename T>
using EnableIfSame = std::enable_if_t<std::is_same<ManifestFileHandler, T>::value>;
using DataView = ManifestFileHandlerDataView;
using Data_ = internal::ManifestFileHandler_Data;
template <typename... Args>
static ManifestFileHandlerPtr New(Args&&... args) {
return ManifestFileHandlerPtr(
base::in_place, std::forward<Args>(args)...);
}
template <typename U>
static ManifestFileHandlerPtr From(const U& u) {
return mojo::TypeConverter<ManifestFileHandlerPtr, U>::Convert(u);
}
template <typename U>
U To() const {
return mojo::TypeConverter<U, ManifestFileHandler>::Convert(*this);
}
ManifestFileHandler();
ManifestFileHandler(
const ::blink::KURL& action,
WTF::Vector<ManifestFileFilterPtr> files);
~ManifestFileHandler();
// Clone() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Clone() or copy
// constructor/assignment are available for members.
template <typename StructPtrType = ManifestFileHandlerPtr>
ManifestFileHandlerPtr Clone() const;
// Equals() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Equals() or == operator
// are available for members.
template <typename T, ManifestFileHandler::EnableIfSame<T>* = nullptr>
bool Equals(const T& other) const;
template <typename UserType>
static WTF::Vector<uint8_t> Serialize(UserType* input) {
return mojo::internal::SerializeImpl<
ManifestFileHandler::DataView, WTF::Vector<uint8_t>>(input);
}
template <typename UserType>
static mojo::Message SerializeAsMessage(UserType* input) {
return mojo::internal::SerializeAsMessageImpl<
ManifestFileHandler::DataView>(input);
}
// The returned Message is serialized only if the message is moved
// cross-process or cross-language. Otherwise if the message is Deserialized
// as the same UserType |input| will just be moved to |output| in
// DeserializeFromMessage.
template <typename UserType>
static mojo::Message WrapAsMessage(UserType input) {
return mojo::Message(std::make_unique<
internal::ManifestFileHandler_UnserializedMessageContext<
UserType, ManifestFileHandler::DataView>>(0, 0, std::move(input)));
}
template <typename UserType>
static bool Deserialize(const void* data,
size_t data_num_bytes,
UserType* output) {
return mojo::internal::DeserializeImpl<ManifestFileHandler::DataView>(
data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate);
}
template <typename UserType>
static bool Deserialize(const WTF::Vector<uint8_t>& input,
UserType* output) {
return ManifestFileHandler::Deserialize(
input.size() == 0 ? nullptr : &input.front(), input.size(), output);
}
template <typename UserType>
static bool DeserializeFromMessage(mojo::Message input,
UserType* output) {
auto context = input.TakeUnserializedContext<
internal::ManifestFileHandler_UnserializedMessageContext<
UserType, ManifestFileHandler::DataView>>();
if (context) {
*output = std::move(context->TakeData());
return true;
}
input.SerializeIfNecessary();
return mojo::internal::DeserializeImpl<ManifestFileHandler::DataView>(
input.payload(), input.payload_num_bytes(),
std::move(*input.mutable_handles()), output, Validate);
}
// @generated_from: blink.mojom.ManifestFileHandler.action
::blink::KURL action;
// @generated_from: blink.mojom.ManifestFileHandler.files
WTF::Vector<ManifestFileFilterPtr> files;
private:
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
DISALLOW_COPY_AND_ASSIGN(ManifestFileHandler);
};
// The comparison operators are templates, so they are only instantiated if they
// are used. Thus, the bindings generator does not need to know whether
// comparison operators are available for members.
template <typename T, ManifestFileHandler::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, ManifestFileHandler::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {
return !(rhs < lhs);
}
template <typename T, ManifestFileHandler::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {
return rhs < lhs;
}
template <typename T, ManifestFileHandler::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {
return !(lhs < rhs);
}
// @generated_from: blink.mojom.ManifestDebugInfo
class PLATFORM_EXPORT ManifestDebugInfo {
public:
template <typename T>
using EnableIfSame = std::enable_if_t<std::is_same<ManifestDebugInfo, T>::value>;
using DataView = ManifestDebugInfoDataView;
using Data_ = internal::ManifestDebugInfo_Data;
template <typename... Args>
static ManifestDebugInfoPtr New(Args&&... args) {
return ManifestDebugInfoPtr(
base::in_place, std::forward<Args>(args)...);
}
template <typename U>
static ManifestDebugInfoPtr From(const U& u) {
return mojo::TypeConverter<ManifestDebugInfoPtr, U>::Convert(u);
}
template <typename U>
U To() const {
return mojo::TypeConverter<U, ManifestDebugInfo>::Convert(*this);
}
ManifestDebugInfo();
ManifestDebugInfo(
WTF::Vector<ManifestErrorPtr> errors,
const WTF::String& raw_manifest);
~ManifestDebugInfo();
// Clone() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Clone() or copy
// constructor/assignment are available for members.
template <typename StructPtrType = ManifestDebugInfoPtr>
ManifestDebugInfoPtr Clone() const;
// Equals() is a template so it is only instantiated if it is used. Thus, the
// bindings generator does not need to know whether Equals() or == operator
// are available for members.
template <typename T, ManifestDebugInfo::EnableIfSame<T>* = nullptr>
bool Equals(const T& other) const;
template <typename UserType>
static WTF::Vector<uint8_t> Serialize(UserType* input) {
return mojo::internal::SerializeImpl<
ManifestDebugInfo::DataView, WTF::Vector<uint8_t>>(input);
}
template <typename UserType>
static mojo::Message SerializeAsMessage(UserType* input) {
return mojo::internal::SerializeAsMessageImpl<
ManifestDebugInfo::DataView>(input);
}
// The returned Message is serialized only if the message is moved
// cross-process or cross-language. Otherwise if the message is Deserialized
// as the same UserType |input| will just be moved to |output| in
// DeserializeFromMessage.
template <typename UserType>
static mojo::Message WrapAsMessage(UserType input) {
return mojo::Message(std::make_unique<
internal::ManifestDebugInfo_UnserializedMessageContext<
UserType, ManifestDebugInfo::DataView>>(0, 0, std::move(input)));
}
template <typename UserType>
static bool Deserialize(const void* data,
size_t data_num_bytes,
UserType* output) {
return mojo::internal::DeserializeImpl<ManifestDebugInfo::DataView>(
data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate);
}
template <typename UserType>
static bool Deserialize(const WTF::Vector<uint8_t>& input,
UserType* output) {
return ManifestDebugInfo::Deserialize(
input.size() == 0 ? nullptr : &input.front(), input.size(), output);
}
template <typename UserType>
static bool DeserializeFromMessage(mojo::Message input,
UserType* output) {
auto context = input.TakeUnserializedContext<
internal::ManifestDebugInfo_UnserializedMessageContext<
UserType, ManifestDebugInfo::DataView>>();
if (context) {
*output = std::move(context->TakeData());
return true;
}
input.SerializeIfNecessary();
return mojo::internal::DeserializeImpl<ManifestDebugInfo::DataView>(
input.payload(), input.payload_num_bytes(),
std::move(*input.mutable_handles()), output, Validate);
}
// @generated_from: blink.mojom.ManifestDebugInfo.errors
WTF::Vector<ManifestErrorPtr> errors;
// @generated_from: blink.mojom.ManifestDebugInfo.raw_manifest
WTF::String raw_manifest;
private:
static bool Validate(const void* data,
mojo::internal::ValidationContext* validation_context);
DISALLOW_COPY_AND_ASSIGN(ManifestDebugInfo);
};
// The comparison operators are templates, so they are only instantiated if they
// are used. Thus, the bindings generator does not need to know whether
// comparison operators are available for members.
template <typename T, ManifestDebugInfo::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, ManifestDebugInfo::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {
return !(rhs < lhs);
}
template <typename T, ManifestDebugInfo::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {
return rhs < lhs;
}
template <typename T, ManifestDebugInfo::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {
return !(lhs < rhs);
}
template <typename StructPtrType>
ManifestPtr Manifest::Clone() const {
return New(
mojo::Clone(name),
mojo::Clone(short_name),
mojo::Clone(start_url),
mojo::Clone(display),
mojo::Clone(orientation),
mojo::Clone(icons),
mojo::Clone(share_target),
mojo::Clone(file_handler),
mojo::Clone(related_applications),
mojo::Clone(prefer_related_applications),
mojo::Clone(has_theme_color),
mojo::Clone(theme_color),
mojo::Clone(has_background_color),
mojo::Clone(background_color),
mojo::Clone(gcm_sender_id),
mojo::Clone(scope)
);
}
template <typename T, Manifest::EnableIfSame<T>*>
bool Manifest::Equals(const T& other_struct) const {
if (!mojo::Equals(this->name, other_struct.name))
return false;
if (!mojo::Equals(this->short_name, other_struct.short_name))
return false;
if (!mojo::Equals(this->start_url, other_struct.start_url))
return false;
if (!mojo::Equals(this->display, other_struct.display))
return false;
if (!mojo::Equals(this->orientation, other_struct.orientation))
return false;
if (!mojo::Equals(this->icons, other_struct.icons))
return false;
if (!mojo::Equals(this->share_target, other_struct.share_target))
return false;
if (!mojo::Equals(this->file_handler, other_struct.file_handler))
return false;
if (!mojo::Equals(this->related_applications, other_struct.related_applications))
return false;
if (!mojo::Equals(this->prefer_related_applications, other_struct.prefer_related_applications))
return false;
if (!mojo::Equals(this->has_theme_color, other_struct.has_theme_color))
return false;
if (!mojo::Equals(this->theme_color, other_struct.theme_color))
return false;
if (!mojo::Equals(this->has_background_color, other_struct.has_background_color))
return false;
if (!mojo::Equals(this->background_color, other_struct.background_color))
return false;
if (!mojo::Equals(this->gcm_sender_id, other_struct.gcm_sender_id))
return false;
if (!mojo::Equals(this->scope, other_struct.scope))
return false;
return true;
}
template <typename T, Manifest::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {
if (lhs.name < rhs.name)
return true;
if (rhs.name < lhs.name)
return false;
if (lhs.short_name < rhs.short_name)
return true;
if (rhs.short_name < lhs.short_name)
return false;
if (lhs.start_url < rhs.start_url)
return true;
if (rhs.start_url < lhs.start_url)
return false;
if (lhs.display < rhs.display)
return true;
if (rhs.display < lhs.display)
return false;
if (lhs.orientation < rhs.orientation)
return true;
if (rhs.orientation < lhs.orientation)
return false;
if (lhs.icons < rhs.icons)
return true;
if (rhs.icons < lhs.icons)
return false;
if (lhs.share_target < rhs.share_target)
return true;
if (rhs.share_target < lhs.share_target)
return false;
if (lhs.file_handler < rhs.file_handler)
return true;
if (rhs.file_handler < lhs.file_handler)
return false;
if (lhs.related_applications < rhs.related_applications)
return true;
if (rhs.related_applications < lhs.related_applications)
return false;
if (lhs.prefer_related_applications < rhs.prefer_related_applications)
return true;
if (rhs.prefer_related_applications < lhs.prefer_related_applications)
return false;
if (lhs.has_theme_color < rhs.has_theme_color)
return true;
if (rhs.has_theme_color < lhs.has_theme_color)
return false;
if (lhs.theme_color < rhs.theme_color)
return true;
if (rhs.theme_color < lhs.theme_color)
return false;
if (lhs.has_background_color < rhs.has_background_color)
return true;
if (rhs.has_background_color < lhs.has_background_color)
return false;
if (lhs.background_color < rhs.background_color)
return true;
if (rhs.background_color < lhs.background_color)
return false;
if (lhs.gcm_sender_id < rhs.gcm_sender_id)
return true;
if (rhs.gcm_sender_id < lhs.gcm_sender_id)
return false;
if (lhs.scope < rhs.scope)
return true;
if (rhs.scope < lhs.scope)
return false;
return false;
}
template <typename StructPtrType>
ManifestImageResourcePtr ManifestImageResource::Clone() const {
return New(
mojo::Clone(src),
mojo::Clone(type),
mojo::Clone(sizes),
mojo::Clone(purpose)
);
}
template <typename T, ManifestImageResource::EnableIfSame<T>*>
bool ManifestImageResource::Equals(const T& other_struct) const {
if (!mojo::Equals(this->src, other_struct.src))
return false;
if (!mojo::Equals(this->type, other_struct.type))
return false;
if (!mojo::Equals(this->sizes, other_struct.sizes))
return false;
if (!mojo::Equals(this->purpose, other_struct.purpose))
return false;
return true;
}
template <typename T, ManifestImageResource::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {
if (lhs.src < rhs.src)
return true;
if (rhs.src < lhs.src)
return false;
if (lhs.type < rhs.type)
return true;
if (rhs.type < lhs.type)
return false;
if (lhs.sizes < rhs.sizes)
return true;
if (rhs.sizes < lhs.sizes)
return false;
if (lhs.purpose < rhs.purpose)
return true;
if (rhs.purpose < lhs.purpose)
return false;
return false;
}
template <typename StructPtrType>
ManifestFileFilterPtr ManifestFileFilter::Clone() const {
return New(
mojo::Clone(name),
mojo::Clone(accept)
);
}
template <typename T, ManifestFileFilter::EnableIfSame<T>*>
bool ManifestFileFilter::Equals(const T& other_struct) const {
if (!mojo::Equals(this->name, other_struct.name))
return false;
if (!mojo::Equals(this->accept, other_struct.accept))
return false;
return true;
}
template <typename T, ManifestFileFilter::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {
if (lhs.name < rhs.name)
return true;
if (rhs.name < lhs.name)
return false;
if (lhs.accept < rhs.accept)
return true;
if (rhs.accept < lhs.accept)
return false;
return false;
}
template <typename StructPtrType>
ManifestRelatedApplicationPtr ManifestRelatedApplication::Clone() const {
return New(
mojo::Clone(platform),
mojo::Clone(url),
mojo::Clone(id)
);
}
template <typename T, ManifestRelatedApplication::EnableIfSame<T>*>
bool ManifestRelatedApplication::Equals(const T& other_struct) const {
if (!mojo::Equals(this->platform, other_struct.platform))
return false;
if (!mojo::Equals(this->url, other_struct.url))
return false;
if (!mojo::Equals(this->id, other_struct.id))
return false;
return true;
}
template <typename T, ManifestRelatedApplication::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {
if (lhs.platform < rhs.platform)
return true;
if (rhs.platform < lhs.platform)
return false;
if (lhs.url < rhs.url)
return true;
if (rhs.url < lhs.url)
return false;
if (lhs.id < rhs.id)
return true;
if (rhs.id < lhs.id)
return false;
return false;
}
template <typename StructPtrType>
ManifestShareTargetParamsPtr ManifestShareTargetParams::Clone() const {
return New(
mojo::Clone(title),
mojo::Clone(text),
mojo::Clone(url),
mojo::Clone(files)
);
}
template <typename T, ManifestShareTargetParams::EnableIfSame<T>*>
bool ManifestShareTargetParams::Equals(const T& other_struct) const {
if (!mojo::Equals(this->title, other_struct.title))
return false;
if (!mojo::Equals(this->text, other_struct.text))
return false;
if (!mojo::Equals(this->url, other_struct.url))
return false;
if (!mojo::Equals(this->files, other_struct.files))
return false;
return true;
}
template <typename T, ManifestShareTargetParams::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {
if (lhs.title < rhs.title)
return true;
if (rhs.title < lhs.title)
return false;
if (lhs.text < rhs.text)
return true;
if (rhs.text < lhs.text)
return false;
if (lhs.url < rhs.url)
return true;
if (rhs.url < lhs.url)
return false;
if (lhs.files < rhs.files)
return true;
if (rhs.files < lhs.files)
return false;
return false;
}
template <typename StructPtrType>
ManifestShareTargetPtr ManifestShareTarget::Clone() const {
return New(
mojo::Clone(action),
mojo::Clone(method),
mojo::Clone(enctype),
mojo::Clone(params)
);
}
template <typename T, ManifestShareTarget::EnableIfSame<T>*>
bool ManifestShareTarget::Equals(const T& other_struct) const {
if (!mojo::Equals(this->action, other_struct.action))
return false;
if (!mojo::Equals(this->method, other_struct.method))
return false;
if (!mojo::Equals(this->enctype, other_struct.enctype))
return false;
if (!mojo::Equals(this->params, other_struct.params))
return false;
return true;
}
template <typename T, ManifestShareTarget::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {
if (lhs.action < rhs.action)
return true;
if (rhs.action < lhs.action)
return false;
if (lhs.method < rhs.method)
return true;
if (rhs.method < lhs.method)
return false;
if (lhs.enctype < rhs.enctype)
return true;
if (rhs.enctype < lhs.enctype)
return false;
if (lhs.params < rhs.params)
return true;
if (rhs.params < lhs.params)
return false;
return false;
}
template <typename StructPtrType>
ManifestFileHandlerPtr ManifestFileHandler::Clone() const {
return New(
mojo::Clone(action),
mojo::Clone(files)
);
}
template <typename T, ManifestFileHandler::EnableIfSame<T>*>
bool ManifestFileHandler::Equals(const T& other_struct) const {
if (!mojo::Equals(this->action, other_struct.action))
return false;
if (!mojo::Equals(this->files, other_struct.files))
return false;
return true;
}
template <typename T, ManifestFileHandler::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {
if (lhs.action < rhs.action)
return true;
if (rhs.action < lhs.action)
return false;
if (lhs.files < rhs.files)
return true;
if (rhs.files < lhs.files)
return false;
return false;
}
template <typename StructPtrType>
ManifestDebugInfoPtr ManifestDebugInfo::Clone() const {
return New(
mojo::Clone(errors),
mojo::Clone(raw_manifest)
);
}
template <typename T, ManifestDebugInfo::EnableIfSame<T>*>
bool ManifestDebugInfo::Equals(const T& other_struct) const {
if (!mojo::Equals(this->errors, other_struct.errors))
return false;
if (!mojo::Equals(this->raw_manifest, other_struct.raw_manifest))
return false;
return true;
}
template <typename T, ManifestDebugInfo::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {
if (lhs.errors < rhs.errors)
return true;
if (rhs.errors < lhs.errors)
return false;
if (lhs.raw_manifest < rhs.raw_manifest)
return true;
if (rhs.raw_manifest < lhs.raw_manifest)
return false;
return false;
}
template <typename StructPtrType>
ManifestErrorPtr ManifestError::Clone() const {
return New(
mojo::Clone(message),
mojo::Clone(critical),
mojo::Clone(line),
mojo::Clone(column)
);
}
template <typename T, ManifestError::EnableIfSame<T>*>
bool ManifestError::Equals(const T& other_struct) const {
if (!mojo::Equals(this->message, other_struct.message))
return false;
if (!mojo::Equals(this->critical, other_struct.critical))
return false;
if (!mojo::Equals(this->line, other_struct.line))
return false;
if (!mojo::Equals(this->column, other_struct.column))
return false;
return true;
}
template <typename T, ManifestError::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {
if (lhs.message < rhs.message)
return true;
if (rhs.message < lhs.message)
return false;
if (lhs.critical < rhs.critical)
return true;
if (rhs.critical < lhs.critical)
return false;
if (lhs.line < rhs.line)
return true;
if (rhs.line < lhs.line)
return false;
if (lhs.column < rhs.column)
return true;
if (rhs.column < lhs.column)
return false;
return false;
}
} // namespace blink
} // namespace mojom
} // namespace blink
namespace mojo {
template <>
struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::Manifest::DataView,
::blink::mojom::blink::ManifestPtr> {
static bool IsNull(const ::blink::mojom::blink::ManifestPtr& input) { return !input; }
static void SetToNull(::blink::mojom::blink::ManifestPtr* output) { output->reset(); }
static const decltype(::blink::mojom::blink::Manifest::name)& name(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->name;
}
static const decltype(::blink::mojom::blink::Manifest::short_name)& short_name(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->short_name;
}
static const decltype(::blink::mojom::blink::Manifest::start_url)& start_url(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->start_url;
}
static decltype(::blink::mojom::blink::Manifest::display) display(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->display;
}
static decltype(::blink::mojom::blink::Manifest::orientation) orientation(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->orientation;
}
static const decltype(::blink::mojom::blink::Manifest::icons)& icons(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->icons;
}
static const decltype(::blink::mojom::blink::Manifest::share_target)& share_target(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->share_target;
}
static const decltype(::blink::mojom::blink::Manifest::file_handler)& file_handler(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->file_handler;
}
static const decltype(::blink::mojom::blink::Manifest::related_applications)& related_applications(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->related_applications;
}
static decltype(::blink::mojom::blink::Manifest::prefer_related_applications) prefer_related_applications(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->prefer_related_applications;
}
static decltype(::blink::mojom::blink::Manifest::has_theme_color) has_theme_color(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->has_theme_color;
}
static decltype(::blink::mojom::blink::Manifest::theme_color) theme_color(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->theme_color;
}
static decltype(::blink::mojom::blink::Manifest::has_background_color) has_background_color(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->has_background_color;
}
static decltype(::blink::mojom::blink::Manifest::background_color) background_color(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->background_color;
}
static const decltype(::blink::mojom::blink::Manifest::gcm_sender_id)& gcm_sender_id(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->gcm_sender_id;
}
static const decltype(::blink::mojom::blink::Manifest::scope)& scope(
const ::blink::mojom::blink::ManifestPtr& input) {
return input->scope;
}
static bool Read(::blink::mojom::blink::Manifest::DataView input, ::blink::mojom::blink::ManifestPtr* output);
};
template <>
struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestImageResource::DataView,
::blink::mojom::blink::ManifestImageResourcePtr> {
static bool IsNull(const ::blink::mojom::blink::ManifestImageResourcePtr& input) { return !input; }
static void SetToNull(::blink::mojom::blink::ManifestImageResourcePtr* output) { output->reset(); }
static const decltype(::blink::mojom::blink::ManifestImageResource::src)& src(
const ::blink::mojom::blink::ManifestImageResourcePtr& input) {
return input->src;
}
static const decltype(::blink::mojom::blink::ManifestImageResource::type)& type(
const ::blink::mojom::blink::ManifestImageResourcePtr& input) {
return input->type;
}
static const decltype(::blink::mojom::blink::ManifestImageResource::sizes)& sizes(
const ::blink::mojom::blink::ManifestImageResourcePtr& input) {
return input->sizes;
}
static const decltype(::blink::mojom::blink::ManifestImageResource::purpose)& purpose(
const ::blink::mojom::blink::ManifestImageResourcePtr& input) {
return input->purpose;
}
static bool Read(::blink::mojom::blink::ManifestImageResource::DataView input, ::blink::mojom::blink::ManifestImageResourcePtr* output);
};
template <>
struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestFileFilter::DataView,
::blink::mojom::blink::ManifestFileFilterPtr> {
static bool IsNull(const ::blink::mojom::blink::ManifestFileFilterPtr& input) { return !input; }
static void SetToNull(::blink::mojom::blink::ManifestFileFilterPtr* output) { output->reset(); }
static const decltype(::blink::mojom::blink::ManifestFileFilter::name)& name(
const ::blink::mojom::blink::ManifestFileFilterPtr& input) {
return input->name;
}
static const decltype(::blink::mojom::blink::ManifestFileFilter::accept)& accept(
const ::blink::mojom::blink::ManifestFileFilterPtr& input) {
return input->accept;
}
static bool Read(::blink::mojom::blink::ManifestFileFilter::DataView input, ::blink::mojom::blink::ManifestFileFilterPtr* output);
};
template <>
struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestRelatedApplication::DataView,
::blink::mojom::blink::ManifestRelatedApplicationPtr> {
static bool IsNull(const ::blink::mojom::blink::ManifestRelatedApplicationPtr& input) { return !input; }
static void SetToNull(::blink::mojom::blink::ManifestRelatedApplicationPtr* output) { output->reset(); }
static const decltype(::blink::mojom::blink::ManifestRelatedApplication::platform)& platform(
const ::blink::mojom::blink::ManifestRelatedApplicationPtr& input) {
return input->platform;
}
static const decltype(::blink::mojom::blink::ManifestRelatedApplication::url)& url(
const ::blink::mojom::blink::ManifestRelatedApplicationPtr& input) {
return input->url;
}
static const decltype(::blink::mojom::blink::ManifestRelatedApplication::id)& id(
const ::blink::mojom::blink::ManifestRelatedApplicationPtr& input) {
return input->id;
}
static bool Read(::blink::mojom::blink::ManifestRelatedApplication::DataView input, ::blink::mojom::blink::ManifestRelatedApplicationPtr* output);
};
template <>
struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestShareTargetParams::DataView,
::blink::mojom::blink::ManifestShareTargetParamsPtr> {
static bool IsNull(const ::blink::mojom::blink::ManifestShareTargetParamsPtr& input) { return !input; }
static void SetToNull(::blink::mojom::blink::ManifestShareTargetParamsPtr* output) { output->reset(); }
static const decltype(::blink::mojom::blink::ManifestShareTargetParams::title)& title(
const ::blink::mojom::blink::ManifestShareTargetParamsPtr& input) {
return input->title;
}
static const decltype(::blink::mojom::blink::ManifestShareTargetParams::text)& text(
const ::blink::mojom::blink::ManifestShareTargetParamsPtr& input) {
return input->text;
}
static const decltype(::blink::mojom::blink::ManifestShareTargetParams::url)& url(
const ::blink::mojom::blink::ManifestShareTargetParamsPtr& input) {
return input->url;
}
static const decltype(::blink::mojom::blink::ManifestShareTargetParams::files)& files(
const ::blink::mojom::blink::ManifestShareTargetParamsPtr& input) {
return input->files;
}
static bool Read(::blink::mojom::blink::ManifestShareTargetParams::DataView input, ::blink::mojom::blink::ManifestShareTargetParamsPtr* output);
};
template <>
struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestShareTarget::DataView,
::blink::mojom::blink::ManifestShareTargetPtr> {
static bool IsNull(const ::blink::mojom::blink::ManifestShareTargetPtr& input) { return !input; }
static void SetToNull(::blink::mojom::blink::ManifestShareTargetPtr* output) { output->reset(); }
static const decltype(::blink::mojom::blink::ManifestShareTarget::action)& action(
const ::blink::mojom::blink::ManifestShareTargetPtr& input) {
return input->action;
}
static decltype(::blink::mojom::blink::ManifestShareTarget::method) method(
const ::blink::mojom::blink::ManifestShareTargetPtr& input) {
return input->method;
}
static decltype(::blink::mojom::blink::ManifestShareTarget::enctype) enctype(
const ::blink::mojom::blink::ManifestShareTargetPtr& input) {
return input->enctype;
}
static const decltype(::blink::mojom::blink::ManifestShareTarget::params)& params(
const ::blink::mojom::blink::ManifestShareTargetPtr& input) {
return input->params;
}
static bool Read(::blink::mojom::blink::ManifestShareTarget::DataView input, ::blink::mojom::blink::ManifestShareTargetPtr* output);
};
template <>
struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestFileHandler::DataView,
::blink::mojom::blink::ManifestFileHandlerPtr> {
static bool IsNull(const ::blink::mojom::blink::ManifestFileHandlerPtr& input) { return !input; }
static void SetToNull(::blink::mojom::blink::ManifestFileHandlerPtr* output) { output->reset(); }
static const decltype(::blink::mojom::blink::ManifestFileHandler::action)& action(
const ::blink::mojom::blink::ManifestFileHandlerPtr& input) {
return input->action;
}
static const decltype(::blink::mojom::blink::ManifestFileHandler::files)& files(
const ::blink::mojom::blink::ManifestFileHandlerPtr& input) {
return input->files;
}
static bool Read(::blink::mojom::blink::ManifestFileHandler::DataView input, ::blink::mojom::blink::ManifestFileHandlerPtr* output);
};
template <>
struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestDebugInfo::DataView,
::blink::mojom::blink::ManifestDebugInfoPtr> {
static bool IsNull(const ::blink::mojom::blink::ManifestDebugInfoPtr& input) { return !input; }
static void SetToNull(::blink::mojom::blink::ManifestDebugInfoPtr* output) { output->reset(); }
static const decltype(::blink::mojom::blink::ManifestDebugInfo::errors)& errors(
const ::blink::mojom::blink::ManifestDebugInfoPtr& input) {
return input->errors;
}
static const decltype(::blink::mojom::blink::ManifestDebugInfo::raw_manifest)& raw_manifest(
const ::blink::mojom::blink::ManifestDebugInfoPtr& input) {
return input->raw_manifest;
}
static bool Read(::blink::mojom::blink::ManifestDebugInfo::DataView input, ::blink::mojom::blink::ManifestDebugInfoPtr* output);
};
template <>
struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestError::DataView,
::blink::mojom::blink::ManifestErrorPtr> {
static bool IsNull(const ::blink::mojom::blink::ManifestErrorPtr& input) { return !input; }
static void SetToNull(::blink::mojom::blink::ManifestErrorPtr* output) { output->reset(); }
static const decltype(::blink::mojom::blink::ManifestError::message)& message(
const ::blink::mojom::blink::ManifestErrorPtr& input) {
return input->message;
}
static decltype(::blink::mojom::blink::ManifestError::critical) critical(
const ::blink::mojom::blink::ManifestErrorPtr& input) {
return input->critical;
}
static decltype(::blink::mojom::blink::ManifestError::line) line(
const ::blink::mojom::blink::ManifestErrorPtr& input) {
return input->line;
}
static decltype(::blink::mojom::blink::ManifestError::column) column(
const ::blink::mojom::blink::ManifestErrorPtr& input) {
return input->column;
}
static bool Read(::blink::mojom::blink::ManifestError::DataView input, ::blink::mojom::blink::ManifestErrorPtr* output);
};
} // namespace mojo
#endif // THIRD_PARTY_BLINK_PUBLIC_MOJOM_MANIFEST_MANIFEST_MOJOM_BLINK_H_
/* Metadata comment
eyJtZXRhIjogW3siZW5kIjogNzA4MiwgImJlZ2luIjogNzA2OSwgImVkZ2UiOiAiJS9reXRoZS9l
ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
OiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0RXJyb3IifX0sIHsi
ZW5kIjogMTA2NzcsICJiZWdpbiI6IDEwNjcwLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJh
dGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJv
bWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIs
ICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RFcnJvci5tZXNzYWdlIn19LCB7ImVu
ZCI6IDEwNzUyLCAiYmVnaW4iOiAxMDc0NCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRl
cyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21p
dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAi
c2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0RXJyb3IuY3JpdGljYWwifX0sIHsiZW5k
IjogMTA4MjMsICJiZWdpbiI6IDEwODE5LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVz
IiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1
bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJz
aWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RFcnJvci5saW5lIn19LCB7ImVuZCI6IDEw
ODk4LCAiYmVnaW4iOiAxMDg5MiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0
eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29v
Z2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0
dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0RXJyb3IuY29sdW1uIn19LCB7ImVuZCI6IDExODMz
LCAiYmVnaW4iOiAxMTgyNSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBl
IjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl
c291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJl
IjogImJsaW5rLm1vam9tLk1hbmlmZXN0In19LCB7ImVuZCI6IDE1ODE1LCAiYmVnaW4iOiAxNTgx
MSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZp
bmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJv
bWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9t
Lk1hbmlmZXN0Lm5hbWUifX0sIHsiZW5kIjogMTU4OTYsICJiZWdpbiI6IDE1ODg2LCAiZWRnZSI6
ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5h
bWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIs
ICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3Qu
c2hvcnRfbmFtZSJ9fSwgeyJlbmQiOiAxNTk3NywgImJlZ2luIjogMTU5NjgsICJlZGdlIjogIiUv
a3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6
IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxh
bmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdC5zdGFy
dF91cmwifX0sIHsiZW5kIjogMTYwNjQsICJiZWdpbiI6IDE2MDU3LCAiZWRnZSI6ICIlL2t5dGhl
L2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNv
cnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFn
ZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3QuZGlzcGxheSJ9
fSwgeyJlbmQiOiAxNjE3MywgImJlZ2luIjogMTYxNjIsICJlZGdlIjogIiUva3l0aGUvZWRnZS9n
ZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjog
ImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1v
am9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdC5vcmllbnRhdGlvbiJ9fSwg
eyJlbmQiOiAxNjI3MCwgImJlZ2luIjogMTYyNjUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l
cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo
cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t
IiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdC5pY29ucyJ9fSwgeyJlbmQiOiAx
NjM2NiwgImJlZ2luIjogMTYzNTQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAi
dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdv
b2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25h
dHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdC5zaGFyZV90YXJnZXQifX0sIHsiZW5kIjogMTY0
NjIsICJiZWdpbiI6IDE2NDUwLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5
cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29n
bGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1
cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3QuZmlsZV9oYW5kbGVyIn19LCB7ImVuZCI6IDE2NTk0
LCAiYmVnaW4iOiAxNjU3NCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBl
IjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl
c291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJl
IjogImJsaW5rLm1vam9tLk1hbmlmZXN0LnJlbGF0ZWRfYXBwbGljYXRpb25zIn19LCB7ImVuZCI6
IDE2NzAyLCAiYmVnaW4iOiAxNjY3NSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIs
ICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0u
Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2ln
bmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0LnByZWZlcl9yZWxhdGVkX2FwcGxpY2F0aW9u
cyJ9fSwgeyJlbmQiOiAxNjc4NiwgImJlZ2luIjogMTY3NzEsICJlZGdlIjogIiUva3l0aGUvZWRn
ZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVz
IjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjog
Im1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdC5oYXNfdGhlbWVfY29s
b3IifX0sIHsiZW5kIjogMTY4NjYsICJiZWdpbiI6IDE2ODU1LCAiZWRnZSI6ICIlL2t5dGhlL2Vk
Z2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1
cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6
ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3QudGhlbWVfY29sb3Ii
fX0sIHsiZW5kIjogMTY5NjAsICJiZWdpbiI6IDE2OTQwLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2Uv
Z2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6
ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJt
b2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3QuaGFzX2JhY2tncm91bmRf
Y29sb3IifX0sIHsiZW5kIjogMTcwNTAsICJiZWdpbiI6IDE3MDM0LCAiZWRnZSI6ICIlL2t5dGhl
L2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNv
cnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFn
ZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3QuYmFja2dyb3Vu
ZF9jb2xvciJ9fSwgeyJlbmQiOiAxNzEzNywgImJlZ2luIjogMTcxMjQsICJlZGdlIjogIiUva3l0
aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsi
Y29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1
YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdC5nY21fc2Vu
ZGVyX2lkIn19LCB7ImVuZCI6IDE3MjEwLCAiYmVnaW4iOiAxNzIwNSwgImVkZ2UiOiAiJS9reXRo
ZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJj
b3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3Vh
Z2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0LnNjb3BlIn19
LCB7ImVuZCI6IDE4MTg3LCAiYmVnaW4iOiAxODE2NiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl
bmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAi
Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9q
b20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0SW1hZ2VSZXNvdXJjZSJ9fSwg
eyJlbmQiOiAxODQ5MiwgImJlZ2luIjogMTg0ODUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l
cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo
cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t
IiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdEltYWdlUmVzb3VyY2UuUHVycG9z
ZSJ9fSwgeyJlbmQiOiAyMjEyNSwgImJlZ2luIjogMjIxMjIsICJlZGdlIjogIiUva3l0aGUvZWRn
ZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVz
IjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjog
Im1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdEltYWdlUmVzb3VyY2Uu
c3JjIn19LCB7ImVuZCI6IDIyMjA3LCAiYmVnaW4iOiAyMjIwMywgImVkZ2UiOiAiJS9reXRoZS9l
ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
OiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0SW1hZ2VSZXNvdXJj
ZS50eXBlIn19LCB7ImVuZCI6IDIyMzA5LCAiYmVnaW4iOiAyMjMwNCwgImVkZ2UiOiAiJS9reXRo
ZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJj
b3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3Vh
Z2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0SW1hZ2VSZXNv
dXJjZS5zaXplcyJ9fSwgeyJlbmQiOiAyMjQyMCwgImJlZ2luIjogMjI0MTMsICJlZGdlIjogIiUv
a3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6
IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxh
bmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdEltYWdl
UmVzb3VyY2UucHVycG9zZSJ9fSwgeyJlbmQiOiAyMzQxNCwgImJlZ2luIjogMjMzOTYsICJlZGdl
IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2
bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj
IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVz
dEZpbGVGaWx0ZXIifX0sIHsiZW5kIjogMjcwNjcsICJiZWdpbiI6IDI3MDYzLCAiZWRnZSI6ICIl
L2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUi
OiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJs
YW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RGaWxl
RmlsdGVyLm5hbWUifX0sIHsiZW5kIjogMjcxNjMsICJiZWdpbiI6IDI3MTU3LCAiZWRnZSI6ICIl
L2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUi
OiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJs
YW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RGaWxl
RmlsdGVyLmFjY2VwdCJ9fSwgeyJlbmQiOiAyODE1MiwgImJlZ2luIjogMjgxMjYsICJlZGdlIjog
IiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFt
ZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwg
Imxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdFJl
bGF0ZWRBcHBsaWNhdGlvbiJ9fSwgeyJlbmQiOiAzMjA0MCwgImJlZ2luIjogMzIwMzIsICJlZGdl
IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2
bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj
IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVz
dFJlbGF0ZWRBcHBsaWNhdGlvbi5wbGF0Zm9ybSJ9fSwgeyJlbmQiOiAzMjE0MywgImJlZ2luIjog
MzIxNDAsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3Jf
ZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v
Y2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5t
b2pvbS5NYW5pZmVzdFJlbGF0ZWRBcHBsaWNhdGlvbi51cmwifX0sIHsiZW5kIjogMzIyMjYsICJi
ZWdpbiI6IDMyMjI0LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAi
YW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3Vy
Y2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAi
YmxpbmsubW9qb20uTWFuaWZlc3RSZWxhdGVkQXBwbGljYXRpb24uaWQifX0sIHsiZW5kIjogMzMy
NDUsICJiZWdpbiI6IDMzMjIwLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5
cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29n
bGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1
cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RTaGFyZVRhcmdldFBhcmFtcyJ9fSwgeyJlbmQiOiAz
NzE0OCwgImJlZ2luIjogMzcxNDMsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAi
dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdv
b2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25h
dHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdFNoYXJlVGFyZ2V0UGFyYW1zLnRpdGxlIn19LCB7
ImVuZCI6IDM3MjM0LCAiYmVnaW4iOiAzNzIzMCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVy
YXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hy
b21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20i
LCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0U2hhcmVUYXJnZXRQYXJhbXMudGV4
dCJ9fSwgeyJlbmQiOiAzNzMxOCwgImJlZ2luIjogMzczMTUsICJlZGdlIjogIiUva3l0aGUvZWRn
ZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVz
IjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjog
Im1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdFNoYXJlVGFyZ2V0UGFy
YW1zLnVybCJ9fSwgeyJlbmQiOiAzNzQ0NSwgImJlZ2luIjogMzc0NDAsICJlZGdlIjogIiUva3l0
aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsi
Y29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1
YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdFNoYXJlVGFy
Z2V0UGFyYW1zLmZpbGVzIn19LCB7ImVuZCI6IDM4NTAzLCAiYmVnaW4iOiAzODQ4NCwgImVkZ2Ui
OiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZu
YW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMi
LCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0
U2hhcmVUYXJnZXQifX0sIHsiZW5kIjogMzg3OTgsICJiZWdpbiI6IDM4NzkyLCAiZWRnZSI6ICIl
L2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUi
OiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJs
YW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RTaGFy
ZVRhcmdldC5NZXRob2QifX0sIHsiZW5kIjogMzg5MDQsICJiZWdpbiI6IDM4ODk3LCAiZWRnZSI6
ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5h
bWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIs
ICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RT
aGFyZVRhcmdldC5FbmN0eXBlIn19LCB7ImVuZCI6IDQyNDg0LCAiYmVnaW4iOiA0MjQ3OCwgImVk
Z2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwg
InZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9z
cmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlm
ZXN0U2hhcmVUYXJnZXQuYWN0aW9uIn19LCB7ImVuZCI6IDQyNTc3LCAiYmVnaW4iOiA0MjU3MSwg
ImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVz
IiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1
bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1h
bmlmZXN0U2hhcmVUYXJnZXQubWV0aG9kIn19LCB7ImVuZCI6IDQyNjc5LCAiYmVnaW4iOiA0MjY3
MiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZp
bmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJv
bWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9t
Lk1hbmlmZXN0U2hhcmVUYXJnZXQuZW5jdHlwZSJ9fSwgeyJlbmQiOiA0Mjc4MSwgImJlZ2luIjog
NDI3NTMsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3Jf
ZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v
Y2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5t
b2pvbS5NYW5pZmVzdFNoYXJlVGFyZ2V0LnBhcmFtcyJ9fSwgeyJlbmQiOiA0MzgxNiwgImJlZ2lu
IjogNDM3OTcsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNo
b3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5j
b20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGlu
ay5tb2pvbS5NYW5pZmVzdEZpbGVIYW5kbGVyIn19LCB7ImVuZCI6IDQ3NTA1LCAiYmVnaW4iOiA0
NzQ5OSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k
ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1v
am9tLk1hbmlmZXN0RmlsZUhhbmRsZXIuYWN0aW9uIn19LCB7ImVuZCI6IDQ3NjEwLCAiYmVnaW4i
OiA0NzYwNSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hv
cl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNv
bS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5r
Lm1vam9tLk1hbmlmZXN0RmlsZUhhbmRsZXIuZmlsZXMifX0sIHsiZW5kIjogNDg2MzQsICJiZWdp
biI6IDQ4NjE3LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5j
aG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2Uu
Y29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxp
bmsubW9qb20uTWFuaWZlc3REZWJ1Z0luZm8ifX0sIHsiZW5kIjogNTIyOTEsICJiZWdpbiI6IDUy
Mjg1LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2Rl
ZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2No
cm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9q
b20uTWFuaWZlc3REZWJ1Z0luZm8uZXJyb3JzIn19LCB7ImVuZCI6IDUyMzg1LCAiYmVnaW4iOiA1
MjM3MywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k
ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1v
am9tLk1hbmlmZXN0RGVidWdJbmZvLnJhd19tYW5pZmVzdCJ9fV0sICJ0eXBlIjogImt5dGhlMCJ9
*/