#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "third_party/blink/public/mojom/page/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/page/widget.mojom-params-data.h"
#include "third_party/blink/public/mojom/page/widget.mojom-shared-message-ids.h"
#include "third_party/blink/public/mojom/page/widget.mojom-blink-import-headers.h"
#include "third_party/blink/public/mojom/page/widget.mojom-blink-test-utils.h"
#include "mojo/public/cpp/bindings/lib/wtf_serialization.h"
namespace blink::mojom::blink {
const char FrameWidget::Name_[] = …;
FrameWidget::IPCStableHashFunction FrameWidget::MessageToMethodInfo_(mojo::Message& message) { … }
const char* FrameWidget::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t FrameWidget::DragTargetDragEnter_Sym::IPCStableHash() { … }
uint32_t FrameWidget::DragTargetDragOver_Sym::IPCStableHash() { … }
uint32_t FrameWidget::DragTargetDragLeave_Sym::IPCStableHash() { … }
uint32_t FrameWidget::DragTargetDrop_Sym::IPCStableHash() { … }
uint32_t FrameWidget::DragSourceEndedAt_Sym::IPCStableHash() { … }
uint32_t FrameWidget::DragSourceSystemDragEnded_Sym::IPCStableHash() { … }
uint32_t FrameWidget::OnStartStylusWriting_Sym::IPCStableHash() { … }
uint32_t FrameWidget::SetBackgroundOpaque_Sym::IPCStableHash() { … }
uint32_t FrameWidget::SetTextDirection_Sym::IPCStableHash() { … }
uint32_t FrameWidget::SetActive_Sym::IPCStableHash() { … }
uint32_t FrameWidget::SetInheritedEffectiveTouchActionForSubFrame_Sym::IPCStableHash() { … }
uint32_t FrameWidget::UpdateRenderThrottlingStatusForSubFrame_Sym::IPCStableHash() { … }
uint32_t FrameWidget::SetIsInertForSubFrame_Sym::IPCStableHash() { … }
uint32_t FrameWidget::EnableDeviceEmulation_Sym::IPCStableHash() { … }
uint32_t FrameWidget::DisableDeviceEmulation_Sym::IPCStableHash() { … }
uint32_t FrameWidget::BindWidgetCompositor_Sym::IPCStableHash() { … }
uint32_t FrameWidget::SetViewportIntersection_Sym::IPCStableHash() { … }
uint32_t FrameWidget::NotifyClearedDisplayedGraphics_Sym::IPCStableHash() { … }
# endif
class FrameWidget_DragTargetDragEnter_ForwardToCallback
: public mojo::MessageReceiver { … };
class FrameWidget_DragTargetDragOver_ForwardToCallback
: public mojo::MessageReceiver { … };
class FrameWidget_DragTargetDrop_ForwardToCallback
: public mojo::MessageReceiver { … };
class FrameWidget_DragSourceEndedAt_ForwardToCallback
: public mojo::MessageReceiver { … };
class FrameWidget_OnStartStylusWriting_ForwardToCallback
: public mojo::MessageReceiver { … };
FrameWidgetProxy::FrameWidgetProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void FrameWidgetProxy::DragTargetDragEnter(
const ::blink::WebDragData& in_drag_data, const ::gfx::PointF& in_point_in_viewport, const ::gfx::PointF& in_screen_point, ::blink::DragOperationsMask in_operations_allowed, uint32_t in_key_modifiers, DragTargetDragEnterCallback callback) { … }
void FrameWidgetProxy::DragTargetDragOver(
const ::gfx::PointF& in_point_in_viewport, const ::gfx::PointF& in_screen_point, ::blink::DragOperationsMask in_operations_allowed, uint32_t in_key_modifiers, DragTargetDragOverCallback callback) { … }
void FrameWidgetProxy::DragTargetDragLeave(
const ::gfx::PointF& in_point_in_viewport, const ::gfx::PointF& in_screen_point) { … }
void FrameWidgetProxy::DragTargetDrop(
const ::blink::WebDragData& in_drag_data, const ::gfx::PointF& in_point_in_viewport, const ::gfx::PointF& in_screen_point, uint32_t in_key_modifiers, DragTargetDropCallback callback) { … }
void FrameWidgetProxy::DragSourceEndedAt(
const ::gfx::PointF& in_point_in_viewport, const ::gfx::PointF& in_screen_point, ::ui::mojom::blink::DragOperation in_drag_operation, DragSourceEndedAtCallback callback) { … }
void FrameWidgetProxy::DragSourceSystemDragEnded(
) { … }
void FrameWidgetProxy::OnStartStylusWriting(
OnStartStylusWritingCallback callback) { … }
void FrameWidgetProxy::SetBackgroundOpaque(
bool in_opaque) { … }
void FrameWidgetProxy::SetTextDirection(
::base::i18n::TextDirection in_direction) { … }
void FrameWidgetProxy::SetActive(
bool in_active) { … }
void FrameWidgetProxy::SetInheritedEffectiveTouchActionForSubFrame(
::cc::TouchAction in_touch_action) { … }
void FrameWidgetProxy::UpdateRenderThrottlingStatusForSubFrame(
bool in_is_throttled, bool in_subtree_throttled, bool in_display_locked) { … }
void FrameWidgetProxy::SetIsInertForSubFrame(
bool in_inert) { … }
void FrameWidgetProxy::EnableDeviceEmulation(
const ::blink::DeviceEmulationParams& in_parameters) { … }
void FrameWidgetProxy::DisableDeviceEmulation(
) { … }
void FrameWidgetProxy::BindWidgetCompositor(
::mojo::PendingReceiver<::blink::mojom::blink::WidgetCompositor> in_host) { … }
void FrameWidgetProxy::SetViewportIntersection(
::blink::mojom::blink::ViewportIntersectionStatePtr in_intersection_state, const std::optional<::blink::VisualProperties>& in_visual_properties) { … }
void FrameWidgetProxy::NotifyClearedDisplayedGraphics(
) { … }
class FrameWidget_DragTargetDragEnter_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool FrameWidget_DragTargetDragEnter_ForwardToCallback::Accept(
mojo::Message* message) { … }
void FrameWidget_DragTargetDragEnter_ProxyToResponder::Run(
::ui::mojom::blink::DragOperation in_operation, bool in_document_is_handling_drag) { … }
class FrameWidget_DragTargetDragOver_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool FrameWidget_DragTargetDragOver_ForwardToCallback::Accept(
mojo::Message* message) { … }
void FrameWidget_DragTargetDragOver_ProxyToResponder::Run(
::ui::mojom::blink::DragOperation in_operation, bool in_document_is_handling_drag) { … }
class FrameWidget_DragTargetDrop_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool FrameWidget_DragTargetDrop_ForwardToCallback::Accept(
mojo::Message* message) { … }
void FrameWidget_DragTargetDrop_ProxyToResponder::Run(
) { … }
class FrameWidget_DragSourceEndedAt_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool FrameWidget_DragSourceEndedAt_ForwardToCallback::Accept(
mojo::Message* message) { … }
void FrameWidget_DragSourceEndedAt_ProxyToResponder::Run(
) { … }
class FrameWidget_OnStartStylusWriting_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool FrameWidget_OnStartStylusWriting_ForwardToCallback::Accept(
mojo::Message* message) { … }
void FrameWidget_OnStartStylusWriting_ProxyToResponder::Run(
const std::optional<::gfx::Rect>& in_focused_edit_bounds, const std::optional<::gfx::Rect>& in_caret_bounds) { … }
bool FrameWidgetStubDispatch::Accept(
FrameWidget* impl,
mojo::Message* message) { … }
bool FrameWidgetStubDispatch::AcceptWithResponder(
FrameWidget* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kFrameWidgetValidationInfo[] = …;
bool FrameWidgetRequestValidator::Accept(mojo::Message* message) { … }
bool FrameWidgetResponseValidator::Accept(mojo::Message* message) { … }
const char FrameWidgetHost::Name_[] = …;
FrameWidgetHost::IPCStableHashFunction FrameWidgetHost::MessageToMethodInfo_(mojo::Message& message) { … }
const char* FrameWidgetHost::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t FrameWidgetHost::AnimateDoubleTapZoomInMainFrame_Sym::IPCStableHash() { … }
uint32_t FrameWidgetHost::ZoomToFindInPageRectInMainFrame_Sym::IPCStableHash() { … }
uint32_t FrameWidgetHost::SetHasTouchEventConsumers_Sym::IPCStableHash() { … }
uint32_t FrameWidgetHost::IntrinsicSizingInfoChanged_Sym::IPCStableHash() { … }
uint32_t FrameWidgetHost::AutoscrollStart_Sym::IPCStableHash() { … }
uint32_t FrameWidgetHost::AutoscrollFling_Sym::IPCStableHash() { … }
uint32_t FrameWidgetHost::AutoscrollEnd_Sym::IPCStableHash() { … }
# endif
FrameWidgetHostProxy::FrameWidgetHostProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void FrameWidgetHostProxy::AnimateDoubleTapZoomInMainFrame(
const ::gfx::Point& in_tap_point, const ::gfx::Rect& in_rect_to_zoom) { … }
void FrameWidgetHostProxy::ZoomToFindInPageRectInMainFrame(
const ::gfx::Rect& in_rect_to_zoom) { … }
void FrameWidgetHostProxy::SetHasTouchEventConsumers(
::blink::mojom::blink::TouchEventConsumersPtr in_touch_event_consumers) { … }
void FrameWidgetHostProxy::IntrinsicSizingInfoChanged(
::blink::mojom::blink::IntrinsicSizingInfoPtr in_sizing_info) { … }
void FrameWidgetHostProxy::AutoscrollStart(
const ::gfx::PointF& in_position) { … }
void FrameWidgetHostProxy::AutoscrollFling(
const ::gfx::Vector2dF& in_velocity) { … }
void FrameWidgetHostProxy::AutoscrollEnd(
) { … }
bool FrameWidgetHostStubDispatch::Accept(
FrameWidgetHost* impl,
mojo::Message* message) { … }
bool FrameWidgetHostStubDispatch::AcceptWithResponder(
FrameWidgetHost* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kFrameWidgetHostValidationInfo[] = …;
bool FrameWidgetHostRequestValidator::Accept(mojo::Message* message) { … }
const char PopupWidgetHost::Name_[] = …;
PopupWidgetHost::IPCStableHashFunction PopupWidgetHost::MessageToMethodInfo_(mojo::Message& message) { … }
const char* PopupWidgetHost::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t PopupWidgetHost::RequestClosePopup_Sym::IPCStableHash() { … }
uint32_t PopupWidgetHost::ShowPopup_Sym::IPCStableHash() { … }
uint32_t PopupWidgetHost::SetPopupBounds_Sym::IPCStableHash() { … }
# endif
class PopupWidgetHost_ShowPopup_ForwardToCallback
: public mojo::MessageReceiver { … };
class PopupWidgetHost_SetPopupBounds_ForwardToCallback
: public mojo::MessageReceiver { … };
PopupWidgetHostProxy::PopupWidgetHostProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void PopupWidgetHostProxy::RequestClosePopup(
) { … }
void PopupWidgetHostProxy::ShowPopup(
const ::gfx::Rect& in_initial_rect, const ::gfx::Rect& in_anchor_rect, ShowPopupCallback callback) { … }
void PopupWidgetHostProxy::SetPopupBounds(
const ::gfx::Rect& in_bounds, SetPopupBoundsCallback callback) { … }
class PopupWidgetHost_ShowPopup_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool PopupWidgetHost_ShowPopup_ForwardToCallback::Accept(
mojo::Message* message) { … }
void PopupWidgetHost_ShowPopup_ProxyToResponder::Run(
) { … }
class PopupWidgetHost_SetPopupBounds_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool PopupWidgetHost_SetPopupBounds_ForwardToCallback::Accept(
mojo::Message* message) { … }
void PopupWidgetHost_SetPopupBounds_ProxyToResponder::Run(
) { … }
bool PopupWidgetHostStubDispatch::Accept(
PopupWidgetHost* impl,
mojo::Message* message) { … }
bool PopupWidgetHostStubDispatch::AcceptWithResponder(
PopupWidgetHost* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kPopupWidgetHostValidationInfo[] = …;
bool PopupWidgetHostRequestValidator::Accept(mojo::Message* message) { … }
bool PopupWidgetHostResponseValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
}
namespace blink::mojom::blink {
void FrameWidgetInterceptorForTesting::DragTargetDragEnter(const ::blink::WebDragData& drag_data, const ::gfx::PointF& point_in_viewport, const ::gfx::PointF& screen_point, ::blink::DragOperationsMask operations_allowed, uint32_t key_modifiers, DragTargetDragEnterCallback callback) { … }
void FrameWidgetInterceptorForTesting::DragTargetDragOver(const ::gfx::PointF& point_in_viewport, const ::gfx::PointF& screen_point, ::blink::DragOperationsMask operations_allowed, uint32_t key_modifiers, DragTargetDragOverCallback callback) { … }
void FrameWidgetInterceptorForTesting::DragTargetDragLeave(const ::gfx::PointF& point_in_viewport, const ::gfx::PointF& screen_point) { … }
void FrameWidgetInterceptorForTesting::DragTargetDrop(const ::blink::WebDragData& drag_data, const ::gfx::PointF& point_in_viewport, const ::gfx::PointF& screen_point, uint32_t key_modifiers, DragTargetDropCallback callback) { … }
void FrameWidgetInterceptorForTesting::DragSourceEndedAt(const ::gfx::PointF& point_in_viewport, const ::gfx::PointF& screen_point, ::ui::mojom::blink::DragOperation drag_operation, DragSourceEndedAtCallback callback) { … }
void FrameWidgetInterceptorForTesting::DragSourceSystemDragEnded() { … }
void FrameWidgetInterceptorForTesting::OnStartStylusWriting(OnStartStylusWritingCallback callback) { … }
void FrameWidgetInterceptorForTesting::SetBackgroundOpaque(bool opaque) { … }
void FrameWidgetInterceptorForTesting::SetTextDirection(::base::i18n::TextDirection direction) { … }
void FrameWidgetInterceptorForTesting::SetActive(bool active) { … }
void FrameWidgetInterceptorForTesting::SetInheritedEffectiveTouchActionForSubFrame(::cc::TouchAction touch_action) { … }
void FrameWidgetInterceptorForTesting::UpdateRenderThrottlingStatusForSubFrame(bool is_throttled, bool subtree_throttled, bool display_locked) { … }
void FrameWidgetInterceptorForTesting::SetIsInertForSubFrame(bool inert) { … }
void FrameWidgetInterceptorForTesting::EnableDeviceEmulation(const ::blink::DeviceEmulationParams& parameters) { … }
void FrameWidgetInterceptorForTesting::DisableDeviceEmulation() { … }
void FrameWidgetInterceptorForTesting::BindWidgetCompositor(::mojo::PendingReceiver<::blink::mojom::blink::WidgetCompositor> host) { … }
void FrameWidgetInterceptorForTesting::SetViewportIntersection(::blink::mojom::blink::ViewportIntersectionStatePtr intersection_state, const std::optional<::blink::VisualProperties>& visual_properties) { … }
void FrameWidgetInterceptorForTesting::NotifyClearedDisplayedGraphics() { … }
FrameWidgetAsyncWaiter::FrameWidgetAsyncWaiter(
FrameWidget* proxy) : … { … }
FrameWidgetAsyncWaiter::~FrameWidgetAsyncWaiter() = default;
void FrameWidgetAsyncWaiter::DragTargetDragEnter(
const ::blink::WebDragData& drag_data, const ::gfx::PointF& point_in_viewport, const ::gfx::PointF& screen_point, ::blink::DragOperationsMask operations_allowed, uint32_t key_modifiers, ::ui::mojom::blink::DragOperation* out_operation, bool* out_document_is_handling_drag) { … }
void FrameWidgetAsyncWaiter::DragTargetDragOver(
const ::gfx::PointF& point_in_viewport, const ::gfx::PointF& screen_point, ::blink::DragOperationsMask operations_allowed, uint32_t key_modifiers, ::ui::mojom::blink::DragOperation* out_operation, bool* out_document_is_handling_drag) { … }
void FrameWidgetAsyncWaiter::DragTargetDrop(
const ::blink::WebDragData& drag_data, const ::gfx::PointF& point_in_viewport, const ::gfx::PointF& screen_point, uint32_t key_modifiers) { … }
void FrameWidgetAsyncWaiter::DragSourceEndedAt(
const ::gfx::PointF& point_in_viewport, const ::gfx::PointF& screen_point, ::ui::mojom::blink::DragOperation drag_operation) { … }
void FrameWidgetAsyncWaiter::OnStartStylusWriting(
std::optional<::gfx::Rect>* out_focused_edit_bounds, std::optional<::gfx::Rect>* out_caret_bounds) { … }
void FrameWidgetHostInterceptorForTesting::AnimateDoubleTapZoomInMainFrame(const ::gfx::Point& tap_point, const ::gfx::Rect& rect_to_zoom) { … }
void FrameWidgetHostInterceptorForTesting::ZoomToFindInPageRectInMainFrame(const ::gfx::Rect& rect_to_zoom) { … }
void FrameWidgetHostInterceptorForTesting::SetHasTouchEventConsumers(::blink::mojom::blink::TouchEventConsumersPtr touch_event_consumers) { … }
void FrameWidgetHostInterceptorForTesting::IntrinsicSizingInfoChanged(::blink::mojom::blink::IntrinsicSizingInfoPtr sizing_info) { … }
void FrameWidgetHostInterceptorForTesting::AutoscrollStart(const ::gfx::PointF& position) { … }
void FrameWidgetHostInterceptorForTesting::AutoscrollFling(const ::gfx::Vector2dF& velocity) { … }
void FrameWidgetHostInterceptorForTesting::AutoscrollEnd() { … }
FrameWidgetHostAsyncWaiter::FrameWidgetHostAsyncWaiter(
FrameWidgetHost* proxy) : … { … }
FrameWidgetHostAsyncWaiter::~FrameWidgetHostAsyncWaiter() = default;
void PopupWidgetHostInterceptorForTesting::RequestClosePopup() { … }
void PopupWidgetHostInterceptorForTesting::ShowPopup(const ::gfx::Rect& initial_rect, const ::gfx::Rect& anchor_rect, ShowPopupCallback callback) { … }
void PopupWidgetHostInterceptorForTesting::SetPopupBounds(const ::gfx::Rect& bounds, SetPopupBoundsCallback callback) { … }
PopupWidgetHostAsyncWaiter::PopupWidgetHostAsyncWaiter(
PopupWidgetHost* proxy) : … { … }
PopupWidgetHostAsyncWaiter::~PopupWidgetHostAsyncWaiter() = default;
void PopupWidgetHostAsyncWaiter::ShowPopup(
const ::gfx::Rect& initial_rect, const ::gfx::Rect& anchor_rect) { … }
void PopupWidgetHostAsyncWaiter::SetPopupBounds(
const ::gfx::Rect& bounds) { … }
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif