#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_MANIFEST_MANIFEST_MOJOM_SHARED_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_MANIFEST_MANIFEST_MOJOM_SHARED_H_
#include <stdint.h>
#include <functional>
#include <iosfwd>
#include <type_traits>
#include <utility>
#include "mojo/public/cpp/bindings/array_data_view.h"
#include "mojo/public/cpp/bindings/enum_traits.h"
#include "mojo/public/cpp/bindings/interface_data_view.h"
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/map_data_view.h"
#include "mojo/public/cpp/bindings/string_data_view.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"
#include "third_party/blink/public/mojom/manifest/manifest.mojom-shared-internal.h"
#include "mojo/public/mojom/base/string16.mojom-shared.h"
#include "services/device/public/mojom/screen_orientation_lock_types.mojom-shared.h"
#include "third_party/blink/public/mojom/manifest/capture_links.mojom-shared.h"
#include "third_party/blink/public/mojom/manifest/display_mode.mojom-shared.h"
#include "third_party/blink/public/mojom/manifest/manifest_launch_handler.mojom-shared.h"
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy.mojom-shared.h"
#include "third_party/blink/public/mojom/safe_url_pattern.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared.h"
#include "url/mojom/origin.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"
#include "base/component_export.h"
namespace blink::mojom {
class ManifestDataView;
class ManifestShortcutItemDataView;
class ManifestImageResourceDataView;
class ManifestScreenshotDataView;
class ManifestFileFilterDataView;
class ManifestProtocolHandlerDataView;
class ManifestUrlHandlerDataView;
class ManifestScopeExtensionDataView;
class ManifestLockScreenDataView;
class ManifestNoteTakingDataView;
class ManifestRelatedApplicationDataView;
class ManifestShareTargetParamsDataView;
class ManifestShareTargetDataView;
class ManifestFileHandlerDataView;
class ManifestTranslationItemDataView;
class ManifestTabStripDataView;
class HomeTabParamsDataView;
class NewTabButtonParamsDataView;
class ManifestDebugInfoDataView;
class ManifestErrorDataView;
class HomeTabUnionDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::blink::mojom::ManifestDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestShortcutItemDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestImageResourceDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestScreenshotDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestFileFilterDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestProtocolHandlerDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestUrlHandlerDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestScopeExtensionDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestLockScreenDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestNoteTakingDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestRelatedApplicationDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestShareTargetParamsDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestShareTargetDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestFileHandlerDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestTranslationItemDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestTabStripDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::HomeTabParamsDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::NewTabButtonParamsDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestDebugInfoDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::ManifestErrorDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::HomeTabUnionDataView> { … };
}
}
namespace blinkmojom
namespace std {
template <>
struct hash<::blink::mojom::TabStripMemberVisibility>
: public mojo::internal::EnumHashImpl<::blink::mojom::TabStripMemberVisibility> { … };
template <>
struct hash<::blink::mojom::ManifestRequestResult>
: public mojo::internal::EnumHashImpl<::blink::mojom::ManifestRequestResult> { … };
template <>
struct hash<::blink::mojom::ManifestImageResource_Purpose>
: public mojo::internal::EnumHashImpl<::blink::mojom::ManifestImageResource_Purpose> { … };
template <>
struct hash<::blink::mojom::ManifestScreenshot_FormFactor>
: public mojo::internal::EnumHashImpl<::blink::mojom::ManifestScreenshot_FormFactor> { … };
template <>
struct hash<::blink::mojom::ManifestShareTarget_Method>
: public mojo::internal::EnumHashImpl<::blink::mojom::ManifestShareTarget_Method> { … };
template <>
struct hash<::blink::mojom::ManifestShareTarget_Enctype>
: public mojo::internal::EnumHashImpl<::blink::mojom::ManifestShareTarget_Enctype> { … };
template <>
struct hash<::blink::mojom::ManifestFileHandler_LaunchType>
: public mojo::internal::EnumHashImpl<::blink::mojom::ManifestFileHandler_LaunchType> { … };
}
namespace mojo {
namespace internal {
Serializer< ::blink::mojom::TabStripMemberVisibility, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestRequestResult, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestImageResource_Purpose, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestScreenshot_FormFactor, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestShareTarget_Method, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestShareTarget_Enctype, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestFileHandler_LaunchType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestShortcutItemDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestImageResourceDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestScreenshotDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestFileFilterDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestProtocolHandlerDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestUrlHandlerDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestScopeExtensionDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestLockScreenDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestNoteTakingDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestRelatedApplicationDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestShareTargetParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestShareTargetDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestFileHandlerDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestTranslationItemDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestTabStripDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::HomeTabParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::NewTabButtonParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestDebugInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::ManifestErrorDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::HomeTabUnionDataView, MaybeConstUserType>;
}
}
namespace blink::mojom {
inline void ManifestDataView::GetManifestUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestDataView::GetNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestDataView::GetShortNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestDataView::GetDescriptionDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestDataView::GetIdDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestDataView::GetStartUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestDataView::GetDisplayOverrideDataView(
mojo::ArrayDataView<::blink::mojom::DisplayMode>* output) { … }
inline void ManifestDataView::GetIconsDataView(
mojo::ArrayDataView<ManifestImageResourceDataView>* output) { … }
inline void ManifestDataView::GetScreenshotsDataView(
mojo::ArrayDataView<ManifestScreenshotDataView>* output) { … }
inline void ManifestDataView::GetShortcutsDataView(
mojo::ArrayDataView<ManifestShortcutItemDataView>* output) { … }
inline void ManifestDataView::GetShareTargetDataView(
ManifestShareTargetDataView* output) { … }
inline void ManifestDataView::GetFileHandlersDataView(
mojo::ArrayDataView<ManifestFileHandlerDataView>* output) { … }
inline void ManifestDataView::GetProtocolHandlersDataView(
mojo::ArrayDataView<ManifestProtocolHandlerDataView>* output) { … }
inline void ManifestDataView::GetUrlHandlersDataView(
mojo::ArrayDataView<ManifestUrlHandlerDataView>* output) { … }
inline void ManifestDataView::GetScopeExtensionsDataView(
mojo::ArrayDataView<ManifestScopeExtensionDataView>* output) { … }
inline void ManifestDataView::GetLockScreenDataView(
ManifestLockScreenDataView* output) { … }
inline void ManifestDataView::GetNoteTakingDataView(
ManifestNoteTakingDataView* output) { … }
inline void ManifestDataView::GetRelatedApplicationsDataView(
mojo::ArrayDataView<ManifestRelatedApplicationDataView>* output) { … }
inline void ManifestDataView::GetGcmSenderIdDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestDataView::GetScopeDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestDataView::GetPermissionsPolicyDataView(
mojo::ArrayDataView<::blink::mojom::ParsedPermissionsPolicyDeclarationDataView>* output) { … }
inline void ManifestDataView::GetLaunchHandlerDataView(
::blink::mojom::ManifestLaunchHandlerDataView* output) { … }
inline void ManifestDataView::GetTranslationsDataView(
mojo::MapDataView<::mojo_base::mojom::String16DataView, ManifestTranslationItemDataView>* output) { … }
inline void ManifestDataView::GetTabStripDataView(
ManifestTabStripDataView* output) { … }
inline void ManifestDataView::GetVersionDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestShortcutItemDataView::GetNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestShortcutItemDataView::GetShortNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestShortcutItemDataView::GetDescriptionDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestShortcutItemDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestShortcutItemDataView::GetIconsDataView(
mojo::ArrayDataView<ManifestImageResourceDataView>* output) { … }
inline void ManifestImageResourceDataView::GetSrcDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestImageResourceDataView::GetTypeDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestImageResourceDataView::GetSizesDataView(
mojo::ArrayDataView<::gfx::mojom::SizeDataView>* output) { … }
inline void ManifestImageResourceDataView::GetPurposeDataView(
mojo::ArrayDataView<ManifestImageResource_Purpose>* output) { … }
inline void ManifestScreenshotDataView::GetImageDataView(
ManifestImageResourceDataView* output) { … }
inline void ManifestScreenshotDataView::GetLabelDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestFileFilterDataView::GetNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestFileFilterDataView::GetAcceptDataView(
mojo::ArrayDataView<::mojo_base::mojom::String16DataView>* output) { … }
inline void ManifestProtocolHandlerDataView::GetProtocolDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestProtocolHandlerDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestUrlHandlerDataView::GetOriginDataView(
::url::mojom::OriginDataView* output) { … }
inline void ManifestScopeExtensionDataView::GetOriginDataView(
::url::mojom::OriginDataView* output) { … }
inline void ManifestLockScreenDataView::GetStartUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestNoteTakingDataView::GetNewNoteUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestRelatedApplicationDataView::GetPlatformDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestRelatedApplicationDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestRelatedApplicationDataView::GetIdDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestShareTargetParamsDataView::GetTitleDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestShareTargetParamsDataView::GetTextDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestShareTargetParamsDataView::GetUrlDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestShareTargetParamsDataView::GetFilesDataView(
mojo::ArrayDataView<ManifestFileFilterDataView>* output) { … }
inline void ManifestShareTargetDataView::GetActionDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestShareTargetDataView::GetParamsDataView(
ManifestShareTargetParamsDataView* output) { … }
inline void ManifestFileHandlerDataView::GetActionDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestFileHandlerDataView::GetNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestFileHandlerDataView::GetIconsDataView(
mojo::ArrayDataView<ManifestImageResourceDataView>* output) { … }
inline void ManifestFileHandlerDataView::GetAcceptDataView(
mojo::MapDataView<::mojo_base::mojom::String16DataView, mojo::ArrayDataView<::mojo_base::mojom::String16DataView>>* output) { … }
inline void ManifestTranslationItemDataView::GetNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestTranslationItemDataView::GetShortNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestTranslationItemDataView::GetDescriptionDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void ManifestTabStripDataView::GetHomeTabDataView(
HomeTabUnionDataView* output) { … }
inline void ManifestTabStripDataView::GetNewTabButtonDataView(
NewTabButtonParamsDataView* output) { … }
inline void HomeTabParamsDataView::GetIconsDataView(
mojo::ArrayDataView<ManifestImageResourceDataView>* output) { … }
inline void HomeTabParamsDataView::GetScopePatternsDataView(
mojo::ArrayDataView<::blink::mojom::SafeUrlPatternDataView>* output) { … }
inline void NewTabButtonParamsDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void ManifestDebugInfoDataView::GetErrorsDataView(
mojo::ArrayDataView<ManifestErrorDataView>* output) { … }
inline void ManifestDebugInfoDataView::GetRawManifestDataView(
mojo::StringDataView* output) { … }
inline void ManifestErrorDataView::GetMessageDataView(
mojo::StringDataView* output) { … }
inline void HomeTabUnionDataView::GetParamsDataView(
HomeTabParamsDataView* output) const { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::TabStripMemberVisibility> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::ManifestRequestResult> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::ManifestImageResource_Purpose> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::ManifestScreenshot_FormFactor> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::ManifestShareTarget_Method> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::ManifestShareTarget_Enctype> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::ManifestFileHandler_LaunchType> { … };
}
#endif