| // content/common/navigation_client.mojom-send-validation.h is auto generated by mojom_bindings_generator.py, do not edit |
| |
| // Copyright 2025 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CONTENT_COMMON_NAVIGATION_CLIENT_MOJOM_SEND_VALIDATION_H_ |
| #define CONTENT_COMMON_NAVIGATION_CLIENT_MOJOM_SEND_VALIDATION_H_ |
| |
| #include "content/common/navigation_client.mojom-shared-internal.h" |
| #include "content/common/frame_messages.mojom-shared.h" |
| #include "content/public/common/alternative_error_page_override_info.mojom-shared.h" |
| #include "mojo/public/mojom/base/time.mojom-shared.h" |
| #include "mojo/public/mojom/base/unguessable_token.mojom-shared.h" |
| #include "mojo/public/mojom/base/uuid.mojom-shared.h" |
| #include "services/network/public/mojom/network_param.mojom-shared.h" |
| #include "services/network/public/mojom/restricted_cookie_manager.mojom-shared.h" |
| #include "services/network/public/mojom/url_loader.mojom-shared.h" |
| #include "services/network/public/mojom/url_loader_factory.mojom-shared.h" |
| #include "services/network/public/mojom/url_response_head.mojom-shared.h" |
| #include "third_party/blink/public/mojom/commit_result/commit_result.mojom-shared.h" |
| #include "third_party/blink/public/mojom/dom_storage/storage_area.mojom-shared.h" |
| #include "third_party/blink/public/mojom/frame/policy_container.mojom-shared.h" |
| #include "third_party/blink/public/mojom/loader/code_cache.mojom-shared.h" |
| #include "third_party/blink/public/mojom/loader/referrer.mojom-shared.h" |
| #include "third_party/blink/public/mojom/loader/fetch_later.mojom-shared.h" |
| #include "third_party/blink/public/mojom/loader/same_document_navigation_type.mojom-shared.h" |
| #include "third_party/blink/public/mojom/loader/transferrable_url_loader.mojom-shared.h" |
| #include "third_party/blink/public/mojom/loader/url_loader_factory_bundle.mojom-shared.h" |
| #include "third_party/blink/public/mojom/navigation/navigation_params.mojom-shared.h" |
| #include "third_party/blink/public/mojom/permissions_policy/document_policy_feature.mojom-shared.h" |
| #include "services/network/public/mojom/permissions_policy/permissions_policy.mojom-shared.h" |
| #include "third_party/blink/public/mojom/permissions_policy/policy_value.mojom-shared.h" |
| #include "third_party/blink/public/mojom/security_context/insecure_request_policy.mojom-shared.h" |
| #include "third_party/blink/public/mojom/service_worker/controller_service_worker.mojom-shared.h" |
| #include "third_party/blink/public/mojom/service_worker/service_worker_container.mojom-shared.h" |
| #include "third_party/blink/public/mojom/tokens/tokens.mojom-shared.h" |
| #include "url/mojom/origin.mojom-shared.h" |
| #include "url/mojom/url.mojom-shared.h" |
| |
| #include "content/common/navigation_client.mojom-data-view.h" |
| |
| #include "mojo/public/cpp/bindings/lib/send_validation_type.h" |
| #include "mojo/public/cpp/bindings/lib/send_validation.h" |
| #include "mojo/public/cpp/bindings/lib/interface_serialization_send_validation.h" |
| #include "mojo/public/cpp/bindings/lib/has_send_validation_helper.h" |
| |
| namespace mojo::internal { |
| template <typename MaybeConstUserType> |
| struct HasSendValidationSerialize<::content::mojom::NavigationClientDisconnectReason, MaybeConstUserType> |
| : std::false_type {}; |
| |
| template <typename MaybeConstUserType, mojo::internal::SendValidation send_validation> |
| struct SendValidationSerializer<::content::mojom::PageStateDataView, MaybeConstUserType, send_validation> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = StructTraits<::content::mojom::PageStateDataView, UserType>; |
| static void Serialize( |
| MaybeConstUserType& input, |
| mojo::internal::MessageFragment<::content::mojom::internal::PageState_Data>& fragment) { |
| if (CallIsNullIfExists<Traits>(input)) |
| return; |
| fragment.Allocate(); |
| } |
| }; |
| |
| template <typename MaybeConstUserType, mojo::internal::SendValidation send_validation> |
| struct SendValidationSerializer<::content::mojom::DidCommitProvisionalLoadParamsDataView, MaybeConstUserType, send_validation> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = StructTraits<::content::mojom::DidCommitProvisionalLoadParamsDataView, UserType>; |
| static void Serialize( |
| MaybeConstUserType& input, |
| mojo::internal::MessageFragment<::content::mojom::internal::DidCommitProvisionalLoadParams_Data>& fragment) { |
| if (CallIsNullIfExists<Traits>(input)) |
| return; |
| fragment.Allocate(); |
| |
| fragment->item_sequence_number = Traits::item_sequence_number(input); |
| |
| fragment->document_sequence_number = Traits::document_sequence_number(input); |
| |
| decltype(Traits::navigation_api_key(input)) in_navigation_api_key = Traits::navigation_api_key(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->navigation_api_key)::BaseType> navigation_api_key_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<mojo::StringDataView, send_validation>( |
| in_navigation_api_key, |
| navigation_api_key_fragment); |
| |
| fragment->navigation_api_key.Set( |
| navigation_api_key_fragment.is_null() ? nullptr : navigation_api_key_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->navigation_api_key.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null navigation_api_key in DidCommitProvisionalLoadParams 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, send_validation>( |
| in_url, |
| url_fragment); |
| |
| fragment->url.Set( |
| url_fragment.is_null() ? nullptr : url_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->url.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null url in DidCommitProvisionalLoadParams struct"); |
| |
| decltype(Traits::referrer(input)) in_referrer = Traits::referrer(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->referrer)::BaseType> referrer_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::blink::mojom::ReferrerDataView, send_validation>( |
| in_referrer, |
| referrer_fragment); |
| |
| fragment->referrer.Set( |
| referrer_fragment.is_null() ? nullptr : referrer_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->referrer.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null referrer in DidCommitProvisionalLoadParams struct"); |
| |
| |
| mojo::internal::Serialize<::content::mojom::PageTransition>( |
| Traits::transition(input), |
| &fragment->transition); |
| |
| fragment->should_update_history = Traits::should_update_history(input); |
| |
| decltype(Traits::contents_mime_type(input)) in_contents_mime_type = Traits::contents_mime_type(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->contents_mime_type)::BaseType> contents_mime_type_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<mojo::StringDataView, send_validation>( |
| in_contents_mime_type, |
| contents_mime_type_fragment); |
| |
| fragment->contents_mime_type.Set( |
| contents_mime_type_fragment.is_null() ? nullptr : contents_mime_type_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->contents_mime_type.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null contents_mime_type in DidCommitProvisionalLoadParams struct"); |
| |
| fragment->did_create_new_entry = Traits::did_create_new_entry(input); |
| |
| decltype(Traits::method(input)) in_method = Traits::method(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->method)::BaseType> method_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<mojo::StringDataView, send_validation>( |
| in_method, |
| method_fragment); |
| |
| fragment->method.Set( |
| method_fragment.is_null() ? nullptr : method_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->method.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null method in DidCommitProvisionalLoadParams struct"); |
| |
| fragment->post_id = Traits::post_id(input); |
| |
| fragment->http_status_code = Traits::http_status_code(input); |
| |
| fragment->url_is_unreachable = Traits::url_is_unreachable(input); |
| |
| decltype(Traits::previous_page_state(input)) in_previous_page_state = Traits::previous_page_state(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->previous_page_state)::BaseType> previous_page_state_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::content::mojom::PageStateDataView, send_validation>( |
| in_previous_page_state, |
| previous_page_state_fragment); |
| |
| fragment->previous_page_state.Set( |
| previous_page_state_fragment.is_null() ? nullptr : previous_page_state_fragment.data()); |
| |
| decltype(Traits::page_state(input)) in_page_state = Traits::page_state(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->page_state)::BaseType> page_state_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::content::mojom::PageStateDataView, send_validation>( |
| in_page_state, |
| page_state_fragment); |
| |
| fragment->page_state.Set( |
| page_state_fragment.is_null() ? nullptr : page_state_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->page_state.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null page_state in DidCommitProvisionalLoadParams struct"); |
| |
| fragment->is_overriding_user_agent = Traits::is_overriding_user_agent(input); |
| |
| fragment->history_list_was_cleared = Traits::history_list_was_cleared(input); |
| |
| decltype(Traits::origin(input)) in_origin = Traits::origin(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->origin)::BaseType> origin_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::url::mojom::OriginDataView, send_validation>( |
| in_origin, |
| origin_fragment); |
| |
| fragment->origin.Set( |
| origin_fragment.is_null() ? nullptr : origin_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->origin.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null origin in DidCommitProvisionalLoadParams struct"); |
| |
| decltype(Traits::initiator_base_url(input)) in_initiator_base_url = Traits::initiator_base_url(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->initiator_base_url)::BaseType> initiator_base_url_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::url::mojom::UrlDataView, send_validation>( |
| in_initiator_base_url, |
| initiator_base_url_fragment); |
| |
| fragment->initiator_base_url.Set( |
| initiator_base_url_fragment.is_null() ? nullptr : initiator_base_url_fragment.data()); |
| |
| decltype(Traits::permissions_policy_header(input)) in_permissions_policy_header = Traits::permissions_policy_header(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->permissions_policy_header)::BaseType> |
| permissions_policy_header_fragment(fragment.message()); |
| constexpr const mojo::internal::ContainerValidateParams& permissions_policy_header_validate_params = |
| mojo::internal::GetArrayValidator<0, false, nullptr>(); |
| |
| mojo::internal::Serialize<mojo::ArrayDataView<::network::mojom::ParsedPermissionsPolicyDeclarationDataView>, send_validation>( |
| in_permissions_policy_header, |
| permissions_policy_header_fragment, |
| &permissions_policy_header_validate_params); |
| |
| fragment->permissions_policy_header.Set( |
| permissions_policy_header_fragment.is_null() ? nullptr : permissions_policy_header_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->permissions_policy_header.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null permissions_policy_header in DidCommitProvisionalLoadParams struct"); |
| |
| decltype(Traits::document_policy_header(input)) in_document_policy_header = Traits::document_policy_header(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->document_policy_header)::BaseType> |
| document_policy_header_fragment(fragment.message()); |
| constexpr const mojo::internal::ContainerValidateParams& document_policy_header_validate_params = |
| mojo::internal::GetMapValidator<*&mojo::internal::GetArrayOfEnumsValidator<0, false, ::blink::mojom::internal::DocumentPolicyFeature_Data::Validate>(), *&mojo::internal::GetArrayValidator<0, false, nullptr>()>(); |
| |
| mojo::internal::Serialize<mojo::MapDataView<::blink::mojom::DocumentPolicyFeature, ::blink::mojom::PolicyValueDataView>, send_validation>( |
| in_document_policy_header, |
| document_policy_header_fragment, |
| &document_policy_header_validate_params); |
| |
| fragment->document_policy_header.Set( |
| document_policy_header_fragment.is_null() ? nullptr : document_policy_header_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->document_policy_header.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null document_policy_header in DidCommitProvisionalLoadParams struct"); |
| |
| |
| mojo::internal::Serialize<::blink::mojom::InsecureRequestPolicy>( |
| Traits::insecure_request_policy(input), |
| &fragment->insecure_request_policy); |
| |
| decltype(Traits::insecure_navigations_set(input)) in_insecure_navigations_set = Traits::insecure_navigations_set(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->insecure_navigations_set)::BaseType> |
| insecure_navigations_set_fragment(fragment.message()); |
| constexpr const mojo::internal::ContainerValidateParams& insecure_navigations_set_validate_params = |
| mojo::internal::GetArrayValidator<0, false, nullptr>(); |
| |
| mojo::internal::Serialize<mojo::ArrayDataView<uint32_t>, send_validation>( |
| in_insecure_navigations_set, |
| insecure_navigations_set_fragment, |
| &insecure_navigations_set_validate_params); |
| |
| fragment->insecure_navigations_set.Set( |
| insecure_navigations_set_fragment.is_null() ? nullptr : insecure_navigations_set_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->insecure_navigations_set.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null insecure_navigations_set in DidCommitProvisionalLoadParams struct"); |
| |
| fragment->has_potentially_trustworthy_unique_origin = Traits::has_potentially_trustworthy_unique_origin(input); |
| |
| fragment->request_id = Traits::request_id(input); |
| |
| decltype(Traits::navigation_token(input)) in_navigation_token = Traits::navigation_token(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->navigation_token)::BaseType> navigation_token_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::mojo_base::mojom::UnguessableTokenDataView, send_validation>( |
| in_navigation_token, |
| navigation_token_fragment); |
| |
| fragment->navigation_token.Set( |
| navigation_token_fragment.is_null() ? nullptr : navigation_token_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->navigation_token.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null navigation_token in DidCommitProvisionalLoadParams struct"); |
| |
| decltype(Traits::embedding_token(input)) in_embedding_token = Traits::embedding_token(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->embedding_token)::BaseType> embedding_token_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::mojo_base::mojom::UnguessableTokenDataView, send_validation>( |
| in_embedding_token, |
| embedding_token_fragment); |
| |
| fragment->embedding_token.Set( |
| embedding_token_fragment.is_null() ? nullptr : embedding_token_fragment.data()); |
| |
| decltype(Traits::unload_start(input)) in_unload_start = Traits::unload_start(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->unload_start)::BaseType> unload_start_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::mojo_base::mojom::TimeTicksDataView, send_validation>( |
| in_unload_start, |
| unload_start_fragment); |
| |
| fragment->unload_start.Set( |
| unload_start_fragment.is_null() ? nullptr : unload_start_fragment.data()); |
| |
| decltype(Traits::unload_end(input)) in_unload_end = Traits::unload_end(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->unload_end)::BaseType> unload_end_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::mojo_base::mojom::TimeTicksDataView, send_validation>( |
| in_unload_end, |
| unload_end_fragment); |
| |
| fragment->unload_end.Set( |
| unload_end_fragment.is_null() ? nullptr : unload_end_fragment.data()); |
| |
| decltype(Traits::commit_navigation_start(input)) in_commit_navigation_start = Traits::commit_navigation_start(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->commit_navigation_start)::BaseType> commit_navigation_start_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::mojo_base::mojom::TimeTicksDataView, send_validation>( |
| in_commit_navigation_start, |
| commit_navigation_start_fragment); |
| |
| fragment->commit_navigation_start.Set( |
| commit_navigation_start_fragment.is_null() ? nullptr : commit_navigation_start_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->commit_navigation_start.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null commit_navigation_start in DidCommitProvisionalLoadParams struct"); |
| |
| decltype(Traits::commit_navigation_end(input)) in_commit_navigation_end = Traits::commit_navigation_end(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->commit_navigation_end)::BaseType> commit_navigation_end_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::mojo_base::mojom::TimeTicksDataView, send_validation>( |
| in_commit_navigation_end, |
| commit_navigation_end_fragment); |
| |
| fragment->commit_navigation_end.Set( |
| commit_navigation_end_fragment.is_null() ? nullptr : commit_navigation_end_fragment.data()); |
| |
| decltype(Traits::commit_reply_sent(input)) in_commit_reply_sent = Traits::commit_reply_sent(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->commit_reply_sent)::BaseType> commit_reply_sent_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::mojo_base::mojom::TimeTicksDataView, send_validation>( |
| in_commit_reply_sent, |
| commit_reply_sent_fragment); |
| |
| fragment->commit_reply_sent.Set( |
| commit_reply_sent_fragment.is_null() ? nullptr : commit_reply_sent_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->commit_reply_sent.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null commit_reply_sent in DidCommitProvisionalLoadParams struct"); |
| } |
| }; |
| |
| template <typename MaybeConstUserType, mojo::internal::SendValidation send_validation> |
| struct SendValidationSerializer<::content::mojom::DidCommitSameDocumentNavigationParamsDataView, MaybeConstUserType, send_validation> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = StructTraits<::content::mojom::DidCommitSameDocumentNavigationParamsDataView, UserType>; |
| static void Serialize( |
| MaybeConstUserType& input, |
| mojo::internal::MessageFragment<::content::mojom::internal::DidCommitSameDocumentNavigationParams_Data>& fragment) { |
| if (CallIsNullIfExists<Traits>(input)) |
| return; |
| fragment.Allocate(); |
| |
| |
| mojo::internal::Serialize<::blink::mojom::SameDocumentNavigationType>( |
| Traits::same_document_navigation_type(input), |
| &fragment->same_document_navigation_type); |
| |
| fragment->is_client_redirect = Traits::is_client_redirect(input); |
| |
| fragment->started_with_transient_activation = Traits::started_with_transient_activation(input); |
| |
| fragment->should_replace_current_entry = Traits::should_replace_current_entry(input); |
| |
| decltype(Traits::navigation_entry_screenshot_destination(input)) in_navigation_entry_screenshot_destination = Traits::navigation_entry_screenshot_destination(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->navigation_entry_screenshot_destination)::BaseType> navigation_entry_screenshot_destination_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::blink::mojom::SameDocNavigationScreenshotDestinationTokenDataView, send_validation>( |
| in_navigation_entry_screenshot_destination, |
| navigation_entry_screenshot_destination_fragment); |
| |
| fragment->navigation_entry_screenshot_destination.Set( |
| navigation_entry_screenshot_destination_fragment.is_null() ? nullptr : navigation_entry_screenshot_destination_fragment.data()); |
| } |
| }; |
| |
| template <typename MaybeConstUserType, mojo::internal::SendValidation send_validation> |
| struct SendValidationSerializer<::content::mojom::CookieManagerInfoDataView, MaybeConstUserType, send_validation> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = StructTraits<::content::mojom::CookieManagerInfoDataView, UserType>; |
| static void Serialize( |
| MaybeConstUserType& input, |
| mojo::internal::MessageFragment<::content::mojom::internal::CookieManagerInfo_Data>& fragment) { |
| if (CallIsNullIfExists<Traits>(input)) |
| return; |
| fragment.Allocate(); |
| |
| decltype(Traits::origin(input)) in_origin = Traits::origin(input); |
| mojo::internal::MessageFragment< |
| typename decltype(fragment->origin)::BaseType> origin_fragment( |
| fragment.message()); |
| |
| mojo::internal::Serialize<::url::mojom::OriginDataView, send_validation>( |
| in_origin, |
| origin_fragment); |
| |
| fragment->origin.Set( |
| origin_fragment.is_null() ? nullptr : origin_fragment.data()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(fragment->origin.is_null()), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| "null origin in CookieManagerInfo struct"); |
| |
| decltype(Traits::cookie_manager(input)) in_cookie_manager = Traits::cookie_manager(input); |
| |
| |
| mojo::internal::Serialize<mojo::InterfacePtrDataView<::network::mojom::RestrictedCookieManagerInterfaceBase>>( |
| in_cookie_manager, |
| &fragment->cookie_manager, |
| &fragment.message()); |
| |
| |
| MOJO_INTERNAL_CHECK_SERIALIZATION( |
| send_validation, |
| !(!mojo::internal::IsHandleOrInterfaceValid(fragment->cookie_manager)), |
| mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE, |
| "invalid cookie_manager in CookieManagerInfo struct"); |
| } |
| }; |
| |
| template <typename MaybeConstUserType, mojo::internal::SendValidation send_validation> |
| struct SendValidationSerializer<::content::mojom::StorageInfoDataView, MaybeConstUserType, send_validation> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = StructTraits<::content::mojom::StorageInfoDataView, UserType>; |
| static void Serialize( |
| MaybeConstUserType& input, |
| mojo::internal::MessageFragment<::content::mojom::internal::StorageInfo_Data>& fragment) { |
| if (CallIsNullIfExists<Traits>(input)) |
| return; |
| fragment.Allocate(); |
| |
| decltype(Traits::local_storage_area(input)) in_local_storage_area = Traits::local_storage_area(input); |
| |
| |
| mojo::internal::Serialize<mojo::InterfacePtrDataView<::blink::mojom::StorageAreaInterfaceBase>>( |
| in_local_storage_area, |
| &fragment->local_storage_area, |
| &fragment.message()); |
| |
| decltype(Traits::session_storage_area(input)) in_session_storage_area = Traits::session_storage_area(input); |
| |
| |
| mojo::internal::Serialize<mojo::InterfacePtrDataView<::blink::mojom::StorageAreaInterfaceBase>>( |
| in_session_storage_area, |
| &fragment->session_storage_area, |
| &fragment.message()); |
| } |
| }; |
| |
| } // namespace mojo::internal |
| |
| #endif // CONTENT_COMMON_NAVIGATION_CLIENT_MOJOM_SEND_VALIDATION_H_ |