1 // Copyright (c) 2011 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 // Multiply-included message file, hence no include guard. 6 7 #include <string> 8 9 #include "content/common/webkit_param_traits.h" 10 #include "ipc/ipc_message_macros.h" 11 #include "webkit/glue/form_data.h" 12 #include "webkit/glue/form_field.h" 13 #include "webkit/glue/password_form.h" 14 #include "webkit/glue/password_form_dom_manager.h" 15 16 #define IPC_MESSAGE_START AutofillMsgStart 17 18 IPC_STRUCT_TRAITS_BEGIN(webkit_glue::FormField) 19 IPC_STRUCT_TRAITS_MEMBER(label) 20 IPC_STRUCT_TRAITS_MEMBER(name) 21 IPC_STRUCT_TRAITS_MEMBER(value) 22 IPC_STRUCT_TRAITS_MEMBER(form_control_type) 23 IPC_STRUCT_TRAITS_MEMBER(max_length) 24 IPC_STRUCT_TRAITS_MEMBER(is_autofilled) 25 IPC_STRUCT_TRAITS_MEMBER(option_strings) 26 IPC_STRUCT_TRAITS_END() 27 28 IPC_STRUCT_TRAITS_BEGIN(webkit_glue::FormData) 29 IPC_STRUCT_TRAITS_MEMBER(name) 30 IPC_STRUCT_TRAITS_MEMBER(method) 31 IPC_STRUCT_TRAITS_MEMBER(origin) 32 IPC_STRUCT_TRAITS_MEMBER(action) 33 IPC_STRUCT_TRAITS_MEMBER(user_submitted) 34 IPC_STRUCT_TRAITS_MEMBER(fields) 35 IPC_STRUCT_TRAITS_END() 36 37 IPC_STRUCT_TRAITS_BEGIN(webkit_glue::PasswordFormFillData) 38 IPC_STRUCT_TRAITS_MEMBER(basic_data) 39 IPC_STRUCT_TRAITS_MEMBER(additional_logins) 40 IPC_STRUCT_TRAITS_MEMBER(wait_for_username) 41 IPC_STRUCT_TRAITS_END() 42 43 // Autofill messages sent from the browser to the renderer. 44 45 // Reply to the AutofillHostMsg_QueryFormFieldAutofill message with the 46 // Autofill suggestions. 47 IPC_MESSAGE_ROUTED5(AutofillMsg_SuggestionsReturned, 48 int /* id of the request message */, 49 std::vector<string16> /* names */, 50 std::vector<string16> /* labels */, 51 std::vector<string16> /* icons */, 52 std::vector<int> /* unique_ids */) 53 54 // Reply to the AutofillHostMsg_FillAutofillFormData message with the 55 // Autofill form data. 56 IPC_MESSAGE_ROUTED2(AutofillMsg_FormDataFilled, 57 int /* id of the request message */, 58 webkit_glue::FormData /* form data */) 59 60 // Fill a password form and prepare field autocomplete for multiple 61 // matching logins. 62 IPC_MESSAGE_ROUTED1(AutofillMsg_FillPasswordForm, 63 webkit_glue::PasswordFormFillData) 64 65 66 // Autofill messages sent from the renderer to the browser. 67 68 // Notification that forms have been seen that are candidates for 69 // filling/submitting by the AutofillManager. 70 IPC_MESSAGE_ROUTED1(AutofillHostMsg_FormsSeen, 71 std::vector<webkit_glue::FormData> /* forms */) 72 73 // Notification that password forms have been seen that are candidates for 74 // filling/submitting by the password manager. 75 IPC_MESSAGE_ROUTED1(AutofillHostMsg_PasswordFormsFound, 76 std::vector<webkit_glue::PasswordForm> /* forms */) 77 78 // Notification that initial layout has occurred and the following password 79 // forms are visible on the page (e.g. not set to display:none.) 80 IPC_MESSAGE_ROUTED1(AutofillHostMsg_PasswordFormsVisible, 81 std::vector<webkit_glue::PasswordForm> /* forms */) 82 83 // Notification that a form has been submitted. The user hit the button. 84 IPC_MESSAGE_ROUTED1(AutofillHostMsg_FormSubmitted, 85 webkit_glue::FormData /* form */) 86 87 // Queries the browser for Autofill suggestions for a form input field. 88 IPC_MESSAGE_ROUTED3(AutofillHostMsg_QueryFormFieldAutofill, 89 int /* id of this message */, 90 webkit_glue::FormData /* the form */, 91 webkit_glue::FormField /* the form field */) 92 93 // Sent when the popup with Autofill suggestions for a form is shown. 94 IPC_MESSAGE_ROUTED0(AutofillHostMsg_DidShowAutofillSuggestions) 95 96 // Instructs the browser to fill in the values for a form using Autofill 97 // profile data. 98 IPC_MESSAGE_ROUTED4(AutofillHostMsg_FillAutofillFormData, 99 int /* id of this message */, 100 webkit_glue::FormData /* the form */, 101 webkit_glue::FormField /* the form field */, 102 int /* profile unique ID */) 103 104 // Sent when a form is previewed or filled with Autofill suggestions. 105 IPC_MESSAGE_ROUTED0(AutofillHostMsg_DidFillAutofillFormData) 106 107 // Instructs the browser to remove the specified Autocomplete entry from the 108 // database. 109 IPC_MESSAGE_ROUTED2(AutofillHostMsg_RemoveAutocompleteEntry, 110 string16 /* field name */, 111 string16 /* value */) 112 113 // Instructs the browser to show the Autofill dialog. 114 IPC_MESSAGE_ROUTED0(AutofillHostMsg_ShowAutofillDialog) 115 116 117