| // 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 |
| */ |