Don't compile save_password_infobar_delegate.cc everywhere but Mac and Android
[chromium-blink-merge.git] / chrome / common / importer / profile_import_process_param_traits_macros.h
blob62efb3d6c4bd3070449efe8ee49f67d1bd2523b0
1 // Copyright 2014 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.
5 // Singly or Multiply-included shared traits file depending on circumstances.
6 // This allows the use of IPC serialization macros in more than one IPC message
7 // file.
8 #ifndef CHROME_COMMON_IMPORTER_PROFILE_IMPORT_PROCESS_PARAM_TRAITS_MACROS_H_
9 #define CHROME_COMMON_IMPORTER_PROFILE_IMPORT_PROCESS_PARAM_TRAITS_MACROS_H_
11 #include <string>
12 #include <vector>
14 #include "base/basictypes.h"
15 #include "base/strings/string16.h"
16 #include "base/values.h"
17 #include "chrome/common/common_param_traits_macros.h"
18 #include "chrome/common/importer/imported_bookmark_entry.h"
19 #include "chrome/common/importer/importer_autofill_form_data_entry.h"
20 #include "chrome/common/importer/importer_data_types.h"
21 #include "chrome/common/importer/importer_url_row.h"
22 #include "components/autofill/content/common/autofill_param_traits_macros.h"
23 #include "components/autofill/core/common/password_form.h"
24 #include "components/favicon_base/favicon_usage_data.h"
25 #include "content/public/common/common_param_traits.h"
26 #include "ipc/ipc_message_macros.h"
28 IPC_ENUM_TRAITS_MIN_MAX_VALUE(importer::ImporterType,
29 importer::TYPE_UNKNOWN,
30 importer::TYPE_BOOKMARKS_FILE)
32 IPC_STRUCT_TRAITS_BEGIN(importer::SourceProfile)
33 IPC_STRUCT_TRAITS_MEMBER(importer_name)
34 IPC_STRUCT_TRAITS_MEMBER(importer_type)
35 IPC_STRUCT_TRAITS_MEMBER(source_path)
36 IPC_STRUCT_TRAITS_MEMBER(app_path)
37 IPC_STRUCT_TRAITS_MEMBER(services_supported)
38 IPC_STRUCT_TRAITS_MEMBER(locale)
39 IPC_STRUCT_TRAITS_END()
41 IPC_STRUCT_TRAITS_BEGIN(ImporterURLRow)
42 IPC_STRUCT_TRAITS_MEMBER(url)
43 IPC_STRUCT_TRAITS_MEMBER(title)
44 IPC_STRUCT_TRAITS_MEMBER(visit_count)
45 IPC_STRUCT_TRAITS_MEMBER(typed_count)
46 IPC_STRUCT_TRAITS_MEMBER(last_visit)
47 IPC_STRUCT_TRAITS_MEMBER(hidden)
48 IPC_STRUCT_TRAITS_END()
50 IPC_STRUCT_TRAITS_BEGIN(ImportedBookmarkEntry)
51 IPC_STRUCT_TRAITS_MEMBER(in_toolbar)
52 IPC_STRUCT_TRAITS_MEMBER(is_folder)
53 IPC_STRUCT_TRAITS_MEMBER(url)
54 IPC_STRUCT_TRAITS_MEMBER(path)
55 IPC_STRUCT_TRAITS_MEMBER(title)
56 IPC_STRUCT_TRAITS_MEMBER(creation_time)
57 IPC_STRUCT_TRAITS_END()
59 IPC_STRUCT_TRAITS_BEGIN(favicon_base::FaviconUsageData)
60 IPC_STRUCT_TRAITS_MEMBER(favicon_url)
61 IPC_STRUCT_TRAITS_MEMBER(png_data)
62 IPC_STRUCT_TRAITS_MEMBER(urls)
63 IPC_STRUCT_TRAITS_END()
65 IPC_STRUCT_TRAITS_BEGIN(importer::SearchEngineInfo)
66 IPC_STRUCT_TRAITS_MEMBER(url)
67 IPC_STRUCT_TRAITS_MEMBER(keyword)
68 IPC_STRUCT_TRAITS_MEMBER(display_name)
69 IPC_STRUCT_TRAITS_END()
71 IPC_STRUCT_TRAITS_BEGIN(ImporterAutofillFormDataEntry)
72 IPC_STRUCT_TRAITS_MEMBER(name)
73 IPC_STRUCT_TRAITS_MEMBER(value)
74 IPC_STRUCT_TRAITS_MEMBER(times_used)
75 IPC_STRUCT_TRAITS_MEMBER(first_used)
76 IPC_STRUCT_TRAITS_MEMBER(last_used)
77 IPC_STRUCT_TRAITS_END()
79 #if defined(OS_WIN)
80 IPC_STRUCT_TRAITS_BEGIN(importer::ImporterIE7PasswordInfo)
81 IPC_STRUCT_TRAITS_MEMBER(url_hash)
82 IPC_STRUCT_TRAITS_MEMBER(encrypted_data)
83 IPC_STRUCT_TRAITS_MEMBER(date_created)
84 IPC_STRUCT_TRAITS_END()
85 #endif
87 #endif // CHROME_COMMON_IMPORTER_PROFILE_IMPORT_PROCESS_PARAM_TRAITS_MACROS_H_