#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "third_party/blink/public/mojom/widget/platform_widget.mojom-blink.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 "third_party/blink/public/mojom/widget/platform_widget.mojom-params-data.h"
#include "third_party/blink/public/mojom/widget/platform_widget.mojom-shared-message-ids.h"
#include "third_party/blink/public/mojom/widget/platform_widget.mojom-blink-import-headers.h"
#include "third_party/blink/public/mojom/widget/platform_widget.mojom-blink-test-utils.h"
#include "mojo/public/cpp/bindings/lib/wtf_serialization.h"
namespace blink::mojom::blink {
const char WidgetCompositor::Name_[] = …;
WidgetCompositor::IPCStableHashFunction WidgetCompositor::MessageToMethodInfo_(mojo::Message& message) { … }
const char* WidgetCompositor::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t WidgetCompositor::VisualStateRequest_Sym::IPCStableHash() { … }
# endif
class WidgetCompositor_VisualStateRequest_ForwardToCallback
: public mojo::MessageReceiver { … };
WidgetCompositorProxy::WidgetCompositorProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void WidgetCompositorProxy::VisualStateRequest(
VisualStateRequestCallback callback) { … }
class WidgetCompositor_VisualStateRequest_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool WidgetCompositor_VisualStateRequest_ForwardToCallback::Accept(
mojo::Message* message) { … }
void WidgetCompositor_VisualStateRequest_ProxyToResponder::Run(
) { … }
bool WidgetCompositorStubDispatch::Accept(
WidgetCompositor* impl,
mojo::Message* message) { … }
bool WidgetCompositorStubDispatch::AcceptWithResponder(
WidgetCompositor* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kWidgetCompositorValidationInfo[] = …;
bool WidgetCompositorRequestValidator::Accept(mojo::Message* message) { … }
bool WidgetCompositorResponseValidator::Accept(mojo::Message* message) { … }
const char WidgetHost::Name_[] = …;
WidgetHost::IPCStableHashFunction WidgetHost::MessageToMethodInfo_(mojo::Message& message) { … }
const char* WidgetHost::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t WidgetHost::SetCursor_Sym::IPCStableHash() { … }
uint32_t WidgetHost::UpdateTooltipUnderCursor_Sym::IPCStableHash() { … }
uint32_t WidgetHost::UpdateTooltipFromKeyboard_Sym::IPCStableHash() { … }
uint32_t WidgetHost::ClearKeyboardTriggeredTooltip_Sym::IPCStableHash() { … }
uint32_t WidgetHost::TextInputStateChanged_Sym::IPCStableHash() { … }
uint32_t WidgetHost::SelectionBoundsChanged_Sym::IPCStableHash() { … }
uint32_t WidgetHost::CreateFrameSink_Sym::IPCStableHash() { … }
uint32_t WidgetHost::RegisterRenderFrameMetadataObserver_Sym::IPCStableHash() { … }
# endif
WidgetHostProxy::WidgetHostProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void WidgetHostProxy::SetCursor(
const ::ui::Cursor& in_cursor) { … }
void WidgetHostProxy::UpdateTooltipUnderCursor(
const ::WTF::String& in_tooltip_text, ::base::i18n::TextDirection in_text_direction_hint) { … }
void WidgetHostProxy::UpdateTooltipFromKeyboard(
const ::WTF::String& in_tooltip_text, ::base::i18n::TextDirection in_text_direction_hint, const ::gfx::Rect& in_bounds) { … }
void WidgetHostProxy::ClearKeyboardTriggeredTooltip(
) { … }
void WidgetHostProxy::TextInputStateChanged(
::ui::mojom::blink::TextInputStatePtr in_state) { … }
void WidgetHostProxy::SelectionBoundsChanged(
const ::gfx::Rect& in_anchor_rect, ::base::i18n::TextDirection in_anchor_dir, const ::gfx::Rect& in_focus_rect, ::base::i18n::TextDirection in_focus_dir, const ::gfx::Rect& in_bounding_box_rect, bool in_is_anchor_first) { … }
void WidgetHostProxy::CreateFrameSink(
::mojo::PendingReceiver<::viz::mojom::blink::CompositorFrameSink> in_compositor_frame_sink_receiver, ::mojo::PendingRemote<::viz::mojom::blink::CompositorFrameSinkClient> in_compositor_frame_sink_client) { … }
void WidgetHostProxy::RegisterRenderFrameMetadataObserver(
::mojo::PendingReceiver<::cc::mojom::blink::RenderFrameMetadataObserverClient> in_render_frame_metadata_observer_client_receiver, ::mojo::PendingRemote<::cc::mojom::blink::RenderFrameMetadataObserver> in_render_frame_metadata_observer) { … }
bool WidgetHostStubDispatch::Accept(
WidgetHost* impl,
mojo::Message* message) { … }
bool WidgetHostStubDispatch::AcceptWithResponder(
WidgetHost* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kWidgetHostValidationInfo[] = …;
bool WidgetHostRequestValidator::Accept(mojo::Message* message) { … }
const char Widget::Name_[] = …;
Widget::IPCStableHashFunction Widget::MessageToMethodInfo_(mojo::Message& message) { … }
const char* Widget::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t Widget::ForceRedraw_Sym::IPCStableHash() { … }
uint32_t Widget::UpdateVisualProperties_Sym::IPCStableHash() { … }
uint32_t Widget::UpdateScreenRects_Sym::IPCStableHash() { … }
uint32_t Widget::WasHidden_Sym::IPCStableHash() { … }
uint32_t Widget::WasShown_Sym::IPCStableHash() { … }
uint32_t Widget::RequestSuccessfulPresentationTimeForNextFrame_Sym::IPCStableHash() { … }
uint32_t Widget::CancelSuccessfulPresentationTimeRequest_Sym::IPCStableHash() { … }
uint32_t Widget::SetupRenderInputRouterConnections_Sym::IPCStableHash() { … }
# endif
class Widget_ForceRedraw_ForwardToCallback
: public mojo::MessageReceiver { … };
class Widget_UpdateScreenRects_ForwardToCallback
: public mojo::MessageReceiver { … };
WidgetProxy::WidgetProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void WidgetProxy::ForceRedraw(
ForceRedrawCallback callback) { … }
void WidgetProxy::UpdateVisualProperties(
const ::blink::VisualProperties& in_visual_properties) { … }
void WidgetProxy::UpdateScreenRects(
const ::gfx::Rect& in_widget_screen_rect, const ::gfx::Rect& in_window_screen_rect, UpdateScreenRectsCallback callback) { … }
void WidgetProxy::WasHidden(
) { … }
void WidgetProxy::WasShown(
bool in_was_evicted, ::blink::mojom::blink::RecordContentToVisibleTimeRequestPtr in_record_tab_switch_time_request) { … }
void WidgetProxy::RequestSuccessfulPresentationTimeForNextFrame(
::blink::mojom::blink::RecordContentToVisibleTimeRequestPtr in_visible_time_request) { … }
void WidgetProxy::CancelSuccessfulPresentationTimeRequest(
) { … }
void WidgetProxy::SetupRenderInputRouterConnections(
::mojo::PendingReceiver<RenderInputRouterClient> in_browser_client, ::mojo::PendingReceiver<RenderInputRouterClient> in_viz_client) { … }
class Widget_ForceRedraw_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool Widget_ForceRedraw_ForwardToCallback::Accept(
mojo::Message* message) { … }
void Widget_ForceRedraw_ProxyToResponder::Run(
) { … }
class Widget_UpdateScreenRects_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool Widget_UpdateScreenRects_ForwardToCallback::Accept(
mojo::Message* message) { … }
void Widget_UpdateScreenRects_ProxyToResponder::Run(
) { … }
bool WidgetStubDispatch::Accept(
Widget* impl,
mojo::Message* message) { … }
bool WidgetStubDispatch::AcceptWithResponder(
Widget* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kWidgetValidationInfo[] = …;
bool WidgetRequestValidator::Accept(mojo::Message* message) { … }
bool WidgetResponseValidator::Accept(mojo::Message* message) { … }
const char RenderInputRouterClient::Name_[] = …;
RenderInputRouterClient::IPCStableHashFunction RenderInputRouterClient::MessageToMethodInfo_(mojo::Message& message) { … }
const char* RenderInputRouterClient::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t RenderInputRouterClient::GetWidgetInputHandler_Sym::IPCStableHash() { … }
uint32_t RenderInputRouterClient::ShowContextMenu_Sym::IPCStableHash() { … }
uint32_t RenderInputRouterClient::BindInputTargetClient_Sym::IPCStableHash() { … }
# endif
RenderInputRouterClientProxy::RenderInputRouterClientProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void RenderInputRouterClientProxy::GetWidgetInputHandler(
::mojo::PendingReceiver<::blink::mojom::blink::WidgetInputHandler> in_request, ::mojo::PendingRemote<::blink::mojom::blink::WidgetInputHandlerHost> in_host) { … }
void RenderInputRouterClientProxy::ShowContextMenu(
::ui::mojom::blink::MenuSourceType in_source_type, const ::gfx::Point& in_location) { … }
void RenderInputRouterClientProxy::BindInputTargetClient(
::mojo::PendingReceiver<::viz::mojom::blink::InputTargetClient> in_host) { … }
bool RenderInputRouterClientStubDispatch::Accept(
RenderInputRouterClient* impl,
mojo::Message* message) { … }
bool RenderInputRouterClientStubDispatch::AcceptWithResponder(
RenderInputRouterClient* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kRenderInputRouterClientValidationInfo[] = …;
bool RenderInputRouterClientRequestValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
}
namespace blink::mojom::blink {
void WidgetCompositorInterceptorForTesting::VisualStateRequest(VisualStateRequestCallback callback) { … }
WidgetCompositorAsyncWaiter::WidgetCompositorAsyncWaiter(
WidgetCompositor* proxy) : … { … }
WidgetCompositorAsyncWaiter::~WidgetCompositorAsyncWaiter() = default;
void WidgetCompositorAsyncWaiter::VisualStateRequest(
) { … }
void WidgetHostInterceptorForTesting::SetCursor(const ::ui::Cursor& cursor) { … }
void WidgetHostInterceptorForTesting::UpdateTooltipUnderCursor(const ::WTF::String& tooltip_text, ::base::i18n::TextDirection text_direction_hint) { … }
void WidgetHostInterceptorForTesting::UpdateTooltipFromKeyboard(const ::WTF::String& tooltip_text, ::base::i18n::TextDirection text_direction_hint, const ::gfx::Rect& bounds) { … }
void WidgetHostInterceptorForTesting::ClearKeyboardTriggeredTooltip() { … }
void WidgetHostInterceptorForTesting::TextInputStateChanged(::ui::mojom::blink::TextInputStatePtr state) { … }
void WidgetHostInterceptorForTesting::SelectionBoundsChanged(const ::gfx::Rect& anchor_rect, ::base::i18n::TextDirection anchor_dir, const ::gfx::Rect& focus_rect, ::base::i18n::TextDirection focus_dir, const ::gfx::Rect& bounding_box_rect, bool is_anchor_first) { … }
void WidgetHostInterceptorForTesting::CreateFrameSink(::mojo::PendingReceiver<::viz::mojom::blink::CompositorFrameSink> compositor_frame_sink_receiver, ::mojo::PendingRemote<::viz::mojom::blink::CompositorFrameSinkClient> compositor_frame_sink_client) { … }
void WidgetHostInterceptorForTesting::RegisterRenderFrameMetadataObserver(::mojo::PendingReceiver<::cc::mojom::blink::RenderFrameMetadataObserverClient> render_frame_metadata_observer_client_receiver, ::mojo::PendingRemote<::cc::mojom::blink::RenderFrameMetadataObserver> render_frame_metadata_observer) { … }
WidgetHostAsyncWaiter::WidgetHostAsyncWaiter(
WidgetHost* proxy) : … { … }
WidgetHostAsyncWaiter::~WidgetHostAsyncWaiter() = default;
void WidgetInterceptorForTesting::ForceRedraw(ForceRedrawCallback callback) { … }
void WidgetInterceptorForTesting::UpdateVisualProperties(const ::blink::VisualProperties& visual_properties) { … }
void WidgetInterceptorForTesting::UpdateScreenRects(const ::gfx::Rect& widget_screen_rect, const ::gfx::Rect& window_screen_rect, UpdateScreenRectsCallback callback) { … }
void WidgetInterceptorForTesting::WasHidden() { … }
void WidgetInterceptorForTesting::WasShown(bool was_evicted, ::blink::mojom::blink::RecordContentToVisibleTimeRequestPtr record_tab_switch_time_request) { … }
void WidgetInterceptorForTesting::RequestSuccessfulPresentationTimeForNextFrame(::blink::mojom::blink::RecordContentToVisibleTimeRequestPtr visible_time_request) { … }
void WidgetInterceptorForTesting::CancelSuccessfulPresentationTimeRequest() { … }
void WidgetInterceptorForTesting::SetupRenderInputRouterConnections(::mojo::PendingReceiver<RenderInputRouterClient> browser_client, ::mojo::PendingReceiver<RenderInputRouterClient> viz_client) { … }
WidgetAsyncWaiter::WidgetAsyncWaiter(
Widget* proxy) : … { … }
WidgetAsyncWaiter::~WidgetAsyncWaiter() = default;
void WidgetAsyncWaiter::ForceRedraw(
) { … }
void WidgetAsyncWaiter::UpdateScreenRects(
const ::gfx::Rect& widget_screen_rect, const ::gfx::Rect& window_screen_rect) { … }
void RenderInputRouterClientInterceptorForTesting::GetWidgetInputHandler(::mojo::PendingReceiver<::blink::mojom::blink::WidgetInputHandler> request, ::mojo::PendingRemote<::blink::mojom::blink::WidgetInputHandlerHost> host) { … }
void RenderInputRouterClientInterceptorForTesting::ShowContextMenu(::ui::mojom::blink::MenuSourceType source_type, const ::gfx::Point& location) { … }
void RenderInputRouterClientInterceptorForTesting::BindInputTargetClient(::mojo::PendingReceiver<::viz::mojom::blink::InputTargetClient> host) { … }
RenderInputRouterClientAsyncWaiter::RenderInputRouterClientAsyncWaiter(
RenderInputRouterClient* proxy) : … { … }
RenderInputRouterClientAsyncWaiter::~RenderInputRouterClientAsyncWaiter() = default;
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif