blob: f46c53cdf61a2447d3b5b8f1f26511f61a77ba6a [file] [log] [blame]
// chrome/browser/ui/webui/tab_search/tab_search.mojom-shared.h is auto generated by mojom_bindings_generator.py, do not edit
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_WEBUI_TAB_SEARCH_TAB_SEARCH_MOJOM_SHARED_H_
#define CHROME_BROWSER_UI_WEBUI_TAB_SEARCH_TAB_SEARCH_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 "chrome/browser/ui/webui/tab_search/tab_search.mojom-shared-internal.h"
#include "components/tab_groups/public/mojom/tab_group_types.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "mojo/public/mojom/base/token.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"
#include "chrome/browser/ui/webui/tabs/tabs.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#ifdef KYTHE_IS_RUNNING
#pragma kythe_inline_metadata "Metadata comment"
#endif
namespace tab_search {
namespace mojom {
class ProfileDataDataView;
class WindowDataView;
class TabDataView;
class RecentlyClosedTabDataView;
class TabGroupDataView;
class RecentlyClosedTabGroupDataView;
class SwitchToTabInfoDataView;
class TabUpdateInfoDataView;
class TabsRemovedInfoDataView;
} // namespace mojom
} // namespace tab_search
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::tab_search::mojom::ProfileDataDataView> {
using Data = ::tab_search::mojom::internal::ProfileData_Data;
using DataAsArrayElement = Pointer<Data>;
static constexpr MojomTypeCategory category = MojomTypeCategory::kStruct;
};
template <>
struct MojomTypeTraits<::tab_search::mojom::WindowDataView> {
using Data = ::tab_search::mojom::internal::Window_Data;
using DataAsArrayElement = Pointer<Data>;
static constexpr MojomTypeCategory category = MojomTypeCategory::kStruct;
};
template <>
struct MojomTypeTraits<::tab_search::mojom::TabDataView> {
using Data = ::tab_search::mojom::internal::Tab_Data;
using DataAsArrayElement = Pointer<Data>;
static constexpr MojomTypeCategory category = MojomTypeCategory::kStruct;
};
template <>
struct MojomTypeTraits<::tab_search::mojom::RecentlyClosedTabDataView> {
using Data = ::tab_search::mojom::internal::RecentlyClosedTab_Data;
using DataAsArrayElement = Pointer<Data>;
static constexpr MojomTypeCategory category = MojomTypeCategory::kStruct;
};
template <>
struct MojomTypeTraits<::tab_search::mojom::TabGroupDataView> {
using Data = ::tab_search::mojom::internal::TabGroup_Data;
using DataAsArrayElement = Pointer<Data>;
static constexpr MojomTypeCategory category = MojomTypeCategory::kStruct;
};
template <>
struct MojomTypeTraits<::tab_search::mojom::RecentlyClosedTabGroupDataView> {
using Data = ::tab_search::mojom::internal::RecentlyClosedTabGroup_Data;
using DataAsArrayElement = Pointer<Data>;
static constexpr MojomTypeCategory category = MojomTypeCategory::kStruct;
};
template <>
struct MojomTypeTraits<::tab_search::mojom::SwitchToTabInfoDataView> {
using Data = ::tab_search::mojom::internal::SwitchToTabInfo_Data;
using DataAsArrayElement = Pointer<Data>;
static constexpr MojomTypeCategory category = MojomTypeCategory::kStruct;
};
template <>
struct MojomTypeTraits<::tab_search::mojom::TabUpdateInfoDataView> {
using Data = ::tab_search::mojom::internal::TabUpdateInfo_Data;
using DataAsArrayElement = Pointer<Data>;
static constexpr MojomTypeCategory category = MojomTypeCategory::kStruct;
};
template <>
struct MojomTypeTraits<::tab_search::mojom::TabsRemovedInfoDataView> {
using Data = ::tab_search::mojom::internal::TabsRemovedInfo_Data;
using DataAsArrayElement = Pointer<Data>;
static constexpr MojomTypeCategory category = MojomTypeCategory::kStruct;
};
} // namespace internal
} // namespace mojo
namespace tab_search {
namespace mojom {
// Interface base classes. They are used for type safety check.
class PageHandlerFactoryInterfaceBase {};
using PageHandlerFactoryPtrDataView =
mojo::InterfacePtrDataView<PageHandlerFactoryInterfaceBase>;
using PageHandlerFactoryRequestDataView =
mojo::InterfaceRequestDataView<PageHandlerFactoryInterfaceBase>;
using PageHandlerFactoryAssociatedPtrInfoDataView =
mojo::AssociatedInterfacePtrInfoDataView<PageHandlerFactoryInterfaceBase>;
using PageHandlerFactoryAssociatedRequestDataView =
mojo::AssociatedInterfaceRequestDataView<PageHandlerFactoryInterfaceBase>;
class PageHandlerInterfaceBase {};
using PageHandlerPtrDataView =
mojo::InterfacePtrDataView<PageHandlerInterfaceBase>;
using PageHandlerRequestDataView =
mojo::InterfaceRequestDataView<PageHandlerInterfaceBase>;
using PageHandlerAssociatedPtrInfoDataView =
mojo::AssociatedInterfacePtrInfoDataView<PageHandlerInterfaceBase>;
using PageHandlerAssociatedRequestDataView =
mojo::AssociatedInterfaceRequestDataView<PageHandlerInterfaceBase>;
class PageInterfaceBase {};
using PagePtrDataView =
mojo::InterfacePtrDataView<PageInterfaceBase>;
using PageRequestDataView =
mojo::InterfaceRequestDataView<PageInterfaceBase>;
using PageAssociatedPtrInfoDataView =
mojo::AssociatedInterfacePtrInfoDataView<PageInterfaceBase>;
using PageAssociatedRequestDataView =
mojo::AssociatedInterfaceRequestDataView<PageInterfaceBase>;
class ProfileDataDataView {
public:
ProfileDataDataView() = default;
ProfileDataDataView(
internal::ProfileData_Data* data,
mojo::Message* message)
: data_(data), message_(message) {}
bool is_null() const { return !data_; }
inline void GetWindowsDataView(
mojo::ArrayDataView<WindowDataView>* output);
template <typename UserType>
[[nodiscard]] bool ReadWindows(UserType* output) {
auto* pointer = data_->windows.Get();
return mojo::internal::Deserialize<mojo::ArrayDataView<::tab_search::mojom::WindowDataView>>(
pointer, output, message_);
}
inline void GetTabGroupsDataView(
mojo::ArrayDataView<TabGroupDataView>* output);
template <typename UserType>
[[nodiscard]] bool ReadTabGroups(UserType* output) {
auto* pointer = data_->tab_groups.Get();
return mojo::internal::Deserialize<mojo::ArrayDataView<::tab_search::mojom::TabGroupDataView>>(
pointer, output, message_);
}
inline void GetRecentlyClosedTabsDataView(
mojo::ArrayDataView<RecentlyClosedTabDataView>* output);
template <typename UserType>
[[nodiscard]] bool ReadRecentlyClosedTabs(UserType* output) {
auto* pointer = data_->recently_closed_tabs.Get();
return mojo::internal::Deserialize<mojo::ArrayDataView<::tab_search::mojom::RecentlyClosedTabDataView>>(
pointer, output, message_);
}
inline void GetRecentlyClosedTabGroupsDataView(
mojo::ArrayDataView<RecentlyClosedTabGroupDataView>* output);
template <typename UserType>
[[nodiscard]] bool ReadRecentlyClosedTabGroups(UserType* output) {
auto* pointer = data_->recently_closed_tab_groups.Get();
return mojo::internal::Deserialize<mojo::ArrayDataView<::tab_search::mojom::RecentlyClosedTabGroupDataView>>(
pointer, output, message_);
}
bool recently_closed_section_expanded() const {
return data_->recently_closed_section_expanded;
}
private:
internal::ProfileData_Data* data_ = nullptr;
mojo::Message* message_ = nullptr;
};
class WindowDataView {
public:
WindowDataView() = default;
WindowDataView(
internal::Window_Data* data,
mojo::Message* message)
: data_(data), message_(message) {}
bool is_null() const { return !data_; }
bool active() const {
return data_->active;
}
uint32_t height() const {
return data_->height;
}
inline void GetTabsDataView(
mojo::ArrayDataView<TabDataView>* output);
template <typename UserType>
[[nodiscard]] bool ReadTabs(UserType* output) {
auto* pointer = data_->tabs.Get();
return mojo::internal::Deserialize<mojo::ArrayDataView<::tab_search::mojom::TabDataView>>(
pointer, output, message_);
}
private:
internal::Window_Data* data_ = nullptr;
mojo::Message* message_ = nullptr;
};
class TabDataView {
public:
TabDataView() = default;
TabDataView(
internal::Tab_Data* data,
mojo::Message* message)
: data_(data), message_(message) {}
bool is_null() const { return !data_; }
bool active() const {
return data_->active;
}
inline void GetAlertStatesDataView(
mojo::ArrayDataView<::tabs::mojom::TabAlertState>* output);
template <typename UserType>
[[nodiscard]] bool ReadAlertStates(UserType* output) {
auto* pointer = data_->alert_states.Get();
return mojo::internal::Deserialize<mojo::ArrayDataView<::tabs::mojom::TabAlertState>>(
pointer, output, message_);
}
int32_t index() const {
return data_->index;
}
int32_t tab_id() const {
return data_->tab_id;
}
inline void GetGroupIdDataView(
::mojo_base::mojom::TokenDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadGroupId(UserType* output) {
static_assert(
mojo::internal::IsValidUserTypeForOptionalValue<
::mojo_base::mojom::TokenDataView, UserType>(),
"Attempting to read the optional `group_id` field into a type which "
"cannot represent a null value. Either wrap the destination object "
"with absl::optional, ensure that any corresponding "
"{Struct/Union/Array/String}Traits define the necessary IsNull and "
"SetToNull methods, or use `MaybeReadGroupId` instead "
"of `ReadGroupId if you're fine with null values being "
"silently ignored in this case.");
auto* pointer = data_->group_id.Get();
return mojo::internal::Deserialize<::mojo_base::mojom::TokenDataView>(
pointer, output, message_);
}
bool pinned() const {
return data_->pinned;
}
inline void GetTitleDataView(
mojo::StringDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadTitle(UserType* output) {
auto* pointer = data_->title.Get();
return mojo::internal::Deserialize<mojo::StringDataView>(
pointer, output, message_);
}
inline void GetUrlDataView(
::url::mojom::UrlDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadUrl(UserType* output) {
auto* pointer = data_->url.Get();
return mojo::internal::Deserialize<::url::mojom::UrlDataView>(
pointer, output, message_);
}
inline void GetFaviconUrlDataView(
::url::mojom::UrlDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadFaviconUrl(UserType* output) {
static_assert(
mojo::internal::IsValidUserTypeForOptionalValue<
::url::mojom::UrlDataView, UserType>(),
"Attempting to read the optional `favicon_url` field into a type which "
"cannot represent a null value. Either wrap the destination object "
"with absl::optional, ensure that any corresponding "
"{Struct/Union/Array/String}Traits define the necessary IsNull and "
"SetToNull methods, or use `MaybeReadFaviconUrl` instead "
"of `ReadFaviconUrl if you're fine with null values being "
"silently ignored in this case.");
auto* pointer = data_->favicon_url.Get();
return mojo::internal::Deserialize<::url::mojom::UrlDataView>(
pointer, output, message_);
}
bool is_default_favicon() const {
return data_->is_default_favicon;
}
bool show_icon() const {
return data_->show_icon;
}
inline void GetLastActiveTimeTicksDataView(
::mojo_base::mojom::TimeTicksDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadLastActiveTimeTicks(UserType* output) {
auto* pointer = data_->last_active_time_ticks.Get();
return mojo::internal::Deserialize<::mojo_base::mojom::TimeTicksDataView>(
pointer, output, message_);
}
inline void GetLastActiveElapsedTextDataView(
mojo::StringDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadLastActiveElapsedText(UserType* output) {
auto* pointer = data_->last_active_elapsed_text.Get();
return mojo::internal::Deserialize<mojo::StringDataView>(
pointer, output, message_);
}
private:
internal::Tab_Data* data_ = nullptr;
mojo::Message* message_ = nullptr;
};
class RecentlyClosedTabDataView {
public:
RecentlyClosedTabDataView() = default;
RecentlyClosedTabDataView(
internal::RecentlyClosedTab_Data* data,
mojo::Message* message)
: data_(data), message_(message) {}
bool is_null() const { return !data_; }
int32_t tab_id() const {
return data_->tab_id;
}
inline void GetGroupIdDataView(
::mojo_base::mojom::TokenDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadGroupId(UserType* output) {
static_assert(
mojo::internal::IsValidUserTypeForOptionalValue<
::mojo_base::mojom::TokenDataView, UserType>(),
"Attempting to read the optional `group_id` field into a type which "
"cannot represent a null value. Either wrap the destination object "
"with absl::optional, ensure that any corresponding "
"{Struct/Union/Array/String}Traits define the necessary IsNull and "
"SetToNull methods, or use `MaybeReadGroupId` instead "
"of `ReadGroupId if you're fine with null values being "
"silently ignored in this case.");
auto* pointer = data_->group_id.Get();
return mojo::internal::Deserialize<::mojo_base::mojom::TokenDataView>(
pointer, output, message_);
}
inline void GetTitleDataView(
mojo::StringDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadTitle(UserType* output) {
auto* pointer = data_->title.Get();
return mojo::internal::Deserialize<mojo::StringDataView>(
pointer, output, message_);
}
inline void GetUrlDataView(
::url::mojom::UrlDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadUrl(UserType* output) {
auto* pointer = data_->url.Get();
return mojo::internal::Deserialize<::url::mojom::UrlDataView>(
pointer, output, message_);
}
inline void GetLastActiveTimeDataView(
::mojo_base::mojom::TimeDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadLastActiveTime(UserType* output) {
auto* pointer = data_->last_active_time.Get();
return mojo::internal::Deserialize<::mojo_base::mojom::TimeDataView>(
pointer, output, message_);
}
inline void GetLastActiveElapsedTextDataView(
mojo::StringDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadLastActiveElapsedText(UserType* output) {
auto* pointer = data_->last_active_elapsed_text.Get();
return mojo::internal::Deserialize<mojo::StringDataView>(
pointer, output, message_);
}
private:
internal::RecentlyClosedTab_Data* data_ = nullptr;
mojo::Message* message_ = nullptr;
};
class TabGroupDataView {
public:
TabGroupDataView() = default;
TabGroupDataView(
internal::TabGroup_Data* data,
mojo::Message* message)
: data_(data), message_(message) {}
bool is_null() const { return !data_; }
inline void GetIdDataView(
::mojo_base::mojom::TokenDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadId(UserType* output) {
auto* pointer = data_->id.Get();
return mojo::internal::Deserialize<::mojo_base::mojom::TokenDataView>(
pointer, output, message_);
}
template <typename UserType>
[[nodiscard]] bool ReadColor(UserType* output) const {
auto data_value = data_->color;
return mojo::internal::Deserialize<::tab_groups::mojom::Color>(
data_value, output);
}
::tab_groups::mojom::Color color() const {
return ::mojo::internal::ToKnownEnumValueHelper(
static_cast<::tab_groups::mojom::Color>(data_->color));
}
inline void GetTitleDataView(
mojo::StringDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadTitle(UserType* output) {
auto* pointer = data_->title.Get();
return mojo::internal::Deserialize<mojo::StringDataView>(
pointer, output, message_);
}
private:
internal::TabGroup_Data* data_ = nullptr;
mojo::Message* message_ = nullptr;
};
class RecentlyClosedTabGroupDataView {
public:
RecentlyClosedTabGroupDataView() = default;
RecentlyClosedTabGroupDataView(
internal::RecentlyClosedTabGroup_Data* data,
mojo::Message* message)
: data_(data), message_(message) {}
bool is_null() const { return !data_; }
int32_t session_id() const {
return data_->session_id;
}
inline void GetIdDataView(
::mojo_base::mojom::TokenDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadId(UserType* output) {
auto* pointer = data_->id.Get();
return mojo::internal::Deserialize<::mojo_base::mojom::TokenDataView>(
pointer, output, message_);
}
template <typename UserType>
[[nodiscard]] bool ReadColor(UserType* output) const {
auto data_value = data_->color;
return mojo::internal::Deserialize<::tab_groups::mojom::Color>(
data_value, output);
}
::tab_groups::mojom::Color color() const {
return ::mojo::internal::ToKnownEnumValueHelper(
static_cast<::tab_groups::mojom::Color>(data_->color));
}
inline void GetTitleDataView(
mojo::StringDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadTitle(UserType* output) {
auto* pointer = data_->title.Get();
return mojo::internal::Deserialize<mojo::StringDataView>(
pointer, output, message_);
}
uint32_t tab_count() const {
return data_->tab_count;
}
inline void GetLastActiveTimeDataView(
::mojo_base::mojom::TimeDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadLastActiveTime(UserType* output) {
auto* pointer = data_->last_active_time.Get();
return mojo::internal::Deserialize<::mojo_base::mojom::TimeDataView>(
pointer, output, message_);
}
inline void GetLastActiveElapsedTextDataView(
mojo::StringDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadLastActiveElapsedText(UserType* output) {
auto* pointer = data_->last_active_elapsed_text.Get();
return mojo::internal::Deserialize<mojo::StringDataView>(
pointer, output, message_);
}
private:
internal::RecentlyClosedTabGroup_Data* data_ = nullptr;
mojo::Message* message_ = nullptr;
};
class SwitchToTabInfoDataView {
public:
SwitchToTabInfoDataView() = default;
SwitchToTabInfoDataView(
internal::SwitchToTabInfo_Data* data,
mojo::Message* message)
: data_(data) {}
bool is_null() const { return !data_; }
int32_t tab_id() const {
return data_->tab_id;
}
private:
internal::SwitchToTabInfo_Data* data_ = nullptr;
};
class TabUpdateInfoDataView {
public:
TabUpdateInfoDataView() = default;
TabUpdateInfoDataView(
internal::TabUpdateInfo_Data* data,
mojo::Message* message)
: data_(data), message_(message) {}
bool is_null() const { return !data_; }
bool in_active_window() const {
return data_->in_active_window;
}
inline void GetTabDataView(
TabDataView* output);
template <typename UserType>
[[nodiscard]] bool ReadTab(UserType* output) {
auto* pointer = data_->tab.Get();
return mojo::internal::Deserialize<::tab_search::mojom::TabDataView>(
pointer, output, message_);
}
private:
internal::TabUpdateInfo_Data* data_ = nullptr;
mojo::Message* message_ = nullptr;
};
class TabsRemovedInfoDataView {
public:
TabsRemovedInfoDataView() = default;
TabsRemovedInfoDataView(
internal::TabsRemovedInfo_Data* data,
mojo::Message* message)
: data_(data), message_(message) {}
bool is_null() const { return !data_; }
inline void GetTabIdsDataView(
mojo::ArrayDataView<int32_t>* output);
template <typename UserType>
[[nodiscard]] bool ReadTabIds(UserType* output) {
auto* pointer = data_->tab_ids.Get();
return mojo::internal::Deserialize<mojo::ArrayDataView<int32_t>>(
pointer, output, message_);
}
inline void GetRecentlyClosedTabsDataView(
mojo::ArrayDataView<RecentlyClosedTabDataView>* output);
template <typename UserType>
[[nodiscard]] bool ReadRecentlyClosedTabs(UserType* output) {
auto* pointer = data_->recently_closed_tabs.Get();
return mojo::internal::Deserialize<mojo::ArrayDataView<::tab_search::mojom::RecentlyClosedTabDataView>>(
pointer, output, message_);
}
private:
internal::TabsRemovedInfo_Data* data_ = nullptr;
mojo::Message* message_ = nullptr;
};
} // namespace mojom
} // namespace tab_search
namespace std {
} // namespace std
namespace mojo {
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::tab_search::mojom::ProfileDataDataView, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = StructTraits<::tab_search::mojom::ProfileDataDataView, UserType>;
static void Serialize(
MaybeConstUserType& input,
mojo::internal::MessageFragment<::tab_search::mojom::internal::ProfileData_Data>& fragment) {
if (CallIsNullIfExists<Traits>(input))
return;
fragment.Allocate();
decltype(Traits::windows(input)) in_windows = Traits::windows(input);
mojo::internal::MessageFragment<
typename decltype(fragment->windows)::BaseType>
windows_fragment(fragment.message());
const mojo::internal::ContainerValidateParams windows_validate_params(
0, false, nullptr);
mojo::internal::Serialize<mojo::ArrayDataView<::tab_search::mojom::WindowDataView>>(
in_windows, windows_fragment, &windows_validate_params);
fragment->windows.Set(
windows_fragment.is_null() ? nullptr : windows_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->windows.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null windows in ProfileData struct");
decltype(Traits::tab_groups(input)) in_tab_groups = Traits::tab_groups(input);
mojo::internal::MessageFragment<
typename decltype(fragment->tab_groups)::BaseType>
tab_groups_fragment(fragment.message());
const mojo::internal::ContainerValidateParams tab_groups_validate_params(
0, false, nullptr);
mojo::internal::Serialize<mojo::ArrayDataView<::tab_search::mojom::TabGroupDataView>>(
in_tab_groups, tab_groups_fragment, &tab_groups_validate_params);
fragment->tab_groups.Set(
tab_groups_fragment.is_null() ? nullptr : tab_groups_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->tab_groups.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null tab_groups in ProfileData struct");
decltype(Traits::recently_closed_tabs(input)) in_recently_closed_tabs = Traits::recently_closed_tabs(input);
mojo::internal::MessageFragment<
typename decltype(fragment->recently_closed_tabs)::BaseType>
recently_closed_tabs_fragment(fragment.message());
const mojo::internal::ContainerValidateParams recently_closed_tabs_validate_params(
0, false, nullptr);
mojo::internal::Serialize<mojo::ArrayDataView<::tab_search::mojom::RecentlyClosedTabDataView>>(
in_recently_closed_tabs, recently_closed_tabs_fragment, &recently_closed_tabs_validate_params);
fragment->recently_closed_tabs.Set(
recently_closed_tabs_fragment.is_null() ? nullptr : recently_closed_tabs_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->recently_closed_tabs.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null recently_closed_tabs in ProfileData struct");
decltype(Traits::recently_closed_tab_groups(input)) in_recently_closed_tab_groups = Traits::recently_closed_tab_groups(input);
mojo::internal::MessageFragment<
typename decltype(fragment->recently_closed_tab_groups)::BaseType>
recently_closed_tab_groups_fragment(fragment.message());
const mojo::internal::ContainerValidateParams recently_closed_tab_groups_validate_params(
0, false, nullptr);
mojo::internal::Serialize<mojo::ArrayDataView<::tab_search::mojom::RecentlyClosedTabGroupDataView>>(
in_recently_closed_tab_groups, recently_closed_tab_groups_fragment, &recently_closed_tab_groups_validate_params);
fragment->recently_closed_tab_groups.Set(
recently_closed_tab_groups_fragment.is_null() ? nullptr : recently_closed_tab_groups_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->recently_closed_tab_groups.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null recently_closed_tab_groups in ProfileData struct");
fragment->recently_closed_section_expanded = Traits::recently_closed_section_expanded(input);
}
static bool Deserialize(::tab_search::mojom::internal::ProfileData_Data* input,
UserType* output,
Message* message) {
if (!input)
return CallSetToNullIfExists<Traits>(output);
::tab_search::mojom::ProfileDataDataView data_view(input, message);
return Traits::Read(data_view, output);
}
};
} // namespace internal
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::tab_search::mojom::WindowDataView, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = StructTraits<::tab_search::mojom::WindowDataView, UserType>;
static void Serialize(
MaybeConstUserType& input,
mojo::internal::MessageFragment<::tab_search::mojom::internal::Window_Data>& fragment) {
if (CallIsNullIfExists<Traits>(input))
return;
fragment.Allocate();
fragment->active = Traits::active(input);
fragment->height = Traits::height(input);
decltype(Traits::tabs(input)) in_tabs = Traits::tabs(input);
mojo::internal::MessageFragment<
typename decltype(fragment->tabs)::BaseType>
tabs_fragment(fragment.message());
const mojo::internal::ContainerValidateParams tabs_validate_params(
0, false, nullptr);
mojo::internal::Serialize<mojo::ArrayDataView<::tab_search::mojom::TabDataView>>(
in_tabs, tabs_fragment, &tabs_validate_params);
fragment->tabs.Set(
tabs_fragment.is_null() ? nullptr : tabs_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->tabs.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null tabs in Window struct");
}
static bool Deserialize(::tab_search::mojom::internal::Window_Data* input,
UserType* output,
Message* message) {
if (!input)
return CallSetToNullIfExists<Traits>(output);
::tab_search::mojom::WindowDataView data_view(input, message);
return Traits::Read(data_view, output);
}
};
} // namespace internal
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::tab_search::mojom::TabDataView, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = StructTraits<::tab_search::mojom::TabDataView, UserType>;
static void Serialize(
MaybeConstUserType& input,
mojo::internal::MessageFragment<::tab_search::mojom::internal::Tab_Data>& fragment) {
if (CallIsNullIfExists<Traits>(input))
return;
fragment.Allocate();
fragment->active = Traits::active(input);
decltype(Traits::alert_states(input)) in_alert_states = Traits::alert_states(input);
mojo::internal::MessageFragment<
typename decltype(fragment->alert_states)::BaseType>
alert_states_fragment(fragment.message());
const mojo::internal::ContainerValidateParams alert_states_validate_params(
0, ::tabs::mojom::internal::TabAlertState_Data::Validate);
mojo::internal::Serialize<mojo::ArrayDataView<::tabs::mojom::TabAlertState>>(
in_alert_states, alert_states_fragment, &alert_states_validate_params);
fragment->alert_states.Set(
alert_states_fragment.is_null() ? nullptr : alert_states_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->alert_states.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null alert_states in Tab struct");
fragment->index = Traits::index(input);
fragment->tab_id = Traits::tab_id(input);
decltype(Traits::group_id(input)) in_group_id = Traits::group_id(input);
mojo::internal::MessageFragment<
typename decltype(fragment->group_id)::BaseType> group_id_fragment(
fragment.message());
mojo::internal::Serialize<::mojo_base::mojom::TokenDataView>(
in_group_id, group_id_fragment);
fragment->group_id.Set(
group_id_fragment.is_null() ? nullptr : group_id_fragment.data());
fragment->pinned = Traits::pinned(input);
decltype(Traits::title(input)) in_title = Traits::title(input);
mojo::internal::MessageFragment<
typename decltype(fragment->title)::BaseType> title_fragment(
fragment.message());
mojo::internal::Serialize<mojo::StringDataView>(
in_title, title_fragment);
fragment->title.Set(
title_fragment.is_null() ? nullptr : title_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->title.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null title in Tab struct");
decltype(Traits::url(input)) in_url = Traits::url(input);
mojo::internal::MessageFragment<
typename decltype(fragment->url)::BaseType> url_fragment(
fragment.message());
mojo::internal::Serialize<::url::mojom::UrlDataView>(
in_url, url_fragment);
fragment->url.Set(
url_fragment.is_null() ? nullptr : url_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->url.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null url in Tab struct");
decltype(Traits::favicon_url(input)) in_favicon_url = Traits::favicon_url(input);
mojo::internal::MessageFragment<
typename decltype(fragment->favicon_url)::BaseType> favicon_url_fragment(
fragment.message());
mojo::internal::Serialize<::url::mojom::UrlDataView>(
in_favicon_url, favicon_url_fragment);
fragment->favicon_url.Set(
favicon_url_fragment.is_null() ? nullptr : favicon_url_fragment.data());
fragment->is_default_favicon = Traits::is_default_favicon(input);
fragment->show_icon = Traits::show_icon(input);
decltype(Traits::last_active_time_ticks(input)) in_last_active_time_ticks = Traits::last_active_time_ticks(input);
mojo::internal::MessageFragment<
typename decltype(fragment->last_active_time_ticks)::BaseType> last_active_time_ticks_fragment(
fragment.message());
mojo::internal::Serialize<::mojo_base::mojom::TimeTicksDataView>(
in_last_active_time_ticks, last_active_time_ticks_fragment);
fragment->last_active_time_ticks.Set(
last_active_time_ticks_fragment.is_null() ? nullptr : last_active_time_ticks_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->last_active_time_ticks.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null last_active_time_ticks in Tab struct");
decltype(Traits::last_active_elapsed_text(input)) in_last_active_elapsed_text = Traits::last_active_elapsed_text(input);
mojo::internal::MessageFragment<
typename decltype(fragment->last_active_elapsed_text)::BaseType> last_active_elapsed_text_fragment(
fragment.message());
mojo::internal::Serialize<mojo::StringDataView>(
in_last_active_elapsed_text, last_active_elapsed_text_fragment);
fragment->last_active_elapsed_text.Set(
last_active_elapsed_text_fragment.is_null() ? nullptr : last_active_elapsed_text_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->last_active_elapsed_text.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null last_active_elapsed_text in Tab struct");
}
static bool Deserialize(::tab_search::mojom::internal::Tab_Data* input,
UserType* output,
Message* message) {
if (!input)
return CallSetToNullIfExists<Traits>(output);
::tab_search::mojom::TabDataView data_view(input, message);
return Traits::Read(data_view, output);
}
};
} // namespace internal
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::tab_search::mojom::RecentlyClosedTabDataView, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = StructTraits<::tab_search::mojom::RecentlyClosedTabDataView, UserType>;
static void Serialize(
MaybeConstUserType& input,
mojo::internal::MessageFragment<::tab_search::mojom::internal::RecentlyClosedTab_Data>& fragment) {
if (CallIsNullIfExists<Traits>(input))
return;
fragment.Allocate();
fragment->tab_id = Traits::tab_id(input);
decltype(Traits::group_id(input)) in_group_id = Traits::group_id(input);
mojo::internal::MessageFragment<
typename decltype(fragment->group_id)::BaseType> group_id_fragment(
fragment.message());
mojo::internal::Serialize<::mojo_base::mojom::TokenDataView>(
in_group_id, group_id_fragment);
fragment->group_id.Set(
group_id_fragment.is_null() ? nullptr : group_id_fragment.data());
decltype(Traits::title(input)) in_title = Traits::title(input);
mojo::internal::MessageFragment<
typename decltype(fragment->title)::BaseType> title_fragment(
fragment.message());
mojo::internal::Serialize<mojo::StringDataView>(
in_title, title_fragment);
fragment->title.Set(
title_fragment.is_null() ? nullptr : title_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->title.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null title in RecentlyClosedTab struct");
decltype(Traits::url(input)) in_url = Traits::url(input);
mojo::internal::MessageFragment<
typename decltype(fragment->url)::BaseType> url_fragment(
fragment.message());
mojo::internal::Serialize<::url::mojom::UrlDataView>(
in_url, url_fragment);
fragment->url.Set(
url_fragment.is_null() ? nullptr : url_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->url.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null url in RecentlyClosedTab struct");
decltype(Traits::last_active_time(input)) in_last_active_time = Traits::last_active_time(input);
mojo::internal::MessageFragment<
typename decltype(fragment->last_active_time)::BaseType> last_active_time_fragment(
fragment.message());
mojo::internal::Serialize<::mojo_base::mojom::TimeDataView>(
in_last_active_time, last_active_time_fragment);
fragment->last_active_time.Set(
last_active_time_fragment.is_null() ? nullptr : last_active_time_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->last_active_time.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null last_active_time in RecentlyClosedTab struct");
decltype(Traits::last_active_elapsed_text(input)) in_last_active_elapsed_text = Traits::last_active_elapsed_text(input);
mojo::internal::MessageFragment<
typename decltype(fragment->last_active_elapsed_text)::BaseType> last_active_elapsed_text_fragment(
fragment.message());
mojo::internal::Serialize<mojo::StringDataView>(
in_last_active_elapsed_text, last_active_elapsed_text_fragment);
fragment->last_active_elapsed_text.Set(
last_active_elapsed_text_fragment.is_null() ? nullptr : last_active_elapsed_text_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->last_active_elapsed_text.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null last_active_elapsed_text in RecentlyClosedTab struct");
}
static bool Deserialize(::tab_search::mojom::internal::RecentlyClosedTab_Data* input,
UserType* output,
Message* message) {
if (!input)
return CallSetToNullIfExists<Traits>(output);
::tab_search::mojom::RecentlyClosedTabDataView data_view(input, message);
return Traits::Read(data_view, output);
}
};
} // namespace internal
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::tab_search::mojom::TabGroupDataView, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = StructTraits<::tab_search::mojom::TabGroupDataView, UserType>;
static void Serialize(
MaybeConstUserType& input,
mojo::internal::MessageFragment<::tab_search::mojom::internal::TabGroup_Data>& fragment) {
if (CallIsNullIfExists<Traits>(input))
return;
fragment.Allocate();
decltype(Traits::id(input)) in_id = Traits::id(input);
mojo::internal::MessageFragment<
typename decltype(fragment->id)::BaseType> id_fragment(
fragment.message());
mojo::internal::Serialize<::mojo_base::mojom::TokenDataView>(
in_id, id_fragment);
fragment->id.Set(
id_fragment.is_null() ? nullptr : id_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->id.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null id in TabGroup struct");
mojo::internal::Serialize<::tab_groups::mojom::Color>(
Traits::color(input), &fragment->color);
decltype(Traits::title(input)) in_title = Traits::title(input);
mojo::internal::MessageFragment<
typename decltype(fragment->title)::BaseType> title_fragment(
fragment.message());
mojo::internal::Serialize<mojo::StringDataView>(
in_title, title_fragment);
fragment->title.Set(
title_fragment.is_null() ? nullptr : title_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->title.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null title in TabGroup struct");
}
static bool Deserialize(::tab_search::mojom::internal::TabGroup_Data* input,
UserType* output,
Message* message) {
if (!input)
return CallSetToNullIfExists<Traits>(output);
::tab_search::mojom::TabGroupDataView data_view(input, message);
return Traits::Read(data_view, output);
}
};
} // namespace internal
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::tab_search::mojom::RecentlyClosedTabGroupDataView, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = StructTraits<::tab_search::mojom::RecentlyClosedTabGroupDataView, UserType>;
static void Serialize(
MaybeConstUserType& input,
mojo::internal::MessageFragment<::tab_search::mojom::internal::RecentlyClosedTabGroup_Data>& fragment) {
if (CallIsNullIfExists<Traits>(input))
return;
fragment.Allocate();
fragment->session_id = Traits::session_id(input);
decltype(Traits::id(input)) in_id = Traits::id(input);
mojo::internal::MessageFragment<
typename decltype(fragment->id)::BaseType> id_fragment(
fragment.message());
mojo::internal::Serialize<::mojo_base::mojom::TokenDataView>(
in_id, id_fragment);
fragment->id.Set(
id_fragment.is_null() ? nullptr : id_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->id.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null id in RecentlyClosedTabGroup struct");
mojo::internal::Serialize<::tab_groups::mojom::Color>(
Traits::color(input), &fragment->color);
decltype(Traits::title(input)) in_title = Traits::title(input);
mojo::internal::MessageFragment<
typename decltype(fragment->title)::BaseType> title_fragment(
fragment.message());
mojo::internal::Serialize<mojo::StringDataView>(
in_title, title_fragment);
fragment->title.Set(
title_fragment.is_null() ? nullptr : title_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->title.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null title in RecentlyClosedTabGroup struct");
fragment->tab_count = Traits::tab_count(input);
decltype(Traits::last_active_time(input)) in_last_active_time = Traits::last_active_time(input);
mojo::internal::MessageFragment<
typename decltype(fragment->last_active_time)::BaseType> last_active_time_fragment(
fragment.message());
mojo::internal::Serialize<::mojo_base::mojom::TimeDataView>(
in_last_active_time, last_active_time_fragment);
fragment->last_active_time.Set(
last_active_time_fragment.is_null() ? nullptr : last_active_time_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->last_active_time.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null last_active_time in RecentlyClosedTabGroup struct");
decltype(Traits::last_active_elapsed_text(input)) in_last_active_elapsed_text = Traits::last_active_elapsed_text(input);
mojo::internal::MessageFragment<
typename decltype(fragment->last_active_elapsed_text)::BaseType> last_active_elapsed_text_fragment(
fragment.message());
mojo::internal::Serialize<mojo::StringDataView>(
in_last_active_elapsed_text, last_active_elapsed_text_fragment);
fragment->last_active_elapsed_text.Set(
last_active_elapsed_text_fragment.is_null() ? nullptr : last_active_elapsed_text_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->last_active_elapsed_text.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null last_active_elapsed_text in RecentlyClosedTabGroup struct");
}
static bool Deserialize(::tab_search::mojom::internal::RecentlyClosedTabGroup_Data* input,
UserType* output,
Message* message) {
if (!input)
return CallSetToNullIfExists<Traits>(output);
::tab_search::mojom::RecentlyClosedTabGroupDataView data_view(input, message);
return Traits::Read(data_view, output);
}
};
} // namespace internal
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::tab_search::mojom::SwitchToTabInfoDataView, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = StructTraits<::tab_search::mojom::SwitchToTabInfoDataView, UserType>;
static void Serialize(
MaybeConstUserType& input,
mojo::internal::MessageFragment<::tab_search::mojom::internal::SwitchToTabInfo_Data>& fragment) {
if (CallIsNullIfExists<Traits>(input))
return;
fragment.Allocate();
fragment->tab_id = Traits::tab_id(input);
}
static bool Deserialize(::tab_search::mojom::internal::SwitchToTabInfo_Data* input,
UserType* output,
Message* message) {
if (!input)
return CallSetToNullIfExists<Traits>(output);
::tab_search::mojom::SwitchToTabInfoDataView data_view(input, message);
return Traits::Read(data_view, output);
}
};
} // namespace internal
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::tab_search::mojom::TabUpdateInfoDataView, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = StructTraits<::tab_search::mojom::TabUpdateInfoDataView, UserType>;
static void Serialize(
MaybeConstUserType& input,
mojo::internal::MessageFragment<::tab_search::mojom::internal::TabUpdateInfo_Data>& fragment) {
if (CallIsNullIfExists<Traits>(input))
return;
fragment.Allocate();
fragment->in_active_window = Traits::in_active_window(input);
decltype(Traits::tab(input)) in_tab = Traits::tab(input);
mojo::internal::MessageFragment<
typename decltype(fragment->tab)::BaseType> tab_fragment(
fragment.message());
mojo::internal::Serialize<::tab_search::mojom::TabDataView>(
in_tab, tab_fragment);
fragment->tab.Set(
tab_fragment.is_null() ? nullptr : tab_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->tab.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null tab in TabUpdateInfo struct");
}
static bool Deserialize(::tab_search::mojom::internal::TabUpdateInfo_Data* input,
UserType* output,
Message* message) {
if (!input)
return CallSetToNullIfExists<Traits>(output);
::tab_search::mojom::TabUpdateInfoDataView data_view(input, message);
return Traits::Read(data_view, output);
}
};
} // namespace internal
namespace internal {
template <typename MaybeConstUserType>
struct Serializer<::tab_search::mojom::TabsRemovedInfoDataView, MaybeConstUserType> {
using UserType = typename std::remove_const<MaybeConstUserType>::type;
using Traits = StructTraits<::tab_search::mojom::TabsRemovedInfoDataView, UserType>;
static void Serialize(
MaybeConstUserType& input,
mojo::internal::MessageFragment<::tab_search::mojom::internal::TabsRemovedInfo_Data>& fragment) {
if (CallIsNullIfExists<Traits>(input))
return;
fragment.Allocate();
decltype(Traits::tab_ids(input)) in_tab_ids = Traits::tab_ids(input);
mojo::internal::MessageFragment<
typename decltype(fragment->tab_ids)::BaseType>
tab_ids_fragment(fragment.message());
const mojo::internal::ContainerValidateParams tab_ids_validate_params(
0, false, nullptr);
mojo::internal::Serialize<mojo::ArrayDataView<int32_t>>(
in_tab_ids, tab_ids_fragment, &tab_ids_validate_params);
fragment->tab_ids.Set(
tab_ids_fragment.is_null() ? nullptr : tab_ids_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->tab_ids.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null tab_ids in TabsRemovedInfo struct");
decltype(Traits::recently_closed_tabs(input)) in_recently_closed_tabs = Traits::recently_closed_tabs(input);
mojo::internal::MessageFragment<
typename decltype(fragment->recently_closed_tabs)::BaseType>
recently_closed_tabs_fragment(fragment.message());
const mojo::internal::ContainerValidateParams recently_closed_tabs_validate_params(
0, false, nullptr);
mojo::internal::Serialize<mojo::ArrayDataView<::tab_search::mojom::RecentlyClosedTabDataView>>(
in_recently_closed_tabs, recently_closed_tabs_fragment, &recently_closed_tabs_validate_params);
fragment->recently_closed_tabs.Set(
recently_closed_tabs_fragment.is_null() ? nullptr : recently_closed_tabs_fragment.data());
MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
fragment->recently_closed_tabs.is_null(),
mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
"null recently_closed_tabs in TabsRemovedInfo struct");
}
static bool Deserialize(::tab_search::mojom::internal::TabsRemovedInfo_Data* input,
UserType* output,
Message* message) {
if (!input)
return CallSetToNullIfExists<Traits>(output);
::tab_search::mojom::TabsRemovedInfoDataView data_view(input, message);
return Traits::Read(data_view, output);
}
};
} // namespace internal
} // namespace mojo
namespace tab_search {
namespace mojom {
inline void ProfileDataDataView::GetWindowsDataView(
mojo::ArrayDataView<WindowDataView>* output) {
auto pointer = data_->windows.Get();
*output = mojo::ArrayDataView<WindowDataView>(pointer, message_);
}
inline void ProfileDataDataView::GetTabGroupsDataView(
mojo::ArrayDataView<TabGroupDataView>* output) {
auto pointer = data_->tab_groups.Get();
*output = mojo::ArrayDataView<TabGroupDataView>(pointer, message_);
}
inline void ProfileDataDataView::GetRecentlyClosedTabsDataView(
mojo::ArrayDataView<RecentlyClosedTabDataView>* output) {
auto pointer = data_->recently_closed_tabs.Get();
*output = mojo::ArrayDataView<RecentlyClosedTabDataView>(pointer, message_);
}
inline void ProfileDataDataView::GetRecentlyClosedTabGroupsDataView(
mojo::ArrayDataView<RecentlyClosedTabGroupDataView>* output) {
auto pointer = data_->recently_closed_tab_groups.Get();
*output = mojo::ArrayDataView<RecentlyClosedTabGroupDataView>(pointer, message_);
}
inline void WindowDataView::GetTabsDataView(
mojo::ArrayDataView<TabDataView>* output) {
auto pointer = data_->tabs.Get();
*output = mojo::ArrayDataView<TabDataView>(pointer, message_);
}
inline void TabDataView::GetAlertStatesDataView(
mojo::ArrayDataView<::tabs::mojom::TabAlertState>* output) {
auto pointer = data_->alert_states.Get();
*output = mojo::ArrayDataView<::tabs::mojom::TabAlertState>(pointer, message_);
}
inline void TabDataView::GetGroupIdDataView(
::mojo_base::mojom::TokenDataView* output) {
auto pointer = data_->group_id.Get();
*output = ::mojo_base::mojom::TokenDataView(pointer, message_);
}
inline void TabDataView::GetTitleDataView(
mojo::StringDataView* output) {
auto pointer = data_->title.Get();
*output = mojo::StringDataView(pointer, message_);
}
inline void TabDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) {
auto pointer = data_->url.Get();
*output = ::url::mojom::UrlDataView(pointer, message_);
}
inline void TabDataView::GetFaviconUrlDataView(
::url::mojom::UrlDataView* output) {
auto pointer = data_->favicon_url.Get();
*output = ::url::mojom::UrlDataView(pointer, message_);
}
inline void TabDataView::GetLastActiveTimeTicksDataView(
::mojo_base::mojom::TimeTicksDataView* output) {
auto pointer = data_->last_active_time_ticks.Get();
*output = ::mojo_base::mojom::TimeTicksDataView(pointer, message_);
}
inline void TabDataView::GetLastActiveElapsedTextDataView(
mojo::StringDataView* output) {
auto pointer = data_->last_active_elapsed_text.Get();
*output = mojo::StringDataView(pointer, message_);
}
inline void RecentlyClosedTabDataView::GetGroupIdDataView(
::mojo_base::mojom::TokenDataView* output) {
auto pointer = data_->group_id.Get();
*output = ::mojo_base::mojom::TokenDataView(pointer, message_);
}
inline void RecentlyClosedTabDataView::GetTitleDataView(
mojo::StringDataView* output) {
auto pointer = data_->title.Get();
*output = mojo::StringDataView(pointer, message_);
}
inline void RecentlyClosedTabDataView::GetUrlDataView(
::url::mojom::UrlDataView* output) {
auto pointer = data_->url.Get();
*output = ::url::mojom::UrlDataView(pointer, message_);
}
inline void RecentlyClosedTabDataView::GetLastActiveTimeDataView(
::mojo_base::mojom::TimeDataView* output) {
auto pointer = data_->last_active_time.Get();
*output = ::mojo_base::mojom::TimeDataView(pointer, message_);
}
inline void RecentlyClosedTabDataView::GetLastActiveElapsedTextDataView(
mojo::StringDataView* output) {
auto pointer = data_->last_active_elapsed_text.Get();
*output = mojo::StringDataView(pointer, message_);
}
inline void TabGroupDataView::GetIdDataView(
::mojo_base::mojom::TokenDataView* output) {
auto pointer = data_->id.Get();
*output = ::mojo_base::mojom::TokenDataView(pointer, message_);
}
inline void TabGroupDataView::GetTitleDataView(
mojo::StringDataView* output) {
auto pointer = data_->title.Get();
*output = mojo::StringDataView(pointer, message_);
}
inline void RecentlyClosedTabGroupDataView::GetIdDataView(
::mojo_base::mojom::TokenDataView* output) {
auto pointer = data_->id.Get();
*output = ::mojo_base::mojom::TokenDataView(pointer, message_);
}
inline void RecentlyClosedTabGroupDataView::GetTitleDataView(
mojo::StringDataView* output) {
auto pointer = data_->title.Get();
*output = mojo::StringDataView(pointer, message_);
}
inline void RecentlyClosedTabGroupDataView::GetLastActiveTimeDataView(
::mojo_base::mojom::TimeDataView* output) {
auto pointer = data_->last_active_time.Get();
*output = ::mojo_base::mojom::TimeDataView(pointer, message_);
}
inline void RecentlyClosedTabGroupDataView::GetLastActiveElapsedTextDataView(
mojo::StringDataView* output) {
auto pointer = data_->last_active_elapsed_text.Get();
*output = mojo::StringDataView(pointer, message_);
}
inline void TabUpdateInfoDataView::GetTabDataView(
TabDataView* output) {
auto pointer = data_->tab.Get();
*output = TabDataView(pointer, message_);
}
inline void TabsRemovedInfoDataView::GetTabIdsDataView(
mojo::ArrayDataView<int32_t>* output) {
auto pointer = data_->tab_ids.Get();
*output = mojo::ArrayDataView<int32_t>(pointer, message_);
}
inline void TabsRemovedInfoDataView::GetRecentlyClosedTabsDataView(
mojo::ArrayDataView<RecentlyClosedTabDataView>* output) {
auto pointer = data_->recently_closed_tabs.Get();
*output = mojo::ArrayDataView<RecentlyClosedTabDataView>(pointer, message_);
}
} // namespace mojom
} // namespace tab_search
// Declare TraceFormatTraits for enums, which should be defined in ::perfetto
// namespace.
#endif // CHROME_BROWSER_UI_WEBUI_TAB_SEARCH_TAB_SEARCH_MOJOM_SHARED_H_
/* Metadata comment
eyJtZXRhIjogW10sICJ0eXBlIjogImt5dGhlMCJ9
*/