autofill_param_traits_macros.h revision 116680a4aac90f2aa7413d9095a592090648e557
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(origin)
20  IPC_STRUCT_TRAITS_MEMBER(action)
21  IPC_STRUCT_TRAITS_MEMBER(user_submitted)
22  IPC_STRUCT_TRAITS_MEMBER(fields)
23IPC_STRUCT_TRAITS_END()
24
25IPC_ENUM_TRAITS_MAX_VALUE(autofill::PasswordForm::Scheme,
26                          autofill::PasswordForm::SCHEME_LAST)
27
28IPC_STRUCT_TRAITS_BEGIN(autofill::PasswordForm)
29  IPC_STRUCT_TRAITS_MEMBER(scheme)
30  IPC_STRUCT_TRAITS_MEMBER(signon_realm)
31  IPC_STRUCT_TRAITS_MEMBER(origin)
32  IPC_STRUCT_TRAITS_MEMBER(action)
33  IPC_STRUCT_TRAITS_MEMBER(submit_element)
34  IPC_STRUCT_TRAITS_MEMBER(username_element)
35  IPC_STRUCT_TRAITS_MEMBER(username_value)
36  IPC_STRUCT_TRAITS_MEMBER(other_possible_usernames)
37  IPC_STRUCT_TRAITS_MEMBER(password_element)
38  IPC_STRUCT_TRAITS_MEMBER(password_value)
39  IPC_STRUCT_TRAITS_MEMBER(password_autocomplete_set)
40  IPC_STRUCT_TRAITS_MEMBER(new_password_element)
41  IPC_STRUCT_TRAITS_MEMBER(new_password_value)
42  IPC_STRUCT_TRAITS_MEMBER(ssl_valid)
43  IPC_STRUCT_TRAITS_MEMBER(preferred)
44  IPC_STRUCT_TRAITS_MEMBER(blacklisted_by_user)
45  IPC_STRUCT_TRAITS_MEMBER(type)
46  IPC_STRUCT_TRAITS_MEMBER(times_used)
47  IPC_STRUCT_TRAITS_MEMBER(form_data)
48  // Excluding |use_additional_authentication| as it is only set and read in the
49  // browser process and the renderer need not know about it.
50IPC_STRUCT_TRAITS_END()
51
52#endif  // COMPONENTS_AUTOFILL_CONTENT_COMMON_AUTOFILL_PARAM_TRAITS_MACROS_H_
53