1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Singly or multiply-included shared traits file depending on circumstances.
6// This allows the use of Autofill IPC serialization macros in more than one IPC
7// message file.
8#ifndef COMPONENTS_AUTOFILL_CONTENT_COMMON_AUTOFILL_PARAM_TRAITS_MACROS_H_
9#define COMPONENTS_AUTOFILL_CONTENT_COMMON_AUTOFILL_PARAM_TRAITS_MACROS_H_
10
11#include "components/autofill/core/common/password_form.h"
12#include "ipc/ipc_message_macros.h"
13
14IPC_ENUM_TRAITS_MAX_VALUE(autofill::PasswordForm::Type,
15                          autofill::PasswordForm::TYPE_LAST)
16
17IPC_STRUCT_TRAITS_BEGIN(autofill::FormData)
18  IPC_STRUCT_TRAITS_MEMBER(name)
19  IPC_STRUCT_TRAITS_MEMBER(method)
20  IPC_STRUCT_TRAITS_MEMBER(origin)
21  IPC_STRUCT_TRAITS_MEMBER(action)
22  IPC_STRUCT_TRAITS_MEMBER(user_submitted)
23  IPC_STRUCT_TRAITS_MEMBER(fields)
24IPC_STRUCT_TRAITS_END()
25
26IPC_ENUM_TRAITS_MAX_VALUE(autofill::PasswordForm::Scheme,
27                          autofill::PasswordForm::SCHEME_LAST)
28
29IPC_STRUCT_TRAITS_BEGIN(autofill::PasswordForm)
30  IPC_STRUCT_TRAITS_MEMBER(scheme)
31  IPC_STRUCT_TRAITS_MEMBER(signon_realm)
32  IPC_STRUCT_TRAITS_MEMBER(origin)
33  IPC_STRUCT_TRAITS_MEMBER(action)
34  IPC_STRUCT_TRAITS_MEMBER(submit_element)
35  IPC_STRUCT_TRAITS_MEMBER(username_element)
36  IPC_STRUCT_TRAITS_MEMBER(username_value)
37  IPC_STRUCT_TRAITS_MEMBER(other_possible_usernames)
38  IPC_STRUCT_TRAITS_MEMBER(password_element)
39  IPC_STRUCT_TRAITS_MEMBER(password_value)
40  IPC_STRUCT_TRAITS_MEMBER(password_autocomplete_set)
41  IPC_STRUCT_TRAITS_MEMBER(old_password_element)
42  IPC_STRUCT_TRAITS_MEMBER(old_password_value)
43  IPC_STRUCT_TRAITS_MEMBER(ssl_valid)
44  IPC_STRUCT_TRAITS_MEMBER(preferred)
45  IPC_STRUCT_TRAITS_MEMBER(blacklisted_by_user)
46  IPC_STRUCT_TRAITS_MEMBER(type)
47  IPC_STRUCT_TRAITS_MEMBER(times_used)
48  IPC_STRUCT_TRAITS_MEMBER(form_data)
49  // Excluding |use_additional_authentication| as it is only set and read in the
50  // browser process and the renderer need not know about it.
51IPC_STRUCT_TRAITS_END()
52
53#endif  // COMPONENTS_AUTOFILL_CONTENT_COMMON_AUTOFILL_PARAM_TRAITS_MACROS_H_
54