// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_COMMON_AUTOFILL_MESSAGES_H_ #define CHROME_COMMON_AUTOFILL_MESSAGES_H_ #pragma once #include #include "ipc/ipc_message_macros.h" #define IPC_MESSAGE_START AutoFillMsgStart namespace webkit_glue { class FormField; struct FormData; struct PasswordForm; struct PasswordFormFillData; } namespace IPC { template <> struct ParamTraits { typedef webkit_glue::FormField param_type; static void Write(Message* m, const param_type& p); static bool Read(const Message* m, void** iter, param_type* p); static void Log(const param_type& p, std::string* l); }; // Traits for FormData structure to pack/unpack. template <> struct ParamTraits { typedef webkit_glue::FormData param_type; static void Write(Message* m, const param_type& p); static bool Read(const Message* m, void** iter, param_type* p); static void Log(const param_type& p, std::string* l); }; template <> struct ParamTraits { typedef webkit_glue::PasswordFormFillData param_type; static void Write(Message* m, const param_type& p); static bool Read(const Message* m, void** iter, param_type* r); static void Log(const param_type& p, std::string* l); }; } // namespace IPC // AutoFill messages sent from the browser to the renderer. // Reply to the AutoFillHostMsg_QueryFormFieldAutoFill message with the // AutoFill suggestions. IPC_MESSAGE_ROUTED5(AutoFillMsg_SuggestionsReturned, int /* id of the request message */, std::vector /* names */, std::vector /* labels */, std::vector /* icons */, std::vector /* unique_ids */) // Reply to the AutoFillHostMsg_FillAutoFillFormData message with the // AutoFill form data. IPC_MESSAGE_ROUTED2(AutoFillMsg_FormDataFilled, int /* id of the request message */, webkit_glue::FormData /* form data */) // Fill a password form and prepare field autocomplete for multiple // matching logins. IPC_MESSAGE_ROUTED1(AutoFillMsg_FillPasswordForm, webkit_glue::PasswordFormFillData) // AutoFill messages sent from the renderer to the browser. // Notification that forms have been seen that are candidates for // filling/submitting by the AutoFillManager. IPC_MESSAGE_ROUTED1(AutoFillHostMsg_FormsSeen, std::vector /* forms */) // Notification that password forms have been seen that are candidates for // filling/submitting by the password manager. IPC_MESSAGE_ROUTED1(AutoFillHostMsg_PasswordFormsFound, std::vector /* forms */) // Notification that initial layout has occurred and the following password // forms are visible on the page (e.g. not set to display:none.) IPC_MESSAGE_ROUTED1(AutoFillHostMsg_PasswordFormsVisible, std::vector /* forms */) // Notification that a form has been submitted. The user hit the button. IPC_MESSAGE_ROUTED1(AutoFillHostMsg_FormSubmitted, webkit_glue::FormData /* form */) // Queries the browser for AutoFill suggestions for a form input field. IPC_MESSAGE_ROUTED3(AutoFillHostMsg_QueryFormFieldAutoFill, int /* id of this message */, webkit_glue::FormData /* the form */, webkit_glue::FormField /* the form field */) // Sent when the popup with AutoFill suggestions for a form is shown. IPC_MESSAGE_ROUTED0(AutoFillHostMsg_DidShowAutoFillSuggestions) // Instructs the browser to fill in the values for a form using AutoFill // profile data. IPC_MESSAGE_ROUTED4(AutoFillHostMsg_FillAutoFillFormData, int /* id of this message */, webkit_glue::FormData /* the form */, webkit_glue::FormField /* the form field */, int /* profile unique ID */) // Sent when a form is previewed or filled with AutoFill suggestions. IPC_MESSAGE_ROUTED0(AutoFillHostMsg_DidFillAutoFillFormData) // Instructs the browser to remove the specified Autocomplete entry from the // database. IPC_MESSAGE_ROUTED2(AutoFillHostMsg_RemoveAutocompleteEntry, string16 /* field name */, string16 /* value */) // Instructs the browser to show the AutoFill dialog. IPC_MESSAGE_ROUTED0(AutoFillHostMsg_ShowAutoFillDialog) #endif // CHROME_COMMON_AUTOFILL_MESSAGES_H_