#ifndef COMPONENTS_PERFORMANCE_MANAGER_PUBLIC_MOJOM_WEB_MEMORY_MOJOM_SHARED_H_
#define COMPONENTS_PERFORMANCE_MANAGER_PUBLIC_MOJOM_WEB_MEMORY_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 "components/performance_manager/public/mojom/web_memory.mojom-shared-internal.h"
#include "base/component_export.h"
namespace performance_manager::mojom {
class WebMemoryAttributionDataView;
class WebMemoryUsageDataView;
class WebMemoryBreakdownEntryDataView;
class WebMemoryMeasurementDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::performance_manager::mojom::WebMemoryAttributionDataView> { … };
template <>
struct MojomTypeTraits<::performance_manager::mojom::WebMemoryUsageDataView> { … };
template <>
struct MojomTypeTraits<::performance_manager::mojom::WebMemoryBreakdownEntryDataView> { … };
template <>
struct MojomTypeTraits<::performance_manager::mojom::WebMemoryMeasurementDataView> { … };
}
}
namespace performance_managermojom
namespace std {
template <>
struct hash<::performance_manager::mojom::WebMemoryAttribution_Scope>
: public mojo::internal::EnumHashImpl<::performance_manager::mojom::WebMemoryAttribution_Scope> { … };
template <>
struct hash<::performance_manager::mojom::WebMemoryMeasurement_Mode>
: public mojo::internal::EnumHashImpl<::performance_manager::mojom::WebMemoryMeasurement_Mode> { … };
}
namespace mojo {
namespace internal {
Serializer< ::performance_manager::mojom::WebMemoryAttribution_Scope, MaybeConstUserType>;
}
namespace internal {
Serializer< ::performance_manager::mojom::WebMemoryMeasurement_Mode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::performance_manager::mojom::WebMemoryAttributionDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::performance_manager::mojom::WebMemoryUsageDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::performance_manager::mojom::WebMemoryBreakdownEntryDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::performance_manager::mojom::WebMemoryMeasurementDataView, MaybeConstUserType>;
}
}
namespace performance_manager::mojom {
inline void WebMemoryAttributionDataView::GetUrlDataView(
mojo::StringDataView* output) { … }
inline void WebMemoryAttributionDataView::GetSrcDataView(
mojo::StringDataView* output) { … }
inline void WebMemoryAttributionDataView::GetIdDataView(
mojo::StringDataView* output) { … }
inline void WebMemoryBreakdownEntryDataView::GetMemoryDataView(
WebMemoryUsageDataView* output) { … }
inline void WebMemoryBreakdownEntryDataView::GetCanvasMemoryDataView(
WebMemoryUsageDataView* output) { … }
inline void WebMemoryBreakdownEntryDataView::GetAttributionDataView(
mojo::ArrayDataView<WebMemoryAttributionDataView>* output) { … }
inline void WebMemoryMeasurementDataView::GetBreakdownDataView(
mojo::ArrayDataView<WebMemoryBreakdownEntryDataView>* output) { … }
inline void WebMemoryMeasurementDataView::GetDetachedMemoryDataView(
WebMemoryUsageDataView* output) { … }
inline void WebMemoryMeasurementDataView::GetSharedMemoryDataView(
WebMemoryUsageDataView* output) { … }
inline void WebMemoryMeasurementDataView::GetBlinkMemoryDataView(
WebMemoryUsageDataView* output) { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(PERFORMANCE_MANAGER_PUBLIC_MOJOM_SHARED) TraceFormatTraits<::performance_manager::mojom::WebMemoryAttribution_Scope> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(PERFORMANCE_MANAGER_PUBLIC_MOJOM_SHARED) TraceFormatTraits<::performance_manager::mojom::WebMemoryMeasurement_Mode> { … };
}
#endif