// components/autofill/content/common/mojom/autofill_driver.mojom-params-data.h is auto generated by mojom_bindings_generator.py, do not edit

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

#ifndef COMPONENTS_AUTOFILL_CONTENT_COMMON_MOJOM_AUTOFILL_DRIVER_MOJOM_PARAMS_DATA_H_
#define COMPONENTS_AUTOFILL_CONTENT_COMMON_MOJOM_AUTOFILL_DRIVER_MOJOM_PARAMS_DATA_H_
#include "mojo/public/cpp/bindings/array_data_view.h"
#include "mojo/public/cpp/bindings/map_data_view.h"
#include "mojo/public/cpp/bindings/string_data_view.h"

#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif

namespace mojo::internal {
class ValidationContext;
}


namespace autofill::mojom {
namespace internal {
class  AutofillDriver_FormsSeen_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<mojo::internal::Array_Data<mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data>>> updated_forms;
  mojo::internal::Pointer<mojo::internal::Array_Data<mojo::internal::Pointer<::autofill::mojom::internal::FormRendererId_Data>>> removed_forms;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_FormsSeen_Params_Data>;

  AutofillDriver_FormsSeen_Params_Data();
  ~AutofillDriver_FormsSeen_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_FormsSeen_Params_Data) == 24,
              "Bad sizeof(AutofillDriver_FormsSeen_Params_Data)");
class  AutofillDriver_FormSubmitted_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form;
  int32_t source;
  uint8_t padfinal_[4];

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_FormSubmitted_Params_Data>;

  AutofillDriver_FormSubmitted_Params_Data();
  ~AutofillDriver_FormSubmitted_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_FormSubmitted_Params_Data) == 24,
              "Bad sizeof(AutofillDriver_FormSubmitted_Params_Data)");
class  AutofillDriver_CaretMovedInFormField_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form;
  mojo::internal::Pointer<::autofill::mojom::internal::FieldRendererId_Data> field_id;
  mojo::internal::Pointer<::gfx::mojom::internal::Rect_Data> caret_bounds;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_CaretMovedInFormField_Params_Data>;

  AutofillDriver_CaretMovedInFormField_Params_Data();
  ~AutofillDriver_CaretMovedInFormField_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_CaretMovedInFormField_Params_Data) == 32,
              "Bad sizeof(AutofillDriver_CaretMovedInFormField_Params_Data)");
class  AutofillDriver_TextFieldValueChanged_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form;
  mojo::internal::Pointer<::autofill::mojom::internal::FieldRendererId_Data> field_id;
  mojo::internal::Pointer<::mojo_base::mojom::internal::TimeTicks_Data> timestamp;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_TextFieldValueChanged_Params_Data>;

  AutofillDriver_TextFieldValueChanged_Params_Data();
  ~AutofillDriver_TextFieldValueChanged_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_TextFieldValueChanged_Params_Data) == 32,
              "Bad sizeof(AutofillDriver_TextFieldValueChanged_Params_Data)");
class  AutofillDriver_DidEndTextFieldEditing_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_DidEndTextFieldEditing_Params_Data>;

  AutofillDriver_DidEndTextFieldEditing_Params_Data();
  ~AutofillDriver_DidEndTextFieldEditing_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_DidEndTextFieldEditing_Params_Data) == 8,
              "Bad sizeof(AutofillDriver_DidEndTextFieldEditing_Params_Data)");
class  AutofillDriver_TextFieldDidScroll_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form;
  mojo::internal::Pointer<::autofill::mojom::internal::FieldRendererId_Data> field_id;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_TextFieldDidScroll_Params_Data>;

  AutofillDriver_TextFieldDidScroll_Params_Data();
  ~AutofillDriver_TextFieldDidScroll_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_TextFieldDidScroll_Params_Data) == 24,
              "Bad sizeof(AutofillDriver_TextFieldDidScroll_Params_Data)");
class  AutofillDriver_SelectControlSelectionChanged_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form;
  mojo::internal::Pointer<::autofill::mojom::internal::FieldRendererId_Data> field_id;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_SelectControlSelectionChanged_Params_Data>;

  AutofillDriver_SelectControlSelectionChanged_Params_Data();
  ~AutofillDriver_SelectControlSelectionChanged_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_SelectControlSelectionChanged_Params_Data) == 24,
              "Bad sizeof(AutofillDriver_SelectControlSelectionChanged_Params_Data)");
class  AutofillDriver_SelectFieldOptionsDidChange_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form;
  mojo::internal::Pointer<::autofill::mojom::internal::FieldRendererId_Data> field_id;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_SelectFieldOptionsDidChange_Params_Data>;

  AutofillDriver_SelectFieldOptionsDidChange_Params_Data();
  ~AutofillDriver_SelectFieldOptionsDidChange_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_SelectFieldOptionsDidChange_Params_Data) == 24,
              "Bad sizeof(AutofillDriver_SelectFieldOptionsDidChange_Params_Data)");
class  AutofillDriver_FocusOnFormField_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form;
  mojo::internal::Pointer<::autofill::mojom::internal::FieldRendererId_Data> field_id;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_FocusOnFormField_Params_Data>;

  AutofillDriver_FocusOnFormField_Params_Data();
  ~AutofillDriver_FocusOnFormField_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_FocusOnFormField_Params_Data) == 24,
              "Bad sizeof(AutofillDriver_FocusOnFormField_Params_Data)");
class  AutofillDriver_FocusOnNonFormField_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_FocusOnNonFormField_Params_Data>;

  AutofillDriver_FocusOnNonFormField_Params_Data();
  ~AutofillDriver_FocusOnNonFormField_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_FocusOnNonFormField_Params_Data) == 8,
              "Bad sizeof(AutofillDriver_FocusOnNonFormField_Params_Data)");
class  AutofillDriver_AskForValuesToFill_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form;
  mojo::internal::Pointer<::autofill::mojom::internal::FieldRendererId_Data> field_id;
  mojo::internal::Pointer<::gfx::mojom::internal::Rect_Data> caret_bounds;
  int32_t trigger_source;
  uint8_t pad3_[4];
  mojo::internal::Pointer<::autofill::mojom::internal::PasswordSuggestionRequest_Data> password_request;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_AskForValuesToFill_Params_Data>;

  AutofillDriver_AskForValuesToFill_Params_Data();
  ~AutofillDriver_AskForValuesToFill_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_AskForValuesToFill_Params_Data) == 48,
              "Bad sizeof(AutofillDriver_AskForValuesToFill_Params_Data)");
class  AutofillDriver_HidePopup_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_HidePopup_Params_Data>;

  AutofillDriver_HidePopup_Params_Data();
  ~AutofillDriver_HidePopup_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_HidePopup_Params_Data) == 8,
              "Bad sizeof(AutofillDriver_HidePopup_Params_Data)");
class  AutofillDriver_DidAutofillForm_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_DidAutofillForm_Params_Data>;

  AutofillDriver_DidAutofillForm_Params_Data();
  ~AutofillDriver_DidAutofillForm_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_DidAutofillForm_Params_Data) == 16,
              "Bad sizeof(AutofillDriver_DidAutofillForm_Params_Data)");
class  AutofillDriver_SuppressAutomaticRefills_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FillId_Data> fill_id;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_SuppressAutomaticRefills_Params_Data>;

  AutofillDriver_SuppressAutomaticRefills_Params_Data();
  ~AutofillDriver_SuppressAutomaticRefills_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_SuppressAutomaticRefills_Params_Data) == 16,
              "Bad sizeof(AutofillDriver_SuppressAutomaticRefills_Params_Data)");
class  AutofillDriver_RequestRefill_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FillId_Data> fill_id;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_RequestRefill_Params_Data>;

  AutofillDriver_RequestRefill_Params_Data();
  ~AutofillDriver_RequestRefill_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_RequestRefill_Params_Data) == 16,
              "Bad sizeof(AutofillDriver_RequestRefill_Params_Data)");
class  AutofillDriver_JavaScriptChangedAutofilledValue_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form;
  mojo::internal::Pointer<::autofill::mojom::internal::FieldRendererId_Data> field_id;
  mojo::internal::Pointer<::mojo_base::mojom::internal::String16_Data> old_value;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_JavaScriptChangedAutofilledValue_Params_Data>;

  AutofillDriver_JavaScriptChangedAutofilledValue_Params_Data();
  ~AutofillDriver_JavaScriptChangedAutofilledValue_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_JavaScriptChangedAutofilledValue_Params_Data) == 32,
              "Bad sizeof(AutofillDriver_JavaScriptChangedAutofilledValue_Params_Data)");
class  AutofillDriver_FormWithEmailVerificationTokenSubmitted_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form;
  mojo::internal::Pointer<::autofill::mojom::internal::FieldRendererId_Data> email_field_id;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_FormWithEmailVerificationTokenSubmitted_Params_Data>;

  AutofillDriver_FormWithEmailVerificationTokenSubmitted_Params_Data();
  ~AutofillDriver_FormWithEmailVerificationTokenSubmitted_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_FormWithEmailVerificationTokenSubmitted_Params_Data) == 24,
              "Bad sizeof(AutofillDriver_FormWithEmailVerificationTokenSubmitted_Params_Data)");
class  AutofillDriver_DidDetectJavaScriptAutofill_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form;
  mojo::internal::Pointer<::autofill::mojom::internal::FieldRendererId_Data> trigger_field_id;
  mojo::internal::Pointer<mojo::internal::Array_Data<mojo::internal::Pointer<::autofill::mojom::internal::JavaScriptFieldModification_Data>>> field_modifications;

 private:
  friend class mojo::internal::MessageFragment<AutofillDriver_DidDetectJavaScriptAutofill_Params_Data>;

  AutofillDriver_DidDetectJavaScriptAutofill_Params_Data();
  ~AutofillDriver_DidDetectJavaScriptAutofill_Params_Data() = delete;
};
static_assert(sizeof(AutofillDriver_DidDetectJavaScriptAutofill_Params_Data) == 32,
              "Bad sizeof(AutofillDriver_DidDetectJavaScriptAutofill_Params_Data)");
class  PasswordManagerDriver_PasswordFormsParsed_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<mojo::internal::Array_Data<mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data>>> forms_data;

 private:
  friend class mojo::internal::MessageFragment<PasswordManagerDriver_PasswordFormsParsed_Params_Data>;

  PasswordManagerDriver_PasswordFormsParsed_Params_Data();
  ~PasswordManagerDriver_PasswordFormsParsed_Params_Data() = delete;
};
static_assert(sizeof(PasswordManagerDriver_PasswordFormsParsed_Params_Data) == 16,
              "Bad sizeof(PasswordManagerDriver_PasswordFormsParsed_Params_Data)");
class  PasswordManagerDriver_PasswordFormsRendered_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<mojo::internal::Array_Data<mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data>>> visible_forms_data;

 private:
  friend class mojo::internal::MessageFragment<PasswordManagerDriver_PasswordFormsRendered_Params_Data>;

  PasswordManagerDriver_PasswordFormsRendered_Params_Data();
  ~PasswordManagerDriver_PasswordFormsRendered_Params_Data() = delete;
};
static_assert(sizeof(PasswordManagerDriver_PasswordFormsRendered_Params_Data) == 16,
              "Bad sizeof(PasswordManagerDriver_PasswordFormsRendered_Params_Data)");
class  PasswordManagerDriver_PasswordFormSubmitted_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form_data;

 private:
  friend class mojo::internal::MessageFragment<PasswordManagerDriver_PasswordFormSubmitted_Params_Data>;

  PasswordManagerDriver_PasswordFormSubmitted_Params_Data();
  ~PasswordManagerDriver_PasswordFormSubmitted_Params_Data() = delete;
};
static_assert(sizeof(PasswordManagerDriver_PasswordFormSubmitted_Params_Data) == 16,
              "Bad sizeof(PasswordManagerDriver_PasswordFormSubmitted_Params_Data)");
class  PasswordManagerDriver_InformAboutUserInput_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form_data;

 private:
  friend class mojo::internal::MessageFragment<PasswordManagerDriver_InformAboutUserInput_Params_Data>;

  PasswordManagerDriver_InformAboutUserInput_Params_Data();
  ~PasswordManagerDriver_InformAboutUserInput_Params_Data() = delete;
};
static_assert(sizeof(PasswordManagerDriver_InformAboutUserInput_Params_Data) == 16,
              "Bad sizeof(PasswordManagerDriver_InformAboutUserInput_Params_Data)");
class  PasswordManagerDriver_DynamicFormSubmission_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  int32_t submission_indication_event;
  uint8_t padfinal_[4];

 private:
  friend class mojo::internal::MessageFragment<PasswordManagerDriver_DynamicFormSubmission_Params_Data>;

  PasswordManagerDriver_DynamicFormSubmission_Params_Data();
  ~PasswordManagerDriver_DynamicFormSubmission_Params_Data() = delete;
};
static_assert(sizeof(PasswordManagerDriver_DynamicFormSubmission_Params_Data) == 16,
              "Bad sizeof(PasswordManagerDriver_DynamicFormSubmission_Params_Data)");
class  PasswordManagerDriver_PasswordFormCleared_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form_data;

 private:
  friend class mojo::internal::MessageFragment<PasswordManagerDriver_PasswordFormCleared_Params_Data>;

  PasswordManagerDriver_PasswordFormCleared_Params_Data();
  ~PasswordManagerDriver_PasswordFormCleared_Params_Data() = delete;
};
static_assert(sizeof(PasswordManagerDriver_PasswordFormCleared_Params_Data) == 16,
              "Bad sizeof(PasswordManagerDriver_PasswordFormCleared_Params_Data)");
class  PasswordManagerDriver_RecordSavePasswordProgress_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<mojo::internal::String_Data> log;

 private:
  friend class mojo::internal::MessageFragment<PasswordManagerDriver_RecordSavePasswordProgress_Params_Data>;

  PasswordManagerDriver_RecordSavePasswordProgress_Params_Data();
  ~PasswordManagerDriver_RecordSavePasswordProgress_Params_Data() = delete;
};
static_assert(sizeof(PasswordManagerDriver_RecordSavePasswordProgress_Params_Data) == 16,
              "Bad sizeof(PasswordManagerDriver_RecordSavePasswordProgress_Params_Data)");
class  PasswordManagerDriver_UserModifiedPasswordField_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;

 private:
  friend class mojo::internal::MessageFragment<PasswordManagerDriver_UserModifiedPasswordField_Params_Data>;

  PasswordManagerDriver_UserModifiedPasswordField_Params_Data();
  ~PasswordManagerDriver_UserModifiedPasswordField_Params_Data() = delete;
};
static_assert(sizeof(PasswordManagerDriver_UserModifiedPasswordField_Params_Data) == 8,
              "Bad sizeof(PasswordManagerDriver_UserModifiedPasswordField_Params_Data)");
class  PasswordManagerDriver_UserModifiedNonPasswordField_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FieldRendererId_Data> renderer_id;
  mojo::internal::Pointer<::mojo_base::mojom::internal::String16_Data> value;
  uint8_t autocomplete_attribute_has_username : 1;
  uint8_t is_likely_otp : 1;
  uint8_t padfinal_[7];

 private:
  friend class mojo::internal::MessageFragment<PasswordManagerDriver_UserModifiedNonPasswordField_Params_Data>;

  PasswordManagerDriver_UserModifiedNonPasswordField_Params_Data();
  ~PasswordManagerDriver_UserModifiedNonPasswordField_Params_Data() = delete;
};
static_assert(sizeof(PasswordManagerDriver_UserModifiedNonPasswordField_Params_Data) == 32,
              "Bad sizeof(PasswordManagerDriver_UserModifiedNonPasswordField_Params_Data)");
class  PasswordManagerDriver_CheckSafeBrowsingReputation_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::url::mojom::internal::Url_Data> form_action;
  mojo::internal::Pointer<::url::mojom::internal::Url_Data> frame_url;

 private:
  friend class mojo::internal::MessageFragment<PasswordManagerDriver_CheckSafeBrowsingReputation_Params_Data>;

  PasswordManagerDriver_CheckSafeBrowsingReputation_Params_Data();
  ~PasswordManagerDriver_CheckSafeBrowsingReputation_Params_Data() = delete;
};
static_assert(sizeof(PasswordManagerDriver_CheckSafeBrowsingReputation_Params_Data) == 24,
              "Bad sizeof(PasswordManagerDriver_CheckSafeBrowsingReputation_Params_Data)");
class  PasswordManagerDriver_FocusedInputChanged_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FieldRendererId_Data> focused_field_id;
  int32_t focused_field_type;
  uint8_t padfinal_[4];

 private:
  friend class mojo::internal::MessageFragment<PasswordManagerDriver_FocusedInputChanged_Params_Data>;

  PasswordManagerDriver_FocusedInputChanged_Params_Data();
  ~PasswordManagerDriver_FocusedInputChanged_Params_Data() = delete;
};
static_assert(sizeof(PasswordManagerDriver_FocusedInputChanged_Params_Data) == 24,
              "Bad sizeof(PasswordManagerDriver_FocusedInputChanged_Params_Data)");
class  PasswordManagerDriver_LogFirstFillingResult_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormRendererId_Data> form_renderer_id;
  int32_t result;
  uint8_t padfinal_[4];

 private:
  friend class mojo::internal::MessageFragment<PasswordManagerDriver_LogFirstFillingResult_Params_Data>;

  PasswordManagerDriver_LogFirstFillingResult_Params_Data();
  ~PasswordManagerDriver_LogFirstFillingResult_Params_Data() = delete;
};
static_assert(sizeof(PasswordManagerDriver_LogFirstFillingResult_Params_Data) == 24,
              "Bad sizeof(PasswordManagerDriver_LogFirstFillingResult_Params_Data)");
class  PasswordGenerationDriver_AutomaticGenerationAvailable_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::PasswordGenerationUIData_Data> password_generation_ui_data;

 private:
  friend class mojo::internal::MessageFragment<PasswordGenerationDriver_AutomaticGenerationAvailable_Params_Data>;

  PasswordGenerationDriver_AutomaticGenerationAvailable_Params_Data();
  ~PasswordGenerationDriver_AutomaticGenerationAvailable_Params_Data() = delete;
};
static_assert(sizeof(PasswordGenerationDriver_AutomaticGenerationAvailable_Params_Data) == 16,
              "Bad sizeof(PasswordGenerationDriver_AutomaticGenerationAvailable_Params_Data)");
class  PasswordGenerationDriver_PresaveGeneratedPassword_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form_data;
  mojo::internal::Pointer<::mojo_base::mojom::internal::String16_Data> password_value;

 private:
  friend class mojo::internal::MessageFragment<PasswordGenerationDriver_PresaveGeneratedPassword_Params_Data>;

  PasswordGenerationDriver_PresaveGeneratedPassword_Params_Data();
  ~PasswordGenerationDriver_PresaveGeneratedPassword_Params_Data() = delete;
};
static_assert(sizeof(PasswordGenerationDriver_PresaveGeneratedPassword_Params_Data) == 24,
              "Bad sizeof(PasswordGenerationDriver_PresaveGeneratedPassword_Params_Data)");
class  PasswordGenerationDriver_PasswordNoLongerGenerated_Params_Data {
 public:
  static bool Validate(const void* data,
                       mojo::internal::ValidationContext* validation_context);

  mojo::internal::StructHeader header_;
  mojo::internal::Pointer<::autofill::mojom::internal::FormData_Data> form_data;

 private:
  friend class mojo::internal::MessageFragment<PasswordGenerationDriver_PasswordNoLongerGenerated_Params_Data>;

  PasswordGenerationDriver_PasswordNoLongerGenerated_Params_Data();
  ~PasswordGenerationDriver_PasswordNoLongerGenerated_Params_Data() = delete;
};
static_assert(sizeof(PasswordGenerationDriver_PasswordNoLongerGenerated_Params_Data) == 16,
              "Bad sizeof(PasswordGenerationDriver_PasswordNoLongerGenerated_Params_Data)");

}  // namespace internal


class AutofillDriver_FormsSeen_ParamsDataView {
 public:
  AutofillDriver_FormsSeen_ParamsDataView() = default;

  AutofillDriver_FormsSeen_ParamsDataView(
      internal::AutofillDriver_FormsSeen_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetUpdatedFormsDataView(
      mojo::ArrayDataView<::autofill::mojom::FormDataDataView>* output);

  template <typename UserType>
  [[nodiscard]] bool ReadUpdatedForms(UserType* output) {
    
    auto* pointer = data_->updated_forms.Get();
    return mojo::internal::Deserialize<mojo::ArrayDataView<::autofill::mojom::FormDataDataView>>(
        pointer, output, message_);
  }
  inline void GetRemovedFormsDataView(
      mojo::ArrayDataView<::autofill::mojom::FormRendererIdDataView>* output);

  template <typename UserType>
  [[nodiscard]] bool ReadRemovedForms(UserType* output) {
    
    auto* pointer = data_->removed_forms.Get();
    return mojo::internal::Deserialize<mojo::ArrayDataView<::autofill::mojom::FormRendererIdDataView>>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_FormsSeen_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_FormSubmitted_ParamsDataView {
 public:
  AutofillDriver_FormSubmitted_ParamsDataView() = default;

  AutofillDriver_FormSubmitted_ParamsDataView(
      internal::AutofillDriver_FormSubmitted_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadForm(UserType* output) {
    
    auto* pointer = data_->form.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
  template <typename UserType>
  [[nodiscard]] bool ReadSource(UserType* output) const {
    auto data_value = data_->source;
    return mojo::internal::Deserialize<::autofill::mojom::SubmissionSource>(
        data_value, output);
  }
  ::autofill::mojom::SubmissionSource source() const {
    return ::mojo::internal::ToKnownEnumValueHelper(
          static_cast<::autofill::mojom::SubmissionSource>(data_->source));
  }
 private:
  internal::AutofillDriver_FormSubmitted_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_CaretMovedInFormField_ParamsDataView {
 public:
  AutofillDriver_CaretMovedInFormField_ParamsDataView() = default;

  AutofillDriver_CaretMovedInFormField_ParamsDataView(
      internal::AutofillDriver_CaretMovedInFormField_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadForm(UserType* output) {
    
    auto* pointer = data_->form.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
  inline void GetFieldIdDataView(
      ::autofill::mojom::FieldRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFieldId(UserType* output) {
    
    auto* pointer = data_->field_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FieldRendererIdDataView>(
        pointer, output, message_);
  }
  inline void GetCaretBoundsDataView(
      ::gfx::mojom::RectDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadCaretBounds(UserType* output) {
    
    auto* pointer = data_->caret_bounds.Get();
    return mojo::internal::Deserialize<::gfx::mojom::RectDataView>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_CaretMovedInFormField_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_TextFieldValueChanged_ParamsDataView {
 public:
  AutofillDriver_TextFieldValueChanged_ParamsDataView() = default;

  AutofillDriver_TextFieldValueChanged_ParamsDataView(
      internal::AutofillDriver_TextFieldValueChanged_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadForm(UserType* output) {
    
    auto* pointer = data_->form.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
  inline void GetFieldIdDataView(
      ::autofill::mojom::FieldRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFieldId(UserType* output) {
    
    auto* pointer = data_->field_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FieldRendererIdDataView>(
        pointer, output, message_);
  }
  inline void GetTimestampDataView(
      ::mojo_base::mojom::TimeTicksDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadTimestamp(UserType* output) {
    
    auto* pointer = data_->timestamp.Get();
    return mojo::internal::Deserialize<::mojo_base::mojom::TimeTicksDataView>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_TextFieldValueChanged_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_DidEndTextFieldEditing_ParamsDataView {
 public:
  AutofillDriver_DidEndTextFieldEditing_ParamsDataView() = default;

  AutofillDriver_DidEndTextFieldEditing_ParamsDataView(
      internal::AutofillDriver_DidEndTextFieldEditing_Params_Data* data,
      mojo::Message* message)
      : data_(data) {}

  bool is_null() const { return !data_; }
 private:
  internal::AutofillDriver_DidEndTextFieldEditing_Params_Data* data_ = nullptr;
};


class AutofillDriver_TextFieldDidScroll_ParamsDataView {
 public:
  AutofillDriver_TextFieldDidScroll_ParamsDataView() = default;

  AutofillDriver_TextFieldDidScroll_ParamsDataView(
      internal::AutofillDriver_TextFieldDidScroll_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadForm(UserType* output) {
    
    auto* pointer = data_->form.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
  inline void GetFieldIdDataView(
      ::autofill::mojom::FieldRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFieldId(UserType* output) {
    
    auto* pointer = data_->field_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FieldRendererIdDataView>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_TextFieldDidScroll_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_SelectControlSelectionChanged_ParamsDataView {
 public:
  AutofillDriver_SelectControlSelectionChanged_ParamsDataView() = default;

  AutofillDriver_SelectControlSelectionChanged_ParamsDataView(
      internal::AutofillDriver_SelectControlSelectionChanged_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadForm(UserType* output) {
    
    auto* pointer = data_->form.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
  inline void GetFieldIdDataView(
      ::autofill::mojom::FieldRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFieldId(UserType* output) {
    
    auto* pointer = data_->field_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FieldRendererIdDataView>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_SelectControlSelectionChanged_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_SelectFieldOptionsDidChange_ParamsDataView {
 public:
  AutofillDriver_SelectFieldOptionsDidChange_ParamsDataView() = default;

  AutofillDriver_SelectFieldOptionsDidChange_ParamsDataView(
      internal::AutofillDriver_SelectFieldOptionsDidChange_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadForm(UserType* output) {
    
    auto* pointer = data_->form.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
  inline void GetFieldIdDataView(
      ::autofill::mojom::FieldRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFieldId(UserType* output) {
    
    auto* pointer = data_->field_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FieldRendererIdDataView>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_SelectFieldOptionsDidChange_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_FocusOnFormField_ParamsDataView {
 public:
  AutofillDriver_FocusOnFormField_ParamsDataView() = default;

  AutofillDriver_FocusOnFormField_ParamsDataView(
      internal::AutofillDriver_FocusOnFormField_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadForm(UserType* output) {
    
    auto* pointer = data_->form.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
  inline void GetFieldIdDataView(
      ::autofill::mojom::FieldRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFieldId(UserType* output) {
    
    auto* pointer = data_->field_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FieldRendererIdDataView>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_FocusOnFormField_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_FocusOnNonFormField_ParamsDataView {
 public:
  AutofillDriver_FocusOnNonFormField_ParamsDataView() = default;

  AutofillDriver_FocusOnNonFormField_ParamsDataView(
      internal::AutofillDriver_FocusOnNonFormField_Params_Data* data,
      mojo::Message* message)
      : data_(data) {}

  bool is_null() const { return !data_; }
 private:
  internal::AutofillDriver_FocusOnNonFormField_Params_Data* data_ = nullptr;
};


class AutofillDriver_AskForValuesToFill_ParamsDataView {
 public:
  AutofillDriver_AskForValuesToFill_ParamsDataView() = default;

  AutofillDriver_AskForValuesToFill_ParamsDataView(
      internal::AutofillDriver_AskForValuesToFill_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadForm(UserType* output) {
    
    auto* pointer = data_->form.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
  inline void GetFieldIdDataView(
      ::autofill::mojom::FieldRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFieldId(UserType* output) {
    
    auto* pointer = data_->field_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FieldRendererIdDataView>(
        pointer, output, message_);
  }
  inline void GetCaretBoundsDataView(
      ::gfx::mojom::RectDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadCaretBounds(UserType* output) {
    
    auto* pointer = data_->caret_bounds.Get();
    return mojo::internal::Deserialize<::gfx::mojom::RectDataView>(
        pointer, output, message_);
  }
  template <typename UserType>
  [[nodiscard]] bool ReadTriggerSource(UserType* output) const {
    auto data_value = data_->trigger_source;
    return mojo::internal::Deserialize<::autofill::mojom::AutofillSuggestionTriggerSource>(
        data_value, output);
  }
  ::autofill::mojom::AutofillSuggestionTriggerSource trigger_source() const {
    return ::mojo::internal::ToKnownEnumValueHelper(
          static_cast<::autofill::mojom::AutofillSuggestionTriggerSource>(data_->trigger_source));
  }
  inline void GetPasswordRequestDataView(
      ::autofill::mojom::PasswordSuggestionRequestDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadPasswordRequest(UserType* output) {
    
static_assert(
    mojo::internal::IsValidUserTypeForOptionalValue<
        ::autofill::mojom::PasswordSuggestionRequestDataView, UserType>(),
    "Attempting to read the optional `password_request` field into a type which "
    "cannot represent a null value. Either wrap the destination object "
    "with std::optional, ensure that any corresponding "
    "{Struct/Union/Array/String}Traits define the necessary IsNull and "
    "SetToNull methods, or use `MaybeReadPasswordRequest` instead "
    "of `ReadPasswordRequest if you're fine with null values being "
    "silently ignored in this case.");
    auto* pointer = data_->password_request.Get();
    return mojo::internal::Deserialize<::autofill::mojom::PasswordSuggestionRequestDataView>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_AskForValuesToFill_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_HidePopup_ParamsDataView {
 public:
  AutofillDriver_HidePopup_ParamsDataView() = default;

  AutofillDriver_HidePopup_ParamsDataView(
      internal::AutofillDriver_HidePopup_Params_Data* data,
      mojo::Message* message)
      : data_(data) {}

  bool is_null() const { return !data_; }
 private:
  internal::AutofillDriver_HidePopup_Params_Data* data_ = nullptr;
};


class AutofillDriver_DidAutofillForm_ParamsDataView {
 public:
  AutofillDriver_DidAutofillForm_ParamsDataView() = default;

  AutofillDriver_DidAutofillForm_ParamsDataView(
      internal::AutofillDriver_DidAutofillForm_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadForm(UserType* output) {
    
    auto* pointer = data_->form.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_DidAutofillForm_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_SuppressAutomaticRefills_ParamsDataView {
 public:
  AutofillDriver_SuppressAutomaticRefills_ParamsDataView() = default;

  AutofillDriver_SuppressAutomaticRefills_ParamsDataView(
      internal::AutofillDriver_SuppressAutomaticRefills_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFillIdDataView(
      ::autofill::mojom::FillIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFillId(UserType* output) {
    
    auto* pointer = data_->fill_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FillIdDataView>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_SuppressAutomaticRefills_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_RequestRefill_ParamsDataView {
 public:
  AutofillDriver_RequestRefill_ParamsDataView() = default;

  AutofillDriver_RequestRefill_ParamsDataView(
      internal::AutofillDriver_RequestRefill_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFillIdDataView(
      ::autofill::mojom::FillIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFillId(UserType* output) {
    
    auto* pointer = data_->fill_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FillIdDataView>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_RequestRefill_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_JavaScriptChangedAutofilledValue_ParamsDataView {
 public:
  AutofillDriver_JavaScriptChangedAutofilledValue_ParamsDataView() = default;

  AutofillDriver_JavaScriptChangedAutofilledValue_ParamsDataView(
      internal::AutofillDriver_JavaScriptChangedAutofilledValue_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadForm(UserType* output) {
    
    auto* pointer = data_->form.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
  inline void GetFieldIdDataView(
      ::autofill::mojom::FieldRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFieldId(UserType* output) {
    
    auto* pointer = data_->field_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FieldRendererIdDataView>(
        pointer, output, message_);
  }
  inline void GetOldValueDataView(
      ::mojo_base::mojom::String16DataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadOldValue(UserType* output) {
    
    auto* pointer = data_->old_value.Get();
    return mojo::internal::Deserialize<::mojo_base::mojom::String16DataView>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_JavaScriptChangedAutofilledValue_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_FormWithEmailVerificationTokenSubmitted_ParamsDataView {
 public:
  AutofillDriver_FormWithEmailVerificationTokenSubmitted_ParamsDataView() = default;

  AutofillDriver_FormWithEmailVerificationTokenSubmitted_ParamsDataView(
      internal::AutofillDriver_FormWithEmailVerificationTokenSubmitted_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadForm(UserType* output) {
    
    auto* pointer = data_->form.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
  inline void GetEmailFieldIdDataView(
      ::autofill::mojom::FieldRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadEmailFieldId(UserType* output) {
    
    auto* pointer = data_->email_field_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FieldRendererIdDataView>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_FormWithEmailVerificationTokenSubmitted_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class AutofillDriver_DidDetectJavaScriptAutofill_ParamsDataView {
 public:
  AutofillDriver_DidDetectJavaScriptAutofill_ParamsDataView() = default;

  AutofillDriver_DidDetectJavaScriptAutofill_ParamsDataView(
      internal::AutofillDriver_DidDetectJavaScriptAutofill_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadForm(UserType* output) {
    
    auto* pointer = data_->form.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
  inline void GetTriggerFieldIdDataView(
      ::autofill::mojom::FieldRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadTriggerFieldId(UserType* output) {
    
    auto* pointer = data_->trigger_field_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FieldRendererIdDataView>(
        pointer, output, message_);
  }
  inline void GetFieldModificationsDataView(
      mojo::ArrayDataView<::autofill::mojom::JavaScriptFieldModificationDataView>* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFieldModifications(UserType* output) {
    
    auto* pointer = data_->field_modifications.Get();
    return mojo::internal::Deserialize<mojo::ArrayDataView<::autofill::mojom::JavaScriptFieldModificationDataView>>(
        pointer, output, message_);
  }
 private:
  internal::AutofillDriver_DidDetectJavaScriptAutofill_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordManagerDriver_PasswordFormsParsed_ParamsDataView {
 public:
  PasswordManagerDriver_PasswordFormsParsed_ParamsDataView() = default;

  PasswordManagerDriver_PasswordFormsParsed_ParamsDataView(
      internal::PasswordManagerDriver_PasswordFormsParsed_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormsDataDataView(
      mojo::ArrayDataView<::autofill::mojom::FormDataDataView>* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFormsData(UserType* output) {
    
    auto* pointer = data_->forms_data.Get();
    return mojo::internal::Deserialize<mojo::ArrayDataView<::autofill::mojom::FormDataDataView>>(
        pointer, output, message_);
  }
 private:
  internal::PasswordManagerDriver_PasswordFormsParsed_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordManagerDriver_PasswordFormsRendered_ParamsDataView {
 public:
  PasswordManagerDriver_PasswordFormsRendered_ParamsDataView() = default;

  PasswordManagerDriver_PasswordFormsRendered_ParamsDataView(
      internal::PasswordManagerDriver_PasswordFormsRendered_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetVisibleFormsDataDataView(
      mojo::ArrayDataView<::autofill::mojom::FormDataDataView>* output);

  template <typename UserType>
  [[nodiscard]] bool ReadVisibleFormsData(UserType* output) {
    
    auto* pointer = data_->visible_forms_data.Get();
    return mojo::internal::Deserialize<mojo::ArrayDataView<::autofill::mojom::FormDataDataView>>(
        pointer, output, message_);
  }
 private:
  internal::PasswordManagerDriver_PasswordFormsRendered_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordManagerDriver_PasswordFormSubmitted_ParamsDataView {
 public:
  PasswordManagerDriver_PasswordFormSubmitted_ParamsDataView() = default;

  PasswordManagerDriver_PasswordFormSubmitted_ParamsDataView(
      internal::PasswordManagerDriver_PasswordFormSubmitted_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFormData(UserType* output) {
    
    auto* pointer = data_->form_data.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
 private:
  internal::PasswordManagerDriver_PasswordFormSubmitted_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordManagerDriver_InformAboutUserInput_ParamsDataView {
 public:
  PasswordManagerDriver_InformAboutUserInput_ParamsDataView() = default;

  PasswordManagerDriver_InformAboutUserInput_ParamsDataView(
      internal::PasswordManagerDriver_InformAboutUserInput_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFormData(UserType* output) {
    
    auto* pointer = data_->form_data.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
 private:
  internal::PasswordManagerDriver_InformAboutUserInput_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordManagerDriver_DynamicFormSubmission_ParamsDataView {
 public:
  PasswordManagerDriver_DynamicFormSubmission_ParamsDataView() = default;

  PasswordManagerDriver_DynamicFormSubmission_ParamsDataView(
      internal::PasswordManagerDriver_DynamicFormSubmission_Params_Data* data,
      mojo::Message* message)
      : data_(data) {}

  bool is_null() const { return !data_; }
  template <typename UserType>
  [[nodiscard]] bool ReadSubmissionIndicationEvent(UserType* output) const {
    auto data_value = data_->submission_indication_event;
    return mojo::internal::Deserialize<::autofill::mojom::SubmissionIndicatorEvent>(
        data_value, output);
  }
  ::autofill::mojom::SubmissionIndicatorEvent submission_indication_event() const {
    return ::mojo::internal::ToKnownEnumValueHelper(
          static_cast<::autofill::mojom::SubmissionIndicatorEvent>(data_->submission_indication_event));
  }
 private:
  internal::PasswordManagerDriver_DynamicFormSubmission_Params_Data* data_ = nullptr;
};


class PasswordManagerDriver_PasswordFormCleared_ParamsDataView {
 public:
  PasswordManagerDriver_PasswordFormCleared_ParamsDataView() = default;

  PasswordManagerDriver_PasswordFormCleared_ParamsDataView(
      internal::PasswordManagerDriver_PasswordFormCleared_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFormData(UserType* output) {
    
    auto* pointer = data_->form_data.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
 private:
  internal::PasswordManagerDriver_PasswordFormCleared_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordManagerDriver_RecordSavePasswordProgress_ParamsDataView {
 public:
  PasswordManagerDriver_RecordSavePasswordProgress_ParamsDataView() = default;

  PasswordManagerDriver_RecordSavePasswordProgress_ParamsDataView(
      internal::PasswordManagerDriver_RecordSavePasswordProgress_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetLogDataView(
      mojo::StringDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadLog(UserType* output) {
    
    auto* pointer = data_->log.Get();
    return mojo::internal::Deserialize<mojo::StringDataView>(
        pointer, output, message_);
  }
 private:
  internal::PasswordManagerDriver_RecordSavePasswordProgress_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordManagerDriver_UserModifiedPasswordField_ParamsDataView {
 public:
  PasswordManagerDriver_UserModifiedPasswordField_ParamsDataView() = default;

  PasswordManagerDriver_UserModifiedPasswordField_ParamsDataView(
      internal::PasswordManagerDriver_UserModifiedPasswordField_Params_Data* data,
      mojo::Message* message)
      : data_(data) {}

  bool is_null() const { return !data_; }
 private:
  internal::PasswordManagerDriver_UserModifiedPasswordField_Params_Data* data_ = nullptr;
};


class PasswordManagerDriver_UserModifiedNonPasswordField_ParamsDataView {
 public:
  PasswordManagerDriver_UserModifiedNonPasswordField_ParamsDataView() = default;

  PasswordManagerDriver_UserModifiedNonPasswordField_ParamsDataView(
      internal::PasswordManagerDriver_UserModifiedNonPasswordField_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetRendererIdDataView(
      ::autofill::mojom::FieldRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadRendererId(UserType* output) {
    
    auto* pointer = data_->renderer_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FieldRendererIdDataView>(
        pointer, output, message_);
  }
  inline void GetValueDataView(
      ::mojo_base::mojom::String16DataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadValue(UserType* output) {
    
    auto* pointer = data_->value.Get();
    return mojo::internal::Deserialize<::mojo_base::mojom::String16DataView>(
        pointer, output, message_);
  }
  bool autocomplete_attribute_has_username() const {
    return data_->autocomplete_attribute_has_username;
  }
  bool is_likely_otp() const {
    return data_->is_likely_otp;
  }
 private:
  internal::PasswordManagerDriver_UserModifiedNonPasswordField_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordManagerDriver_CheckSafeBrowsingReputation_ParamsDataView {
 public:
  PasswordManagerDriver_CheckSafeBrowsingReputation_ParamsDataView() = default;

  PasswordManagerDriver_CheckSafeBrowsingReputation_ParamsDataView(
      internal::PasswordManagerDriver_CheckSafeBrowsingReputation_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormActionDataView(
      ::url::mojom::UrlDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFormAction(UserType* output) {
    
    auto* pointer = data_->form_action.Get();
    return mojo::internal::Deserialize<::url::mojom::UrlDataView>(
        pointer, output, message_);
  }
  inline void GetFrameUrlDataView(
      ::url::mojom::UrlDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFrameUrl(UserType* output) {
    
    auto* pointer = data_->frame_url.Get();
    return mojo::internal::Deserialize<::url::mojom::UrlDataView>(
        pointer, output, message_);
  }
 private:
  internal::PasswordManagerDriver_CheckSafeBrowsingReputation_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordManagerDriver_FocusedInputChanged_ParamsDataView {
 public:
  PasswordManagerDriver_FocusedInputChanged_ParamsDataView() = default;

  PasswordManagerDriver_FocusedInputChanged_ParamsDataView(
      internal::PasswordManagerDriver_FocusedInputChanged_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFocusedFieldIdDataView(
      ::autofill::mojom::FieldRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFocusedFieldId(UserType* output) {
    
    auto* pointer = data_->focused_field_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FieldRendererIdDataView>(
        pointer, output, message_);
  }
  template <typename UserType>
  [[nodiscard]] bool ReadFocusedFieldType(UserType* output) const {
    auto data_value = data_->focused_field_type;
    return mojo::internal::Deserialize<::autofill::mojom::FocusedFieldType>(
        data_value, output);
  }
  ::autofill::mojom::FocusedFieldType focused_field_type() const {
    return ::mojo::internal::ToKnownEnumValueHelper(
          static_cast<::autofill::mojom::FocusedFieldType>(data_->focused_field_type));
  }
 private:
  internal::PasswordManagerDriver_FocusedInputChanged_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordManagerDriver_LogFirstFillingResult_ParamsDataView {
 public:
  PasswordManagerDriver_LogFirstFillingResult_ParamsDataView() = default;

  PasswordManagerDriver_LogFirstFillingResult_ParamsDataView(
      internal::PasswordManagerDriver_LogFirstFillingResult_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormRendererIdDataView(
      ::autofill::mojom::FormRendererIdDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFormRendererId(UserType* output) {
    
    auto* pointer = data_->form_renderer_id.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormRendererIdDataView>(
        pointer, output, message_);
  }
  int32_t result() const {
    return data_->result;
  }
 private:
  internal::PasswordManagerDriver_LogFirstFillingResult_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordGenerationDriver_AutomaticGenerationAvailable_ParamsDataView {
 public:
  PasswordGenerationDriver_AutomaticGenerationAvailable_ParamsDataView() = default;

  PasswordGenerationDriver_AutomaticGenerationAvailable_ParamsDataView(
      internal::PasswordGenerationDriver_AutomaticGenerationAvailable_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetPasswordGenerationUiDataDataView(
      ::autofill::mojom::PasswordGenerationUIDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadPasswordGenerationUiData(UserType* output) {
    
    auto* pointer = data_->password_generation_ui_data.Get();
    return mojo::internal::Deserialize<::autofill::mojom::PasswordGenerationUIDataDataView>(
        pointer, output, message_);
  }
 private:
  internal::PasswordGenerationDriver_AutomaticGenerationAvailable_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordGenerationDriver_PresaveGeneratedPassword_ParamsDataView {
 public:
  PasswordGenerationDriver_PresaveGeneratedPassword_ParamsDataView() = default;

  PasswordGenerationDriver_PresaveGeneratedPassword_ParamsDataView(
      internal::PasswordGenerationDriver_PresaveGeneratedPassword_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFormData(UserType* output) {
    
    auto* pointer = data_->form_data.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
  inline void GetPasswordValueDataView(
      ::mojo_base::mojom::String16DataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadPasswordValue(UserType* output) {
    
    auto* pointer = data_->password_value.Get();
    return mojo::internal::Deserialize<::mojo_base::mojom::String16DataView>(
        pointer, output, message_);
  }
 private:
  internal::PasswordGenerationDriver_PresaveGeneratedPassword_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};


class PasswordGenerationDriver_PasswordNoLongerGenerated_ParamsDataView {
 public:
  PasswordGenerationDriver_PasswordNoLongerGenerated_ParamsDataView() = default;

  PasswordGenerationDriver_PasswordNoLongerGenerated_ParamsDataView(
      internal::PasswordGenerationDriver_PasswordNoLongerGenerated_Params_Data* data,
      mojo::Message* message)
      : data_(data), message_(message) {}

  bool is_null() const { return !data_; }
  inline void GetFormDataDataView(
      ::autofill::mojom::FormDataDataView* output);

  template <typename UserType>
  [[nodiscard]] bool ReadFormData(UserType* output) {
    
    auto* pointer = data_->form_data.Get();
    return mojo::internal::Deserialize<::autofill::mojom::FormDataDataView>(
        pointer, output, message_);
  }
 private:
  internal::PasswordGenerationDriver_PasswordNoLongerGenerated_Params_Data* data_ = nullptr;
  mojo::Message* message_ = nullptr;
};

inline void AutofillDriver_FormsSeen_ParamsDataView::GetUpdatedFormsDataView(
    mojo::ArrayDataView<::autofill::mojom::FormDataDataView>* output) {
  auto pointer = data_->updated_forms.Get();
  *output = mojo::ArrayDataView<::autofill::mojom::FormDataDataView>(pointer, message_);
}
inline void AutofillDriver_FormsSeen_ParamsDataView::GetRemovedFormsDataView(
    mojo::ArrayDataView<::autofill::mojom::FormRendererIdDataView>* output) {
  auto pointer = data_->removed_forms.Get();
  *output = mojo::ArrayDataView<::autofill::mojom::FormRendererIdDataView>(pointer, message_);
}


inline void AutofillDriver_FormSubmitted_ParamsDataView::GetFormDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}


inline void AutofillDriver_CaretMovedInFormField_ParamsDataView::GetFormDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}
inline void AutofillDriver_CaretMovedInFormField_ParamsDataView::GetFieldIdDataView(
    ::autofill::mojom::FieldRendererIdDataView* output) {
  auto pointer = data_->field_id.Get();
  *output = ::autofill::mojom::FieldRendererIdDataView(pointer, message_);
}
inline void AutofillDriver_CaretMovedInFormField_ParamsDataView::GetCaretBoundsDataView(
    ::gfx::mojom::RectDataView* output) {
  auto pointer = data_->caret_bounds.Get();
  *output = ::gfx::mojom::RectDataView(pointer, message_);
}


inline void AutofillDriver_TextFieldValueChanged_ParamsDataView::GetFormDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}
inline void AutofillDriver_TextFieldValueChanged_ParamsDataView::GetFieldIdDataView(
    ::autofill::mojom::FieldRendererIdDataView* output) {
  auto pointer = data_->field_id.Get();
  *output = ::autofill::mojom::FieldRendererIdDataView(pointer, message_);
}
inline void AutofillDriver_TextFieldValueChanged_ParamsDataView::GetTimestampDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {
  auto pointer = data_->timestamp.Get();
  *output = ::mojo_base::mojom::TimeTicksDataView(pointer, message_);
}




inline void AutofillDriver_TextFieldDidScroll_ParamsDataView::GetFormDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}
inline void AutofillDriver_TextFieldDidScroll_ParamsDataView::GetFieldIdDataView(
    ::autofill::mojom::FieldRendererIdDataView* output) {
  auto pointer = data_->field_id.Get();
  *output = ::autofill::mojom::FieldRendererIdDataView(pointer, message_);
}


inline void AutofillDriver_SelectControlSelectionChanged_ParamsDataView::GetFormDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}
inline void AutofillDriver_SelectControlSelectionChanged_ParamsDataView::GetFieldIdDataView(
    ::autofill::mojom::FieldRendererIdDataView* output) {
  auto pointer = data_->field_id.Get();
  *output = ::autofill::mojom::FieldRendererIdDataView(pointer, message_);
}


inline void AutofillDriver_SelectFieldOptionsDidChange_ParamsDataView::GetFormDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}
inline void AutofillDriver_SelectFieldOptionsDidChange_ParamsDataView::GetFieldIdDataView(
    ::autofill::mojom::FieldRendererIdDataView* output) {
  auto pointer = data_->field_id.Get();
  *output = ::autofill::mojom::FieldRendererIdDataView(pointer, message_);
}


inline void AutofillDriver_FocusOnFormField_ParamsDataView::GetFormDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}
inline void AutofillDriver_FocusOnFormField_ParamsDataView::GetFieldIdDataView(
    ::autofill::mojom::FieldRendererIdDataView* output) {
  auto pointer = data_->field_id.Get();
  *output = ::autofill::mojom::FieldRendererIdDataView(pointer, message_);
}




inline void AutofillDriver_AskForValuesToFill_ParamsDataView::GetFormDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}
inline void AutofillDriver_AskForValuesToFill_ParamsDataView::GetFieldIdDataView(
    ::autofill::mojom::FieldRendererIdDataView* output) {
  auto pointer = data_->field_id.Get();
  *output = ::autofill::mojom::FieldRendererIdDataView(pointer, message_);
}
inline void AutofillDriver_AskForValuesToFill_ParamsDataView::GetCaretBoundsDataView(
    ::gfx::mojom::RectDataView* output) {
  auto pointer = data_->caret_bounds.Get();
  *output = ::gfx::mojom::RectDataView(pointer, message_);
}
inline void AutofillDriver_AskForValuesToFill_ParamsDataView::GetPasswordRequestDataView(
    ::autofill::mojom::PasswordSuggestionRequestDataView* output) {
  auto pointer = data_->password_request.Get();
  *output = ::autofill::mojom::PasswordSuggestionRequestDataView(pointer, message_);
}




inline void AutofillDriver_DidAutofillForm_ParamsDataView::GetFormDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}


inline void AutofillDriver_SuppressAutomaticRefills_ParamsDataView::GetFillIdDataView(
    ::autofill::mojom::FillIdDataView* output) {
  auto pointer = data_->fill_id.Get();
  *output = ::autofill::mojom::FillIdDataView(pointer, message_);
}


inline void AutofillDriver_RequestRefill_ParamsDataView::GetFillIdDataView(
    ::autofill::mojom::FillIdDataView* output) {
  auto pointer = data_->fill_id.Get();
  *output = ::autofill::mojom::FillIdDataView(pointer, message_);
}


inline void AutofillDriver_JavaScriptChangedAutofilledValue_ParamsDataView::GetFormDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}
inline void AutofillDriver_JavaScriptChangedAutofilledValue_ParamsDataView::GetFieldIdDataView(
    ::autofill::mojom::FieldRendererIdDataView* output) {
  auto pointer = data_->field_id.Get();
  *output = ::autofill::mojom::FieldRendererIdDataView(pointer, message_);
}
inline void AutofillDriver_JavaScriptChangedAutofilledValue_ParamsDataView::GetOldValueDataView(
    ::mojo_base::mojom::String16DataView* output) {
  auto pointer = data_->old_value.Get();
  *output = ::mojo_base::mojom::String16DataView(pointer, message_);
}


inline void AutofillDriver_FormWithEmailVerificationTokenSubmitted_ParamsDataView::GetFormDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}
inline void AutofillDriver_FormWithEmailVerificationTokenSubmitted_ParamsDataView::GetEmailFieldIdDataView(
    ::autofill::mojom::FieldRendererIdDataView* output) {
  auto pointer = data_->email_field_id.Get();
  *output = ::autofill::mojom::FieldRendererIdDataView(pointer, message_);
}


inline void AutofillDriver_DidDetectJavaScriptAutofill_ParamsDataView::GetFormDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}
inline void AutofillDriver_DidDetectJavaScriptAutofill_ParamsDataView::GetTriggerFieldIdDataView(
    ::autofill::mojom::FieldRendererIdDataView* output) {
  auto pointer = data_->trigger_field_id.Get();
  *output = ::autofill::mojom::FieldRendererIdDataView(pointer, message_);
}
inline void AutofillDriver_DidDetectJavaScriptAutofill_ParamsDataView::GetFieldModificationsDataView(
    mojo::ArrayDataView<::autofill::mojom::JavaScriptFieldModificationDataView>* output) {
  auto pointer = data_->field_modifications.Get();
  *output = mojo::ArrayDataView<::autofill::mojom::JavaScriptFieldModificationDataView>(pointer, message_);
}


inline void PasswordManagerDriver_PasswordFormsParsed_ParamsDataView::GetFormsDataDataView(
    mojo::ArrayDataView<::autofill::mojom::FormDataDataView>* output) {
  auto pointer = data_->forms_data.Get();
  *output = mojo::ArrayDataView<::autofill::mojom::FormDataDataView>(pointer, message_);
}


inline void PasswordManagerDriver_PasswordFormsRendered_ParamsDataView::GetVisibleFormsDataDataView(
    mojo::ArrayDataView<::autofill::mojom::FormDataDataView>* output) {
  auto pointer = data_->visible_forms_data.Get();
  *output = mojo::ArrayDataView<::autofill::mojom::FormDataDataView>(pointer, message_);
}


inline void PasswordManagerDriver_PasswordFormSubmitted_ParamsDataView::GetFormDataDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form_data.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}


inline void PasswordManagerDriver_InformAboutUserInput_ParamsDataView::GetFormDataDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form_data.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}




inline void PasswordManagerDriver_PasswordFormCleared_ParamsDataView::GetFormDataDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form_data.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}


inline void PasswordManagerDriver_RecordSavePasswordProgress_ParamsDataView::GetLogDataView(
    mojo::StringDataView* output) {
  auto pointer = data_->log.Get();
  *output = mojo::StringDataView(pointer, message_);
}




inline void PasswordManagerDriver_UserModifiedNonPasswordField_ParamsDataView::GetRendererIdDataView(
    ::autofill::mojom::FieldRendererIdDataView* output) {
  auto pointer = data_->renderer_id.Get();
  *output = ::autofill::mojom::FieldRendererIdDataView(pointer, message_);
}
inline void PasswordManagerDriver_UserModifiedNonPasswordField_ParamsDataView::GetValueDataView(
    ::mojo_base::mojom::String16DataView* output) {
  auto pointer = data_->value.Get();
  *output = ::mojo_base::mojom::String16DataView(pointer, message_);
}


inline void PasswordManagerDriver_CheckSafeBrowsingReputation_ParamsDataView::GetFormActionDataView(
    ::url::mojom::UrlDataView* output) {
  auto pointer = data_->form_action.Get();
  *output = ::url::mojom::UrlDataView(pointer, message_);
}
inline void PasswordManagerDriver_CheckSafeBrowsingReputation_ParamsDataView::GetFrameUrlDataView(
    ::url::mojom::UrlDataView* output) {
  auto pointer = data_->frame_url.Get();
  *output = ::url::mojom::UrlDataView(pointer, message_);
}


inline void PasswordManagerDriver_FocusedInputChanged_ParamsDataView::GetFocusedFieldIdDataView(
    ::autofill::mojom::FieldRendererIdDataView* output) {
  auto pointer = data_->focused_field_id.Get();
  *output = ::autofill::mojom::FieldRendererIdDataView(pointer, message_);
}


inline void PasswordManagerDriver_LogFirstFillingResult_ParamsDataView::GetFormRendererIdDataView(
    ::autofill::mojom::FormRendererIdDataView* output) {
  auto pointer = data_->form_renderer_id.Get();
  *output = ::autofill::mojom::FormRendererIdDataView(pointer, message_);
}


inline void PasswordGenerationDriver_AutomaticGenerationAvailable_ParamsDataView::GetPasswordGenerationUiDataDataView(
    ::autofill::mojom::PasswordGenerationUIDataDataView* output) {
  auto pointer = data_->password_generation_ui_data.Get();
  *output = ::autofill::mojom::PasswordGenerationUIDataDataView(pointer, message_);
}


inline void PasswordGenerationDriver_PresaveGeneratedPassword_ParamsDataView::GetFormDataDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form_data.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}
inline void PasswordGenerationDriver_PresaveGeneratedPassword_ParamsDataView::GetPasswordValueDataView(
    ::mojo_base::mojom::String16DataView* output) {
  auto pointer = data_->password_value.Get();
  *output = ::mojo_base::mojom::String16DataView(pointer, message_);
}


inline void PasswordGenerationDriver_PasswordNoLongerGenerated_ParamsDataView::GetFormDataDataView(
    ::autofill::mojom::FormDataDataView* output) {
  auto pointer = data_->form_data.Get();
  *output = ::autofill::mojom::FormDataDataView(pointer, message_);
}



}  // autofill::mojom

#if defined(__clang__)
#pragma clang diagnostic pop
#endif

#endif  // COMPONENTS_AUTOFILL_CONTENT_COMMON_MOJOM_AUTOFILL_DRIVER_MOJOM_PARAMS_DATA_H_