#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "chrome/browser/ui/webui/tab_strip/tab_strip.mojom.h"
#include <math.h>
#include <stdint.h>
#include <utility>
#include "base/debug/alias.h"
#include "base/hash/md5_constexpr.h"
#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/thread_pool/thread_pool_instance.h"
#include "base/trace_event/trace_event.h"
#include "base/trace_event/typed_macros.h"
#include "mojo/public/cpp/bindings/features.h"
#include "mojo/public/cpp/bindings/lib/default_construct_tag_internal.h"
#include "mojo/public/cpp/bindings/lib/generated_code_util.h"
#include "mojo/public/cpp/bindings/lib/message_internal.h"
#include "mojo/public/cpp/bindings/lib/proxy_to_responder.h"
#include "mojo/public/cpp/bindings/lib/send_message_helper.h"
#include "mojo/public/cpp/bindings/lib/serialization_util.h"
#include "mojo/public/cpp/bindings/lib/unserialized_message_context.h"
#include "mojo/public/cpp/bindings/lib/validate_params.h"
#include "mojo/public/cpp/bindings/lib/validation_errors.h"
#include "mojo/public/cpp/bindings/mojo_buildflags.h"
#include "mojo/public/cpp/bindings/urgent_message_scope.h"
#include "mojo/public/interfaces/bindings/interface_control_messages.mojom.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"
#include "chrome/browser/ui/webui/tab_strip/tab_strip.mojom-params-data.h"
#include "chrome/browser/ui/webui/tab_strip/tab_strip.mojom-shared-message-ids.h"
#include "chrome/browser/ui/webui/tab_strip/tab_strip.mojom-import-headers.h"
#include "chrome/browser/ui/webui/tab_strip/tab_strip.mojom-test-utils.h"
namespace tab_strip::mojom {
Tab::Tab()
: … { … }
Tab::Tab(
bool active_in,
std::vector<::TabAlertState> alert_states_in,
bool blocked_in,
bool crashed_in,
const std::optional<::GURL>& favicon_url_in,
const std::optional<::GURL>& active_favicon_url_in,
const std::optional<std::string>& group_id_in,
int32_t id_in,
int32_t index_in,
bool is_default_favicon_in,
::TabNetworkState network_state_in,
bool pinned_in,
bool should_hide_throbber_in,
bool show_icon_in,
const std::string& title_in,
const ::GURL& url_in)
: … { … }
Tab::~Tab() = default;
void Tab::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool Tab::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
TabGroupVisualData::TabGroupVisualData()
: … { … }
TabGroupVisualData::TabGroupVisualData(
const std::string& color_in,
const std::string& text_color_in,
const std::string& title_in)
: … { … }
TabGroupVisualData::~TabGroupVisualData() = default;
size_t TabGroupVisualData::Hash(size_t seed) const { … }
void TabGroupVisualData::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool TabGroupVisualData::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
const char PageHandlerFactory::Name_[] = …;
PageHandlerFactory::IPCStableHashFunction PageHandlerFactory::MessageToMethodInfo_(mojo::Message& message) { … }
const char* PageHandlerFactory::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t PageHandlerFactory::CreatePageHandler_Sym::IPCStableHash() { … }
# endif
PageHandlerFactoryProxy::PageHandlerFactoryProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void PageHandlerFactoryProxy::CreatePageHandler(
::mojo::PendingRemote<Page> in_page, ::mojo::PendingReceiver<PageHandler> in_handler) { … }
bool PageHandlerFactoryStubDispatch::Accept(
PageHandlerFactory* impl,
mojo::Message* message) { … }
bool PageHandlerFactoryStubDispatch::AcceptWithResponder(
PageHandlerFactory* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kPageHandlerFactoryValidationInfo[] = …;
bool PageHandlerFactoryRequestValidator::Accept(mojo::Message* message) { … }
const char PageHandler::Name_[] = …;
PageHandler::IPCStableHashFunction PageHandler::MessageToMethodInfo_(mojo::Message& message) { … }
const char* PageHandler::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t PageHandler::GetGroupVisualData_Sym::IPCStableHash() { … }
uint32_t PageHandler::GetTabs_Sym::IPCStableHash() { … }
uint32_t PageHandler::CloseTab_Sym::IPCStableHash() { … }
uint32_t PageHandler::GroupTab_Sym::IPCStableHash() { … }
uint32_t PageHandler::MoveGroup_Sym::IPCStableHash() { … }
uint32_t PageHandler::MoveTab_Sym::IPCStableHash() { … }
uint32_t PageHandler::SetThumbnailTracked_Sym::IPCStableHash() { … }
uint32_t PageHandler::UngroupTab_Sym::IPCStableHash() { … }
uint32_t PageHandler::GetLayout_Sym::IPCStableHash() { … }
uint32_t PageHandler::ShowEditDialogForGroup_Sym::IPCStableHash() { … }
uint32_t PageHandler::ShowTabContextMenu_Sym::IPCStableHash() { … }
uint32_t PageHandler::ShowBackgroundContextMenu_Sym::IPCStableHash() { … }
uint32_t PageHandler::CloseContainer_Sym::IPCStableHash() { … }
uint32_t PageHandler::ReportTabActivationDuration_Sym::IPCStableHash() { … }
uint32_t PageHandler::ReportTabDataReceivedDuration_Sym::IPCStableHash() { … }
uint32_t PageHandler::ReportTabCreationDuration_Sym::IPCStableHash() { … }
uint32_t PageHandler::ActivateTab_Sym::IPCStableHash() { … }
# endif
class PageHandler_GetGroupVisualData_ForwardToCallback
: public mojo::MessageReceiver { … };
class PageHandler_GetTabs_ForwardToCallback
: public mojo::MessageReceiver { … };
class PageHandler_GetLayout_ForwardToCallback
: public mojo::MessageReceiver { … };
PageHandlerProxy::PageHandlerProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void PageHandlerProxy::GetGroupVisualData(
GetGroupVisualDataCallback callback) { … }
void PageHandlerProxy::GetTabs(
GetTabsCallback callback) { … }
void PageHandlerProxy::CloseTab(
int32_t in_tab_id, bool in_tab_was_swiped) { … }
void PageHandlerProxy::GroupTab(
int32_t in_tab_id, const std::string& in_group_id) { … }
void PageHandlerProxy::MoveGroup(
const std::string& in_group_id, int32_t in_to_index) { … }
void PageHandlerProxy::MoveTab(
int32_t in_tab_id, int32_t in_to_index) { … }
void PageHandlerProxy::SetThumbnailTracked(
int32_t in_tab_id, bool in_thumbnail_tracked) { … }
void PageHandlerProxy::UngroupTab(
int32_t in_tab_id) { … }
void PageHandlerProxy::GetLayout(
GetLayoutCallback callback) { … }
void PageHandlerProxy::ShowEditDialogForGroup(
const std::string& in_group_id, int32_t in_location_x, int32_t in_location_y, int32_t in_width, int32_t in_height) { … }
void PageHandlerProxy::ShowTabContextMenu(
int32_t in_tab_id, int32_t in_location_x, int32_t in_location_y) { … }
void PageHandlerProxy::ShowBackgroundContextMenu(
int32_t in_location_x, int32_t in_location_y) { … }
void PageHandlerProxy::CloseContainer(
) { … }
void PageHandlerProxy::ReportTabActivationDuration(
uint32_t in_duration_ms) { … }
void PageHandlerProxy::ReportTabDataReceivedDuration(
uint32_t in_tab_count, uint32_t in_duration_ms) { … }
void PageHandlerProxy::ReportTabCreationDuration(
uint32_t in_tab_count, uint32_t in_duration_ms) { … }
void PageHandlerProxy::ActivateTab(
int32_t in_tab_id) { … }
class PageHandler_GetGroupVisualData_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool PageHandler_GetGroupVisualData_ForwardToCallback::Accept(
mojo::Message* message) { … }
void PageHandler_GetGroupVisualData_ProxyToResponder::Run(
base::flat_map<std::string, TabGroupVisualDataPtr> in_data) { … }
class PageHandler_GetTabs_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool PageHandler_GetTabs_ForwardToCallback::Accept(
mojo::Message* message) { … }
void PageHandler_GetTabs_ProxyToResponder::Run(
std::vector<TabPtr> in_tabs) { … }
class PageHandler_GetLayout_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool PageHandler_GetLayout_ForwardToCallback::Accept(
mojo::Message* message) { … }
void PageHandler_GetLayout_ProxyToResponder::Run(
const base::flat_map<std::string, std::string>& in_layout) { … }
bool PageHandlerStubDispatch::Accept(
PageHandler* impl,
mojo::Message* message) { … }
bool PageHandlerStubDispatch::AcceptWithResponder(
PageHandler* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kPageHandlerValidationInfo[] = …;
bool PageHandlerRequestValidator::Accept(mojo::Message* message) { … }
bool PageHandlerResponseValidator::Accept(mojo::Message* message) { … }
const char Page::Name_[] = …;
Page::IPCStableHashFunction Page::MessageToMethodInfo_(mojo::Message& message) { … }
const char* Page::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t Page::LayoutChanged_Sym::IPCStableHash() { … }
uint32_t Page::ReceivedKeyboardFocus_Sym::IPCStableHash() { … }
uint32_t Page::ContextMenuClosed_Sym::IPCStableHash() { … }
uint32_t Page::LongPress_Sym::IPCStableHash() { … }
uint32_t Page::TabGroupVisualsChanged_Sym::IPCStableHash() { … }
uint32_t Page::TabGroupMoved_Sym::IPCStableHash() { … }
uint32_t Page::TabGroupClosed_Sym::IPCStableHash() { … }
uint32_t Page::TabGroupStateChanged_Sym::IPCStableHash() { … }
uint32_t Page::TabCloseCancelled_Sym::IPCStableHash() { … }
uint32_t Page::TabCreated_Sym::IPCStableHash() { … }
uint32_t Page::TabRemoved_Sym::IPCStableHash() { … }
uint32_t Page::TabMoved_Sym::IPCStableHash() { … }
uint32_t Page::TabReplaced_Sym::IPCStableHash() { … }
uint32_t Page::TabActiveChanged_Sym::IPCStableHash() { … }
uint32_t Page::TabUpdated_Sym::IPCStableHash() { … }
uint32_t Page::TabThumbnailUpdated_Sym::IPCStableHash() { … }
uint32_t Page::ShowContextMenu_Sym::IPCStableHash() { … }
uint32_t Page::ThemeChanged_Sym::IPCStableHash() { … }
# endif
PageProxy::PageProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void PageProxy::LayoutChanged(
const base::flat_map<std::string, std::string>& in_layout) { … }
void PageProxy::ReceivedKeyboardFocus(
) { … }
void PageProxy::ContextMenuClosed(
) { … }
void PageProxy::LongPress(
) { … }
void PageProxy::TabGroupVisualsChanged(
const std::string& in_group_id, TabGroupVisualDataPtr in_tab_group) { … }
void PageProxy::TabGroupMoved(
const std::string& in_group_id, int32_t in_index) { … }
void PageProxy::TabGroupClosed(
const std::string& in_group_id) { … }
void PageProxy::TabGroupStateChanged(
int32_t in_tab_id, int32_t in_index, const std::optional<std::string>& in_group_id) { … }
void PageProxy::TabCloseCancelled(
int32_t in_tab_id) { … }
void PageProxy::TabCreated(
TabPtr in_tab) { … }
void PageProxy::TabRemoved(
int32_t in_tab_id) { … }
void PageProxy::TabMoved(
int32_t in_tab_id, int32_t in_to_index, bool in_in_pinned) { … }
void PageProxy::TabReplaced(
int32_t in_tab_id, int32_t in_new_tab_id) { … }
void PageProxy::TabActiveChanged(
int32_t in_tab_id) { … }
void PageProxy::TabUpdated(
TabPtr in_tab) { … }
void PageProxy::TabThumbnailUpdated(
int32_t in_tab_id, const std::string& in_data_uri) { … }
void PageProxy::ShowContextMenu(
) { … }
void PageProxy::ThemeChanged(
) { … }
bool PageStubDispatch::Accept(
Page* impl,
mojo::Message* message) { … }
bool PageStubDispatch::AcceptWithResponder(
Page* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kPageValidationInfo[] = …;
bool PageRequestValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
bool StructTraits<::tab_strip::mojom::Tab::DataView, ::tab_strip::mojom::TabPtr>::Read(
::tab_strip::mojom::Tab::DataView input,
::tab_strip::mojom::TabPtr* output) { … }
bool StructTraits<::tab_strip::mojom::TabGroupVisualData::DataView, ::tab_strip::mojom::TabGroupVisualDataPtr>::Read(
::tab_strip::mojom::TabGroupVisualData::DataView input,
::tab_strip::mojom::TabGroupVisualDataPtr* output) { … }
}
namespace tab_strip::mojom {
void PageHandlerFactoryInterceptorForTesting::CreatePageHandler(::mojo::PendingRemote<Page> page, ::mojo::PendingReceiver<PageHandler> handler) { … }
PageHandlerFactoryAsyncWaiter::PageHandlerFactoryAsyncWaiter(
PageHandlerFactory* proxy) : … { … }
PageHandlerFactoryAsyncWaiter::~PageHandlerFactoryAsyncWaiter() = default;
void PageHandlerInterceptorForTesting::GetGroupVisualData(GetGroupVisualDataCallback callback) { … }
void PageHandlerInterceptorForTesting::GetTabs(GetTabsCallback callback) { … }
void PageHandlerInterceptorForTesting::CloseTab(int32_t tab_id, bool tab_was_swiped) { … }
void PageHandlerInterceptorForTesting::GroupTab(int32_t tab_id, const std::string& group_id) { … }
void PageHandlerInterceptorForTesting::MoveGroup(const std::string& group_id, int32_t to_index) { … }
void PageHandlerInterceptorForTesting::MoveTab(int32_t tab_id, int32_t to_index) { … }
void PageHandlerInterceptorForTesting::SetThumbnailTracked(int32_t tab_id, bool thumbnail_tracked) { … }
void PageHandlerInterceptorForTesting::UngroupTab(int32_t tab_id) { … }
void PageHandlerInterceptorForTesting::GetLayout(GetLayoutCallback callback) { … }
void PageHandlerInterceptorForTesting::ShowEditDialogForGroup(const std::string& group_id, int32_t location_x, int32_t location_y, int32_t width, int32_t height) { … }
void PageHandlerInterceptorForTesting::ShowTabContextMenu(int32_t tab_id, int32_t location_x, int32_t location_y) { … }
void PageHandlerInterceptorForTesting::ShowBackgroundContextMenu(int32_t location_x, int32_t location_y) { … }
void PageHandlerInterceptorForTesting::CloseContainer() { … }
void PageHandlerInterceptorForTesting::ReportTabActivationDuration(uint32_t duration_ms) { … }
void PageHandlerInterceptorForTesting::ReportTabDataReceivedDuration(uint32_t tab_count, uint32_t duration_ms) { … }
void PageHandlerInterceptorForTesting::ReportTabCreationDuration(uint32_t tab_count, uint32_t duration_ms) { … }
void PageHandlerInterceptorForTesting::ActivateTab(int32_t tab_id) { … }
PageHandlerAsyncWaiter::PageHandlerAsyncWaiter(
PageHandler* proxy) : … { … }
PageHandlerAsyncWaiter::~PageHandlerAsyncWaiter() = default;
void PageHandlerAsyncWaiter::GetGroupVisualData(
base::flat_map<std::string, TabGroupVisualDataPtr>* out_data) { … }
base::flat_map<std::string, TabGroupVisualDataPtr> PageHandlerAsyncWaiter::GetGroupVisualData(
) { … }
void PageHandlerAsyncWaiter::GetTabs(
std::vector<TabPtr>* out_tabs) { … }
std::vector<TabPtr> PageHandlerAsyncWaiter::GetTabs(
) { … }
void PageHandlerAsyncWaiter::GetLayout(
base::flat_map<std::string, std::string>* out_layout) { … }
base::flat_map<std::string, std::string> PageHandlerAsyncWaiter::GetLayout(
) { … }
void PageInterceptorForTesting::LayoutChanged(const base::flat_map<std::string, std::string>& layout) { … }
void PageInterceptorForTesting::ReceivedKeyboardFocus() { … }
void PageInterceptorForTesting::ContextMenuClosed() { … }
void PageInterceptorForTesting::LongPress() { … }
void PageInterceptorForTesting::TabGroupVisualsChanged(const std::string& group_id, TabGroupVisualDataPtr tab_group) { … }
void PageInterceptorForTesting::TabGroupMoved(const std::string& group_id, int32_t index) { … }
void PageInterceptorForTesting::TabGroupClosed(const std::string& group_id) { … }
void PageInterceptorForTesting::TabGroupStateChanged(int32_t tab_id, int32_t index, const std::optional<std::string>& group_id) { … }
void PageInterceptorForTesting::TabCloseCancelled(int32_t tab_id) { … }
void PageInterceptorForTesting::TabCreated(TabPtr tab) { … }
void PageInterceptorForTesting::TabRemoved(int32_t tab_id) { … }
void PageInterceptorForTesting::TabMoved(int32_t tab_id, int32_t to_index, bool in_pinned) { … }
void PageInterceptorForTesting::TabReplaced(int32_t tab_id, int32_t new_tab_id) { … }
void PageInterceptorForTesting::TabActiveChanged(int32_t tab_id) { … }
void PageInterceptorForTesting::TabUpdated(TabPtr tab) { … }
void PageInterceptorForTesting::TabThumbnailUpdated(int32_t tab_id, const std::string& data_uri) { … }
void PageInterceptorForTesting::ShowContextMenu() { … }
void PageInterceptorForTesting::ThemeChanged() { … }
PageAsyncWaiter::PageAsyncWaiter(
Page* proxy) : … { … }
PageAsyncWaiter::~PageAsyncWaiter() = default;
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif