// chrome/browser/glic/host/glic_webui.mojom-shared.cc is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/glic/host/glic_webui.mojom-shared.h"
#include <ostream>
#include <utility>
#include "base/strings/stringprintf.h"
#include "mojo/public/cpp/bindings/lib/validate_params.h"
#include "mojo/public/cpp/bindings/lib/validation_errors.h"
#include "mojo/public/cpp/bindings/lib/validation_util.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"

#include "chrome/browser/glic/host/glic_webui.mojom-params-data.h"
namespace glic {
namespace mojom {

NOINLINE static const char* ProfileReadyStateToStringHelper(ProfileReadyState value) {
  // Defined in a helper function to ensure that Clang generates a lookup table.
  switch(value) {
    case ProfileReadyState::kUnknownError:
      return "kUnknownError";
    case ProfileReadyState::kSignInRequired:
      return "kSignInRequired";
    case ProfileReadyState::kReady:
      return "kReady";
    case ProfileReadyState::kIneligible:
      return "kIneligible";
    case ProfileReadyState::kDisabledByAdmin:
      return "kDisabledByAdmin";
    case ProfileReadyState::kLocationMismatch:
      return "kLocationMismatch";
    case ProfileReadyState::kIneligibleAccount:
      return "kIneligibleAccount";
    default:
      return nullptr;
  }
}

std::string ProfileReadyStateToString(ProfileReadyState value) {
  const char *str = ProfileReadyStateToStringHelper(value);
  if (!str) {
    return base::StringPrintf("Unknown ProfileReadyState value: %i", static_cast<int32_t>(value));
  }
  return str;
}

std::ostream& operator<<(std::ostream& os, ProfileReadyState value) {
  return os << ProfileReadyStateToString(value);
}

NOINLINE static const char* ZoomActionToStringHelper(ZoomAction value) {
  // Defined in a helper function to ensure that Clang generates a lookup table.
  switch(value) {
    case ZoomAction::kZoomIn:
      return "kZoomIn";
    case ZoomAction::kZoomOut:
      return "kZoomOut";
    case ZoomAction::kReset:
      return "kReset";
    default:
      return nullptr;
  }
}

std::string ZoomActionToString(ZoomAction value) {
  const char *str = ZoomActionToStringHelper(value);
  if (!str) {
    return base::StringPrintf("Unknown ZoomAction value: %i", static_cast<int32_t>(value));
  }
  return str;
}

std::ostream& operator<<(std::ostream& os, ZoomAction value) {
  return os << ZoomActionToString(value);
}

NOINLINE static const char* WebClientStateToStringHelper(WebClientState value) {
  // Defined in a helper function to ensure that Clang generates a lookup table.
  switch(value) {
    case WebClientState::kUninitialized:
      return "kUninitialized";
    case WebClientState::kWarmed:
      return "kWarmed";
    case WebClientState::kResponsive:
      return "kResponsive";
    case WebClientState::kUnresponsive:
      return "kUnresponsive";
    case WebClientState::kError:
      return "kError";
    default:
      return nullptr;
  }
}

std::string WebClientStateToString(WebClientState value) {
  const char *str = WebClientStateToStringHelper(value);
  if (!str) {
    return base::StringPrintf("Unknown WebClientState value: %i", static_cast<int32_t>(value));
  }
  return str;
}

std::ostream& operator<<(std::ostream& os, WebClientState value) {
  return os << WebClientStateToString(value);
}

NOINLINE static const char* GuestPageTypeToStringHelper(GuestPageType value) {
  // Defined in a helper function to ensure that Clang generates a lookup table.
  switch(value) {
    case GuestPageType::kRegular:
      return "kRegular";
    case GuestPageType::kLogin:
      return "kLogin";
    case GuestPageType::kGuestError:
      return "kGuestError";
    case GuestPageType::kLoadError:
      return "kLoadError";
    case GuestPageType::kDisabledByAdmin:
      return "kDisabledByAdmin";
    default:
      return nullptr;
  }
}

std::string GuestPageTypeToString(GuestPageType value) {
  const char *str = GuestPageTypeToStringHelper(value);
  if (!str) {
    return base::StringPrintf("Unknown GuestPageType value: %i", static_cast<int32_t>(value));
  }
  return str;
}

std::ostream& operator<<(std::ostream& os, GuestPageType value) {
  return os << GuestPageTypeToString(value);
}

NOINLINE static const char* WebUiStateToStringHelper(WebUiState value) {
  // Defined in a helper function to ensure that Clang generates a lookup table.
  switch(value) {
    case WebUiState::kUninitialized:
      return "kUninitialized";
    case WebUiState::kBeginLoad:
      return "kBeginLoad";
    case WebUiState::kShowLoading:
      return "kShowLoading";
    case WebUiState::kHoldLoading:
      return "kHoldLoading";
    case WebUiState::kFinishLoading:
      return "kFinishLoading";
    case WebUiState::kError:
      return "kError";
    case WebUiState::kOffline:
      return "kOffline";
    case WebUiState::kUnavailable:
      return "kUnavailable";
    case WebUiState::kReady:
      return "kReady";
    case WebUiState::kUnresponsive:
      return "kUnresponsive";
    case WebUiState::kSignIn:
      return "kSignIn";
    case WebUiState::kGuestError:
      return "kGuestError";
    case WebUiState::kDisabledByAdmin:
      return "kDisabledByAdmin";
    case WebUiState::kWarmed:
      return "kWarmed";
    case WebUiState::kLocationMismatch:
      return "kLocationMismatch";
    case WebUiState::kIneligibleAccount:
      return "kIneligibleAccount";
    default:
      return nullptr;
  }
}

std::string WebUiStateToString(WebUiState value) {
  const char *str = WebUiStateToStringHelper(value);
  if (!str) {
    return base::StringPrintf("Unknown WebUiState value: %i", static_cast<int32_t>(value));
  }
  return str;
}

std::ostream& operator<<(std::ostream& os, WebUiState value) {
  return os << WebUiStateToString(value);
}

NOINLINE static const char* PrepareForClientResultToStringHelper(PrepareForClientResult value) {
  // Defined in a helper function to ensure that Clang generates a lookup table.
  switch(value) {
    case PrepareForClientResult::kSuccess:
      return "kSuccess";
    case PrepareForClientResult::kErrorResyncingCookies:
      return "kErrorResyncingCookies";
    case PrepareForClientResult::kRequiresSignIn:
      return "kRequiresSignIn";
    default:
      return nullptr;
  }
}

std::string PrepareForClientResultToString(PrepareForClientResult value) {
  const char *str = PrepareForClientResultToStringHelper(value);
  if (!str) {
    return base::StringPrintf("Unknown PrepareForClientResult value: %i", static_cast<int32_t>(value));
  }
  return str;
}

std::ostream& operator<<(std::ostream& os, PrepareForClientResult value) {
  return os << PrepareForClientResultToString(value);
}

NOINLINE static const char* HelpCenterTopicToStringHelper(HelpCenterTopic value) {
  // Defined in a helper function to ensure that Clang generates a lookup table.
  switch(value) {
    case HelpCenterTopic::kLocationMismatch:
      return "kLocationMismatch";
    case HelpCenterTopic::kIneligibleAccount:
      return "kIneligibleAccount";
    default:
      return nullptr;
  }
}

std::string HelpCenterTopicToString(HelpCenterTopic value) {
  const char *str = HelpCenterTopicToStringHelper(value);
  if (!str) {
    return base::StringPrintf("Unknown HelpCenterTopic value: %i", static_cast<int32_t>(value));
  }
  return str;
}

std::ostream& operator<<(std::ostream& os, HelpCenterTopic value) {
  return os << HelpCenterTopicToString(value);
}

namespace internal {


// static
bool PreloadPage_SetProfileReadyState_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PreloadPage_SetProfileReadyState_Params_Data* object =
      static_cast<const PreloadPage_SetProfileReadyState_Params_Data*>(data);


  if (!::glic::mojom::internal::ProfileReadyState_Data
        ::Validate(object->ready_state, validation_context))
    return false;

  return true;
}

PreloadPage_SetProfileReadyState_Params_Data::PreloadPage_SetProfileReadyState_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PreloadPage_OnGuestNavigationStarted_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 8, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PreloadPage_OnGuestNavigationStarted_Params_Data* object =
      static_cast<const PreloadPage_OnGuestNavigationStarted_Params_Data*>(data);

  return true;
}

PreloadPage_OnGuestNavigationStarted_Params_Data::PreloadPage_OnGuestNavigationStarted_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PreloadPage_OnGuestNavigated_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 24, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PreloadPage_OnGuestNavigated_Params_Data* object =
      static_cast<const PreloadPage_OnGuestNavigated_Params_Data*>(data);

  if (!mojo::internal::ValidatePointerNonNullable(
          object->url, 1, validation_context)) {
    return false;
  }
  if (!mojo::internal::ValidateStruct(object->url, validation_context))
    return false;


  if (!::glic::mojom::internal::GuestPageType_Data
        ::Validate(object->page_type, validation_context))
    return false;

  return true;
}

PreloadPage_OnGuestNavigated_Params_Data::PreloadPage_OnGuestNavigated_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PreloadPage_OnGuestProcessGone_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 8, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PreloadPage_OnGuestProcessGone_Params_Data* object =
      static_cast<const PreloadPage_OnGuestProcessGone_Params_Data*>(data);

  return true;
}

PreloadPage_OnGuestProcessGone_Params_Data::PreloadPage_OnGuestProcessGone_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PreloadPage_WebClientStateChanged_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PreloadPage_WebClientStateChanged_Params_Data* object =
      static_cast<const PreloadPage_WebClientStateChanged_Params_Data*>(data);


  if (!::glic::mojom::internal::WebClientState_Data
        ::Validate(object->state, validation_context))
    return false;

  return true;
}

PreloadPage_WebClientStateChanged_Params_Data::PreloadPage_WebClientStateChanged_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool Page_IntentToShow_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 8, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const Page_IntentToShow_Params_Data* object =
      static_cast<const Page_IntentToShow_Params_Data*>(data);

  return true;
}

Page_IntentToShow_Params_Data::Page_IntentToShow_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool Page_SetProfileReadyState_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const Page_SetProfileReadyState_Params_Data* object =
      static_cast<const Page_SetProfileReadyState_Params_Data*>(data);


  if (!::glic::mojom::internal::ProfileReadyState_Data
        ::Validate(object->ready_state, validation_context))
    return false;

  return true;
}

Page_SetProfileReadyState_Params_Data::Page_SetProfileReadyState_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool Page_UpdatePageState_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const Page_UpdatePageState_Params_Data* object =
      static_cast<const Page_UpdatePageState_Params_Data*>(data);


  if (!::glic::mojom::internal::PanelStateKind_Data
        ::Validate(object->panelStateKind, validation_context))
    return false;

  return true;
}

Page_UpdatePageState_Params_Data::Page_UpdatePageState_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool Page_ClientReadyStateChanged_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const Page_ClientReadyStateChanged_Params_Data* object =
      static_cast<const Page_ClientReadyStateChanged_Params_Data*>(data);

  return true;
}

Page_ClientReadyStateChanged_Params_Data::Page_ClientReadyStateChanged_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool Page_Zoom_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const Page_Zoom_Params_Data* object =
      static_cast<const Page_Zoom_Params_Data*>(data);


  if (!::glic::mojom::internal::ZoomAction_Data
        ::Validate(object->action, validation_context))
    return false;

  return true;
}

Page_Zoom_Params_Data::Page_Zoom_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool GlicPreloadHandler_PrepareForClient_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 8, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const GlicPreloadHandler_PrepareForClient_Params_Data* object =
      static_cast<const GlicPreloadHandler_PrepareForClient_Params_Data*>(data);

  return true;
}

GlicPreloadHandler_PrepareForClient_Params_Data::GlicPreloadHandler_PrepareForClient_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool GlicPreloadHandler_PrepareForClient_ResponseParams_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const GlicPreloadHandler_PrepareForClient_ResponseParams_Data* object =
      static_cast<const GlicPreloadHandler_PrepareForClient_ResponseParams_Data*>(data);


  if (!::glic::mojom::internal::PrepareForClientResult_Data
        ::Validate(object->result, validation_context))
    return false;

  return true;
}

GlicPreloadHandler_PrepareForClient_ResponseParams_Data::GlicPreloadHandler_PrepareForClient_ResponseParams_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool GlicPreloadHandlerFactory_CreatePreloadHandler_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 24, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const GlicPreloadHandlerFactory_CreatePreloadHandler_Params_Data* object =
      static_cast<const GlicPreloadHandlerFactory_CreatePreloadHandler_Params_Data*>(data);

  if (!mojo::internal::ValidateHandleOrInterfaceNonNullable(
          object->receiver, 1, validation_context)) {
    return false;
  }
  if (!mojo::internal::ValidateHandleOrInterface(object->receiver,
                                                 validation_context)) {
    return false;
  }

  if (!mojo::internal::ValidateHandleOrInterfaceNonNullable(
          object->page, 2, validation_context)) {
    return false;
  }
  if (!mojo::internal::ValidateHandleOrInterface(object->page,
                                                 validation_context)) {
    return false;
  }

  return true;
}

GlicPreloadHandlerFactory_CreatePreloadHandler_Params_Data::GlicPreloadHandlerFactory_CreatePreloadHandler_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandlerFactory_CreatePageHandler_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 24, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandlerFactory_CreatePageHandler_Params_Data* object =
      static_cast<const PageHandlerFactory_CreatePageHandler_Params_Data*>(data);

  if (!mojo::internal::ValidateHandleOrInterfaceNonNullable(
          object->receiver, 1, validation_context)) {
    return false;
  }
  if (!mojo::internal::ValidateHandleOrInterface(object->receiver,
                                                 validation_context)) {
    return false;
  }

  if (!mojo::internal::ValidateHandleOrInterfaceNonNullable(
          object->page, 2, validation_context)) {
    return false;
  }
  if (!mojo::internal::ValidateHandleOrInterface(object->page,
                                                 validation_context)) {
    return false;
  }

  return true;
}

PageHandlerFactory_CreatePageHandler_Params_Data::PageHandlerFactory_CreatePageHandler_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandlerFactory_CreatePageHandler_ResponseParams_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandlerFactory_CreatePageHandler_ResponseParams_Data* object =
      static_cast<const PageHandlerFactory_CreatePageHandler_ResponseParams_Data*>(data);

  if (!mojo::internal::ValidatePointerNonNullable(
          object->instance_id, 1, validation_context)) {
    return false;
  }
  constexpr const mojo::internal::ContainerValidateParams& instance_id_validate_params =
      mojo::internal::GetArrayValidator<0, false, nullptr>();
  if (!mojo::internal::ValidateContainer(object->instance_id, validation_context,
                                         &instance_id_validate_params)) {
    return false;
  }

  return true;
}

PageHandlerFactory_CreatePageHandler_ResponseParams_Data::PageHandlerFactory_CreatePageHandler_ResponseParams_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_CreateWebClient_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_CreateWebClient_Params_Data* object =
      static_cast<const PageHandler_CreateWebClient_Params_Data*>(data);

  if (!mojo::internal::ValidateHandleOrInterfaceNonNullable(
          object->web_client_receiver, 1, validation_context)) {
    return false;
  }
  if (!mojo::internal::ValidateHandleOrInterface(object->web_client_receiver,
                                                 validation_context)) {
    return false;
  }

  return true;
}

PageHandler_CreateWebClient_Params_Data::PageHandler_CreateWebClient_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_PrepareForClient_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 8, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_PrepareForClient_Params_Data* object =
      static_cast<const PageHandler_PrepareForClient_Params_Data*>(data);

  return true;
}

PageHandler_PrepareForClient_Params_Data::PageHandler_PrepareForClient_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_PrepareForClient_ResponseParams_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_PrepareForClient_ResponseParams_Data* object =
      static_cast<const PageHandler_PrepareForClient_ResponseParams_Data*>(data);


  if (!::glic::mojom::internal::PrepareForClientResult_Data
        ::Validate(object->result, validation_context))
    return false;

  return true;
}

PageHandler_PrepareForClient_ResponseParams_Data::PageHandler_PrepareForClient_ResponseParams_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_WebviewCommitted_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_WebviewCommitted_Params_Data* object =
      static_cast<const PageHandler_WebviewCommitted_Params_Data*>(data);

  if (!mojo::internal::ValidatePointerNonNullable(
          object->url, 1, validation_context)) {
    return false;
  }
  if (!mojo::internal::ValidateStruct(object->url, validation_context))
    return false;

  return true;
}

PageHandler_WebviewCommitted_Params_Data::PageHandler_WebviewCommitted_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_OnZoomLevelChange_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_OnZoomLevelChange_Params_Data* object =
      static_cast<const PageHandler_OnZoomLevelChange_Params_Data*>(data);

  return true;
}

PageHandler_OnZoomLevelChange_Params_Data::PageHandler_OnZoomLevelChange_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_ClosePanel_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 8, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_ClosePanel_Params_Data* object =
      static_cast<const PageHandler_ClosePanel_Params_Data*>(data);

  return true;
}

PageHandler_ClosePanel_Params_Data::PageHandler_ClosePanel_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_ClosePanel_ResponseParams_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 8, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_ClosePanel_ResponseParams_Data* object =
      static_cast<const PageHandler_ClosePanel_ResponseParams_Data*>(data);

  return true;
}

PageHandler_ClosePanel_ResponseParams_Data::PageHandler_ClosePanel_ResponseParams_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_OpenHelpCenterTopicAndClosePanel_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_OpenHelpCenterTopicAndClosePanel_Params_Data* object =
      static_cast<const PageHandler_OpenHelpCenterTopicAndClosePanel_Params_Data*>(data);


  if (!::glic::mojom::internal::HelpCenterTopic_Data
        ::Validate(object->topic, validation_context))
    return false;

  return true;
}

PageHandler_OpenHelpCenterTopicAndClosePanel_Params_Data::PageHandler_OpenHelpCenterTopicAndClosePanel_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_OpenProfilePickerAndClosePanel_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 8, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_OpenProfilePickerAndClosePanel_Params_Data* object =
      static_cast<const PageHandler_OpenProfilePickerAndClosePanel_Params_Data*>(data);

  return true;
}

PageHandler_OpenProfilePickerAndClosePanel_Params_Data::PageHandler_OpenProfilePickerAndClosePanel_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_OpenDisabledByAdminLinkAndClosePanel_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 8, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_OpenDisabledByAdminLinkAndClosePanel_Params_Data* object =
      static_cast<const PageHandler_OpenDisabledByAdminLinkAndClosePanel_Params_Data*>(data);

  return true;
}

PageHandler_OpenDisabledByAdminLinkAndClosePanel_Params_Data::PageHandler_OpenDisabledByAdminLinkAndClosePanel_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_SignInAndClosePanel_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 8, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_SignInAndClosePanel_Params_Data* object =
      static_cast<const PageHandler_SignInAndClosePanel_Params_Data*>(data);

  return true;
}

PageHandler_SignInAndClosePanel_Params_Data::PageHandler_SignInAndClosePanel_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_ResizeWidget_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 24, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_ResizeWidget_Params_Data* object =
      static_cast<const PageHandler_ResizeWidget_Params_Data*>(data);

  if (!mojo::internal::ValidatePointerNonNullable(
          object->size, 1, validation_context)) {
    return false;
  }
  if (!mojo::internal::ValidateStruct(object->size, validation_context))
    return false;

  if (!mojo::internal::ValidatePointerNonNullable(
          object->duration, 2, validation_context)) {
    return false;
  }
  if (!mojo::internal::ValidateStruct(object->duration, validation_context))
    return false;

  return true;
}

PageHandler_ResizeWidget_Params_Data::PageHandler_ResizeWidget_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_ResizeWidget_ResponseParams_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 8, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_ResizeWidget_ResponseParams_Data* object =
      static_cast<const PageHandler_ResizeWidget_ResponseParams_Data*>(data);

  return true;
}

PageHandler_ResizeWidget_ResponseParams_Data::PageHandler_ResizeWidget_ResponseParams_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_EnableDragResize_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_EnableDragResize_Params_Data* object =
      static_cast<const PageHandler_EnableDragResize_Params_Data*>(data);

  return true;
}

PageHandler_EnableDragResize_Params_Data::PageHandler_EnableDragResize_Params_Data()
    : header_({sizeof(*this), 0}) {}


// static
bool PageHandler_OnWebUiStateChanged_Params_Data::Validate(
    const void* data,
    mojo::internal::ValidationContext* validation_context) {
  if (!data)
    return true;
  if (!ValidateUnversionedStructHeaderAndSizeAndClaimMemory(
          data, 16, validation_context)) {
    return false;
  }

  // NOTE: The memory backing |object| may be smaller than |sizeof(*object)| if
  // the message comes from an older version.
  [[maybe_unused]] const PageHandler_OnWebUiStateChanged_Params_Data* object =
      static_cast<const PageHandler_OnWebUiStateChanged_Params_Data*>(data);


  if (!::glic::mojom::internal::WebUiState_Data
        ::Validate(object->new_state, validation_context))
    return false;

  return true;
}

PageHandler_OnWebUiStateChanged_Params_Data::PageHandler_OnWebUiStateChanged_Params_Data()
    : header_({sizeof(*this), 0}) {}

}  // namespace internal
}  // namespace mojom
}  // namespace glic

namespace perfetto {

// static
void TraceFormatTraits<::glic::mojom::ProfileReadyState>::WriteIntoTrace(
   perfetto::TracedValue context, ::glic::mojom::ProfileReadyState value) {
  return std::move(context).WriteString(::glic::mojom::ProfileReadyStateToString(value));
}

} // namespace perfetto

namespace perfetto {

// static
void TraceFormatTraits<::glic::mojom::ZoomAction>::WriteIntoTrace(
   perfetto::TracedValue context, ::glic::mojom::ZoomAction value) {
  return std::move(context).WriteString(::glic::mojom::ZoomActionToString(value));
}

} // namespace perfetto

namespace perfetto {

// static
void TraceFormatTraits<::glic::mojom::WebClientState>::WriteIntoTrace(
   perfetto::TracedValue context, ::glic::mojom::WebClientState value) {
  return std::move(context).WriteString(::glic::mojom::WebClientStateToString(value));
}

} // namespace perfetto

namespace perfetto {

// static
void TraceFormatTraits<::glic::mojom::GuestPageType>::WriteIntoTrace(
   perfetto::TracedValue context, ::glic::mojom::GuestPageType value) {
  return std::move(context).WriteString(::glic::mojom::GuestPageTypeToString(value));
}

} // namespace perfetto

namespace perfetto {

// static
void TraceFormatTraits<::glic::mojom::WebUiState>::WriteIntoTrace(
   perfetto::TracedValue context, ::glic::mojom::WebUiState value) {
  return std::move(context).WriteString(::glic::mojom::WebUiStateToString(value));
}

} // namespace perfetto

namespace perfetto {

// static
void TraceFormatTraits<::glic::mojom::PrepareForClientResult>::WriteIntoTrace(
   perfetto::TracedValue context, ::glic::mojom::PrepareForClientResult value) {
  return std::move(context).WriteString(::glic::mojom::PrepareForClientResultToString(value));
}

} // namespace perfetto

namespace perfetto {

// static
void TraceFormatTraits<::glic::mojom::HelpCenterTopic>::WriteIntoTrace(
   perfetto::TracedValue context, ::glic::mojom::HelpCenterTopic value) {
  return std::move(context).WriteString(::glic::mojom::HelpCenterTopicToString(value));
}

} // namespace perfetto