chromium/out/Default/gen/third_party/blink/public/mojom/manifest/manifest.mojom.h

// third_party/blink/public/mojom/manifest/manifest.mojom.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2013 The Chromium Authors
// 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_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_MANIFEST_MANIFEST_MOJOM_H_

#include <stdint.h>

#include <limits>
#include <optional>
#include <type_traits>
#include <utility>

#include "base/types/cxx23_to_underlying.h"
#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/perfetto/include/perfetto/tracing/traced_value_forward.h"

#include "third_party/blink/public/mojom/manifest/manifest.mojom-features.h"  // IWYU pragma: export
#include "third_party/blink/public/mojom/manifest/manifest.mojom-shared.h"  // IWYU pragma: export
#include "third_party/blink/public/mojom/manifest/manifest.mojom-forward.h"  // IWYU pragma: export
#include "mojo/public/mojom/base/string16.mojom.h"
#include "services/device/public/mojom/screen_orientation_lock_types.mojom-forward.h"
#include "third_party/blink/public/mojom/manifest/capture_links.mojom-forward.h"
#include "third_party/blink/public/mojom/manifest/display_mode.mojom-forward.h"
#include "third_party/blink/public/mojom/manifest/manifest_launch_handler.mojom.h"
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy.mojom.h"
#include "third_party/blink/public/mojom/safe_url_pattern.mojom.h"
#include "ui/gfx/geometry/mojom/geometry.mojom.h"
#include "url/mojom/origin.mojom.h"
#include "url/mojom/url.mojom.h"
#include <string>
#include <vector>




#include "third_party/blink/public/common/common_export.h"
#include "third_party/blink/public/common/manifest/manifest.h"
#include "third_party/blink/public/common/common_export.h"




namespace blink::mojom {
























class BLINK_COMMON_EXPORT ManifestError {};

// 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) {}

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) {}





class BLINK_COMMON_EXPORT HomeTabUnion {};





class BLINK_COMMON_EXPORT 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) {}

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) {}





class BLINK_COMMON_EXPORT ManifestShortcutItem {};

// 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, ManifestShortcutItem::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);

template <typename T, ManifestShortcutItem::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {}

template <typename T, ManifestShortcutItem::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {}

template <typename T, ManifestShortcutItem::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {}





class BLINK_COMMON_EXPORT ManifestImageResource {};

// 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) {}

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) {}





class BLINK_COMMON_EXPORT ManifestScreenshot {};

// 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, ManifestScreenshot::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);

template <typename T, ManifestScreenshot::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {}

template <typename T, ManifestScreenshot::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {}

template <typename T, ManifestScreenshot::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {}





class BLINK_COMMON_EXPORT ManifestFileFilter {};

// 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) {}

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) {}





class BLINK_COMMON_EXPORT ManifestProtocolHandler {};

// 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, ManifestProtocolHandler::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);

template <typename T, ManifestProtocolHandler::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {}

template <typename T, ManifestProtocolHandler::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {}

template <typename T, ManifestProtocolHandler::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {}





class BLINK_COMMON_EXPORT ManifestUrlHandler {};

// 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, ManifestUrlHandler::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);

template <typename T, ManifestUrlHandler::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {}

template <typename T, ManifestUrlHandler::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {}

template <typename T, ManifestUrlHandler::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {}





class BLINK_COMMON_EXPORT ManifestScopeExtension {};

// 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, ManifestScopeExtension::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);

template <typename T, ManifestScopeExtension::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {}

template <typename T, ManifestScopeExtension::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {}

template <typename T, ManifestScopeExtension::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {}





class BLINK_COMMON_EXPORT ManifestLockScreen {};

// 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, ManifestLockScreen::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);

template <typename T, ManifestLockScreen::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {}

template <typename T, ManifestLockScreen::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {}

template <typename T, ManifestLockScreen::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {}





class BLINK_COMMON_EXPORT ManifestNoteTaking {};

// 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, ManifestNoteTaking::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);

template <typename T, ManifestNoteTaking::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {}

template <typename T, ManifestNoteTaking::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {}

template <typename T, ManifestNoteTaking::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {}





class BLINK_COMMON_EXPORT ManifestRelatedApplication {};

// 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) {}

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) {}





class BLINK_COMMON_EXPORT 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) {}

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) {}





class BLINK_COMMON_EXPORT 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) {}

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) {}





class BLINK_COMMON_EXPORT 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) {}

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) {}





class BLINK_COMMON_EXPORT ManifestTranslationItem {};

// 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, ManifestTranslationItem::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);

template <typename T, ManifestTranslationItem::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {}

template <typename T, ManifestTranslationItem::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {}

template <typename T, ManifestTranslationItem::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {}





class BLINK_COMMON_EXPORT ManifestTabStrip {};

// 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, ManifestTabStrip::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);

template <typename T, ManifestTabStrip::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {}

template <typename T, ManifestTabStrip::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {}

template <typename T, ManifestTabStrip::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {}





class BLINK_COMMON_EXPORT HomeTabParams {};

// 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, HomeTabParams::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);

template <typename T, HomeTabParams::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {}

template <typename T, HomeTabParams::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {}

template <typename T, HomeTabParams::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {}





class BLINK_COMMON_EXPORT NewTabButtonParams {};

// 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, NewTabButtonParams::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);

template <typename T, NewTabButtonParams::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) {}

template <typename T, NewTabButtonParams::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) {}

template <typename T, NewTabButtonParams::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) {}





class BLINK_COMMON_EXPORT 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) {}

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) {}


template <typename UnionPtrType>
HomeTabUnionPtr HomeTabUnion::Clone() const {}

template <typename T,
          typename std::enable_if<std::is_same<
              T, HomeTabUnion>::value>::type*>
bool HomeTabUnion::Equals(const T& other) const {}
template <typename StructPtrType>
ManifestPtr Manifest::Clone() const {}

template <typename T, Manifest::EnableIfSame<T>*>
bool Manifest::Equals(const T& other_struct) const {}

template <typename T, Manifest::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestShortcutItemPtr ManifestShortcutItem::Clone() const {}

template <typename T, ManifestShortcutItem::EnableIfSame<T>*>
bool ManifestShortcutItem::Equals(const T& other_struct) const {}

template <typename T, ManifestShortcutItem::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestImageResourcePtr ManifestImageResource::Clone() const {}

template <typename T, ManifestImageResource::EnableIfSame<T>*>
bool ManifestImageResource::Equals(const T& other_struct) const {}

template <typename T, ManifestImageResource::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestScreenshotPtr ManifestScreenshot::Clone() const {}

template <typename T, ManifestScreenshot::EnableIfSame<T>*>
bool ManifestScreenshot::Equals(const T& other_struct) const {}

template <typename T, ManifestScreenshot::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestFileFilterPtr ManifestFileFilter::Clone() const {}

template <typename T, ManifestFileFilter::EnableIfSame<T>*>
bool ManifestFileFilter::Equals(const T& other_struct) const {}

template <typename T, ManifestFileFilter::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestProtocolHandlerPtr ManifestProtocolHandler::Clone() const {}

template <typename T, ManifestProtocolHandler::EnableIfSame<T>*>
bool ManifestProtocolHandler::Equals(const T& other_struct) const {}

template <typename T, ManifestProtocolHandler::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestUrlHandlerPtr ManifestUrlHandler::Clone() const {}

template <typename T, ManifestUrlHandler::EnableIfSame<T>*>
bool ManifestUrlHandler::Equals(const T& other_struct) const {}

template <typename T, ManifestUrlHandler::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestScopeExtensionPtr ManifestScopeExtension::Clone() const {}

template <typename T, ManifestScopeExtension::EnableIfSame<T>*>
bool ManifestScopeExtension::Equals(const T& other_struct) const {}

template <typename T, ManifestScopeExtension::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestLockScreenPtr ManifestLockScreen::Clone() const {}

template <typename T, ManifestLockScreen::EnableIfSame<T>*>
bool ManifestLockScreen::Equals(const T& other_struct) const {}

template <typename T, ManifestLockScreen::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestNoteTakingPtr ManifestNoteTaking::Clone() const {}

template <typename T, ManifestNoteTaking::EnableIfSame<T>*>
bool ManifestNoteTaking::Equals(const T& other_struct) const {}

template <typename T, ManifestNoteTaking::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestRelatedApplicationPtr ManifestRelatedApplication::Clone() const {}

template <typename T, ManifestRelatedApplication::EnableIfSame<T>*>
bool ManifestRelatedApplication::Equals(const T& other_struct) const {}

template <typename T, ManifestRelatedApplication::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestShareTargetParamsPtr ManifestShareTargetParams::Clone() const {}

template <typename T, ManifestShareTargetParams::EnableIfSame<T>*>
bool ManifestShareTargetParams::Equals(const T& other_struct) const {}

template <typename T, ManifestShareTargetParams::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestShareTargetPtr ManifestShareTarget::Clone() const {}

template <typename T, ManifestShareTarget::EnableIfSame<T>*>
bool ManifestShareTarget::Equals(const T& other_struct) const {}

template <typename T, ManifestShareTarget::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestFileHandlerPtr ManifestFileHandler::Clone() const {}

template <typename T, ManifestFileHandler::EnableIfSame<T>*>
bool ManifestFileHandler::Equals(const T& other_struct) const {}

template <typename T, ManifestFileHandler::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestTranslationItemPtr ManifestTranslationItem::Clone() const {}

template <typename T, ManifestTranslationItem::EnableIfSame<T>*>
bool ManifestTranslationItem::Equals(const T& other_struct) const {}

template <typename T, ManifestTranslationItem::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestTabStripPtr ManifestTabStrip::Clone() const {}

template <typename T, ManifestTabStrip::EnableIfSame<T>*>
bool ManifestTabStrip::Equals(const T& other_struct) const {}

template <typename T, ManifestTabStrip::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
HomeTabParamsPtr HomeTabParams::Clone() const {}

template <typename T, HomeTabParams::EnableIfSame<T>*>
bool HomeTabParams::Equals(const T& other_struct) const {}

template <typename T, HomeTabParams::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
NewTabButtonParamsPtr NewTabButtonParams::Clone() const {}

template <typename T, NewTabButtonParams::EnableIfSame<T>*>
bool NewTabButtonParams::Equals(const T& other_struct) const {}

template <typename T, NewTabButtonParams::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestDebugInfoPtr ManifestDebugInfo::Clone() const {}

template <typename T, ManifestDebugInfo::EnableIfSame<T>*>
bool ManifestDebugInfo::Equals(const T& other_struct) const {}

template <typename T, ManifestDebugInfo::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}
template <typename StructPtrType>
ManifestErrorPtr ManifestError::Clone() const {}

template <typename T, ManifestError::EnableIfSame<T>*>
bool ManifestError::Equals(const T& other_struct) const {}

template <typename T, ManifestError::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) {}


}  // blink::mojom

namespace mojo {


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::Manifest::DataView,
                                         ::blink::mojom::ManifestPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestShortcutItem::DataView,
                                         ::blink::mojom::ManifestShortcutItemPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestImageResource::DataView,
                                         ::blink::mojom::ManifestImageResourcePtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestScreenshot::DataView,
                                         ::blink::mojom::ManifestScreenshotPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestFileFilter::DataView,
                                         ::blink::mojom::ManifestFileFilterPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestProtocolHandler::DataView,
                                         ::blink::mojom::ManifestProtocolHandlerPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestUrlHandler::DataView,
                                         ::blink::mojom::ManifestUrlHandlerPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestScopeExtension::DataView,
                                         ::blink::mojom::ManifestScopeExtensionPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestLockScreen::DataView,
                                         ::blink::mojom::ManifestLockScreenPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestNoteTaking::DataView,
                                         ::blink::mojom::ManifestNoteTakingPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestRelatedApplication::DataView,
                                         ::blink::mojom::ManifestRelatedApplicationPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestShareTargetParams::DataView,
                                         ::blink::mojom::ManifestShareTargetParamsPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestShareTarget::DataView,
                                         ::blink::mojom::ManifestShareTargetPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestFileHandler::DataView,
                                         ::blink::mojom::ManifestFileHandlerPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestTranslationItem::DataView,
                                         ::blink::mojom::ManifestTranslationItemPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestTabStrip::DataView,
                                         ::blink::mojom::ManifestTabStripPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::HomeTabParams::DataView,
                                         ::blink::mojom::HomeTabParamsPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::NewTabButtonParams::DataView,
                                         ::blink::mojom::NewTabButtonParamsPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestDebugInfo::DataView,
                                         ::blink::mojom::ManifestDebugInfoPtr> {};


template <>
struct BLINK_COMMON_EXPORT StructTraits<::blink::mojom::ManifestError::DataView,
                                         ::blink::mojom::ManifestErrorPtr> {};


template <>
struct BLINK_COMMON_EXPORT UnionTraits<::blink::mojom::HomeTabUnion::DataView,
                                        ::blink::mojom::HomeTabUnionPtr> {};

}  // namespace mojo

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_MANIFEST_MANIFEST_MOJOM_H_