| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Multiply-included message file, hence no include guard. | 5 // Multiply-included message file, hence no include guard. |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
| 10 #include "components/autofill/core/common/autofill_param_traits_macros.h" |
| 10 #include "components/autofill/core/common/form_data.h" | 11 #include "components/autofill/core/common/form_data.h" |
| 11 #include "components/autofill/core/common/form_data_predictions.h" | 12 #include "components/autofill/core/common/form_data_predictions.h" |
| 12 #include "components/autofill/core/common/form_field_data.h" | 13 #include "components/autofill/core/common/form_field_data.h" |
| 13 #include "components/autofill/core/common/form_field_data_predictions.h" | 14 #include "components/autofill/core/common/form_field_data_predictions.h" |
| 14 #include "components/autofill/core/common/forms_seen_state.h" | 15 #include "components/autofill/core/common/forms_seen_state.h" |
| 16 #include "components/autofill/core/common/password_form.h" |
| 15 #include "components/autofill/core/common/password_form_fill_data.h" | 17 #include "components/autofill/core/common/password_form_fill_data.h" |
| 16 #include "components/autofill/core/common/web_element_descriptor.h" | 18 #include "components/autofill/core/common/web_element_descriptor.h" |
| 17 #include "content/public/common/common_param_traits.h" | 19 #include "content/public/common/common_param_traits.h" |
| 18 #include "content/public/common/common_param_traits_macros.h" | 20 #include "content/public/common/common_param_traits_macros.h" |
| 19 #include "content/public/common/password_form.h" | |
| 20 #include "ipc/ipc_message_macros.h" | 21 #include "ipc/ipc_message_macros.h" |
| 21 #include "ipc/ipc_message_utils.h" | 22 #include "ipc/ipc_message_utils.h" |
| 22 #include "third_party/WebKit/public/web/WebFormElement.h" | 23 #include "third_party/WebKit/public/web/WebFormElement.h" |
| 23 #include "ui/gfx/rect.h" | 24 #include "ui/gfx/rect.h" |
| 24 #include "url/gurl.h" | 25 #include "url/gurl.h" |
| 25 | 26 |
| 26 #define IPC_MESSAGE_START AutofillMsgStart | 27 #define IPC_MESSAGE_START AutofillMsgStart |
| 27 | 28 |
| 28 IPC_ENUM_TRAITS_MAX_VALUE(autofill::FormsSeenState, | |
| 29 autofill::FORMS_SEEN_STATE_NUM_STATES - 1) | |
| 30 IPC_ENUM_TRAITS_MAX_VALUE(base::i18n::TextDirection, | |
| 31 base::i18n::TEXT_DIRECTION_NUM_DIRECTIONS - 1) | |
| 32 | |
| 33 IPC_STRUCT_TRAITS_BEGIN(autofill::WebElementDescriptor) | |
| 34 IPC_STRUCT_TRAITS_MEMBER(descriptor) | |
| 35 IPC_STRUCT_TRAITS_MEMBER(retrieval_method) | |
| 36 IPC_STRUCT_TRAITS_END() | |
| 37 | |
| 38 IPC_ENUM_TRAITS_MAX_VALUE(autofill::WebElementDescriptor::RetrievalMethod, | |
| 39 autofill::WebElementDescriptor::NONE) | |
| 40 | |
| 41 IPC_STRUCT_TRAITS_BEGIN(autofill::FormFieldData) | |
| 42 IPC_STRUCT_TRAITS_MEMBER(label) | |
| 43 IPC_STRUCT_TRAITS_MEMBER(name) | |
| 44 IPC_STRUCT_TRAITS_MEMBER(value) | |
| 45 IPC_STRUCT_TRAITS_MEMBER(form_control_type) | |
| 46 IPC_STRUCT_TRAITS_MEMBER(autocomplete_attribute) | |
| 47 IPC_STRUCT_TRAITS_MEMBER(max_length) | |
| 48 IPC_STRUCT_TRAITS_MEMBER(is_autofilled) | |
| 49 IPC_STRUCT_TRAITS_MEMBER(is_checked) | |
| 50 IPC_STRUCT_TRAITS_MEMBER(is_checkable) | |
| 51 IPC_STRUCT_TRAITS_MEMBER(is_focusable) | |
| 52 IPC_STRUCT_TRAITS_MEMBER(should_autocomplete) | |
| 53 IPC_STRUCT_TRAITS_MEMBER(text_direction) | |
| 54 IPC_STRUCT_TRAITS_MEMBER(option_values) | |
| 55 IPC_STRUCT_TRAITS_MEMBER(option_contents) | |
| 56 IPC_STRUCT_TRAITS_END() | |
| 57 | |
| 58 IPC_STRUCT_TRAITS_BEGIN(autofill::FormFieldDataPredictions) | |
| 59 IPC_STRUCT_TRAITS_MEMBER(field) | |
| 60 IPC_STRUCT_TRAITS_MEMBER(signature) | |
| 61 IPC_STRUCT_TRAITS_MEMBER(heuristic_type) | |
| 62 IPC_STRUCT_TRAITS_MEMBER(server_type) | |
| 63 IPC_STRUCT_TRAITS_MEMBER(overall_type) | |
| 64 IPC_STRUCT_TRAITS_END() | |
| 65 | |
| 66 IPC_STRUCT_TRAITS_BEGIN(autofill::FormData) | |
| 67 IPC_STRUCT_TRAITS_MEMBER(name) | |
| 68 IPC_STRUCT_TRAITS_MEMBER(method) | |
| 69 IPC_STRUCT_TRAITS_MEMBER(origin) | |
| 70 IPC_STRUCT_TRAITS_MEMBER(action) | |
| 71 IPC_STRUCT_TRAITS_MEMBER(user_submitted) | |
| 72 IPC_STRUCT_TRAITS_MEMBER(fields) | |
| 73 IPC_STRUCT_TRAITS_END() | |
| 74 | |
| 75 IPC_STRUCT_TRAITS_BEGIN(autofill::FormDataPredictions) | |
| 76 IPC_STRUCT_TRAITS_MEMBER(data) | |
| 77 IPC_STRUCT_TRAITS_MEMBER(signature) | |
| 78 IPC_STRUCT_TRAITS_MEMBER(experiment_id) | |
| 79 IPC_STRUCT_TRAITS_MEMBER(fields) | |
| 80 IPC_STRUCT_TRAITS_END() | |
| 81 | |
| 82 IPC_STRUCT_TRAITS_BEGIN(autofill::UsernamesCollectionKey) | |
| 83 IPC_STRUCT_TRAITS_MEMBER(username) | |
| 84 IPC_STRUCT_TRAITS_MEMBER(password) | |
| 85 IPC_STRUCT_TRAITS_END() | |
| 86 | |
| 87 IPC_STRUCT_TRAITS_BEGIN(autofill::PasswordFormFillData) | |
| 88 IPC_STRUCT_TRAITS_MEMBER(basic_data) | |
| 89 IPC_STRUCT_TRAITS_MEMBER(preferred_realm) | |
| 90 IPC_STRUCT_TRAITS_MEMBER(additional_logins) | |
| 91 IPC_STRUCT_TRAITS_MEMBER(other_possible_usernames) | |
| 92 IPC_STRUCT_TRAITS_MEMBER(wait_for_username) | |
| 93 IPC_STRUCT_TRAITS_END() | |
| 94 | |
| 95 IPC_STRUCT_TRAITS_BEGIN(autofill::PasswordAndRealm) | |
| 96 IPC_STRUCT_TRAITS_MEMBER(password) | |
| 97 IPC_STRUCT_TRAITS_MEMBER(realm) | |
| 98 IPC_STRUCT_TRAITS_END() | |
| 99 | |
| 100 IPC_ENUM_TRAITS_MAX_VALUE( | |
| 101 WebKit::WebFormElement::AutocompleteResult, | |
| 102 WebKit::WebFormElement::AutocompleteResultErrorInvalid) | |
| 103 | |
| 104 // Autofill messages sent from the browser to the renderer. | 29 // Autofill messages sent from the browser to the renderer. |
| 105 | 30 |
| 106 // Reply to the AutofillHostMsg_FillAutofillFormData message with the | 31 // Reply to the AutofillHostMsg_FillAutofillFormData message with the |
| 107 // Autofill form data. | 32 // Autofill form data. |
| 108 IPC_MESSAGE_ROUTED2(AutofillMsg_FormDataFilled, | 33 IPC_MESSAGE_ROUTED2(AutofillMsg_FormDataFilled, |
| 109 int /* id of the request message */, | 34 int /* id of the request message */, |
| 110 autofill::FormData /* form data */) | 35 autofill::FormData /* form data */) |
| 111 | 36 |
| 112 // Fill a password form and prepare field autocomplete for multiple | 37 // Fill a password form and prepare field autocomplete for multiple |
| 113 // matching logins. Lets the renderer know if it should disable the popup | 38 // matching logins. Lets the renderer know if it should disable the popup |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 IPC_MESSAGE_ROUTED1(AutofillMsg_PasswordGenerationEnabled, | 74 IPC_MESSAGE_ROUTED1(AutofillMsg_PasswordGenerationEnabled, |
| 150 bool /* is_enabled */) | 75 bool /* is_enabled */) |
| 151 | 76 |
| 152 // Tells the renderer that the password field has accept the suggestion. | 77 // Tells the renderer that the password field has accept the suggestion. |
| 153 IPC_MESSAGE_ROUTED1(AutofillMsg_AcceptPasswordAutofillSuggestion, | 78 IPC_MESSAGE_ROUTED1(AutofillMsg_AcceptPasswordAutofillSuggestion, |
| 154 base::string16 /* username value*/) | 79 base::string16 /* username value*/) |
| 155 | 80 |
| 156 // Tells the renderer that this password form is not blacklisted. A form can | 81 // Tells the renderer that this password form is not blacklisted. A form can |
| 157 // be blacklisted if a user chooses "never save passwords for this site". | 82 // be blacklisted if a user chooses "never save passwords for this site". |
| 158 IPC_MESSAGE_ROUTED1(AutofillMsg_FormNotBlacklisted, | 83 IPC_MESSAGE_ROUTED1(AutofillMsg_FormNotBlacklisted, |
| 159 content::PasswordForm /* form checked */) | 84 autofill::PasswordForm /* form checked */) |
| 160 | 85 |
| 161 // Sent when requestAutocomplete() finishes (either succesfully or with an | 86 // Sent when requestAutocomplete() finishes (either succesfully or with an |
| 162 // error). If it was a success, the renderer fills the form that requested | 87 // error). If it was a success, the renderer fills the form that requested |
| 163 // autocomplete with the |form_data| values input by the user. | 88 // autocomplete with the |form_data| values input by the user. |
| 164 IPC_MESSAGE_ROUTED2(AutofillMsg_RequestAutocompleteResult, | 89 IPC_MESSAGE_ROUTED2(AutofillMsg_RequestAutocompleteResult, |
| 165 WebKit::WebFormElement::AutocompleteResult /* result */, | 90 WebKit::WebFormElement::AutocompleteResult /* result */, |
| 166 autofill::FormData /* form_data */) | 91 autofill::FormData /* form_data */) |
| 167 | 92 |
| 168 // Sent when the current page is actually displayed in the browser, possibly | 93 // Sent when the current page is actually displayed in the browser, possibly |
| 169 // after being preloaded. | 94 // after being preloaded. |
| 170 IPC_MESSAGE_ROUTED0(AutofillMsg_PageShown) | 95 IPC_MESSAGE_ROUTED0(AutofillMsg_PageShown) |
| 171 | 96 |
| 172 // Autofill messages sent from the renderer to the browser. | 97 // Autofill messages sent from the renderer to the browser. |
| 173 | 98 |
| 174 // TODO(creis): check in the browser that the renderer actually has permission | 99 // TODO(creis): check in the browser that the renderer actually has permission |
| 175 // for the URL to avoid compromised renderers talking to the browser. | 100 // for the URL to avoid compromised renderers talking to the browser. |
| 176 | 101 |
| 177 // Notification that forms have been seen that are candidates for | 102 // Notification that forms have been seen that are candidates for |
| 178 // filling/submitting by the AutofillManager. | 103 // filling/submitting by the AutofillManager. |
| 179 IPC_MESSAGE_ROUTED3(AutofillHostMsg_FormsSeen, | 104 IPC_MESSAGE_ROUTED3(AutofillHostMsg_FormsSeen, |
| 180 std::vector<autofill::FormData> /* forms */, | 105 std::vector<autofill::FormData> /* forms */, |
| 181 base::TimeTicks /* timestamp */, | 106 base::TimeTicks /* timestamp */, |
| 182 autofill::FormsSeenState /* state */) | 107 autofill::FormsSeenState /* state */) |
| 183 | 108 |
| 184 // Notification that password forms have been seen that are candidates for | 109 // Notification that password forms have been seen that are candidates for |
| 185 // filling/submitting by the password manager. | 110 // filling/submitting by the password manager. |
| 186 IPC_MESSAGE_ROUTED1(AutofillHostMsg_PasswordFormsParsed, | 111 IPC_MESSAGE_ROUTED1(AutofillHostMsg_PasswordFormsParsed, |
| 187 std::vector<content::PasswordForm> /* forms */) | 112 std::vector<autofill::PasswordForm> /* forms */) |
| 188 | 113 |
| 189 // Notification that initial layout has occurred and the following password | 114 // Notification that initial layout has occurred and the following password |
| 190 // forms are visible on the page (e.g. not set to display:none.) | 115 // forms are visible on the page (e.g. not set to display:none.) |
| 191 IPC_MESSAGE_ROUTED1(AutofillHostMsg_PasswordFormsRendered, | 116 IPC_MESSAGE_ROUTED1(AutofillHostMsg_PasswordFormsRendered, |
| 192 std::vector<content::PasswordForm> /* forms */) | 117 std::vector<autofill::PasswordForm> /* forms */) |
| 193 | 118 |
| 194 // Notification that this password form was submitted by the user. | 119 // Notification that this password form was submitted by the user. |
| 195 IPC_MESSAGE_ROUTED1(AutofillHostMsg_PasswordFormSubmitted, | 120 IPC_MESSAGE_ROUTED1(AutofillHostMsg_PasswordFormSubmitted, |
| 196 content::PasswordForm /* form */) | 121 autofill::PasswordForm /* form */) |
| 197 | 122 |
| 198 // Notification that a form has been submitted. The user hit the button. | 123 // Notification that a form has been submitted. The user hit the button. |
| 199 IPC_MESSAGE_ROUTED2(AutofillHostMsg_FormSubmitted, | 124 IPC_MESSAGE_ROUTED2(AutofillHostMsg_FormSubmitted, |
| 200 autofill::FormData /* form */, | 125 autofill::FormData /* form */, |
| 201 base::TimeTicks /* timestamp */) | 126 base::TimeTicks /* timestamp */) |
| 202 | 127 |
| 203 // Notification that a form field's value has changed. | 128 // Notification that a form field's value has changed. |
| 204 IPC_MESSAGE_ROUTED3(AutofillHostMsg_TextFieldDidChange, | 129 IPC_MESSAGE_ROUTED3(AutofillHostMsg_TextFieldDidChange, |
| 205 autofill::FormData /* the form */, | 130 autofill::FormData /* the form */, |
| 206 autofill::FormFieldData /* the form field */, | 131 autofill::FormFieldData /* the form field */, |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 | 167 |
| 243 // Instructs the browser to hide the Autofill UI. | 168 // Instructs the browser to hide the Autofill UI. |
| 244 IPC_MESSAGE_ROUTED0(AutofillHostMsg_HideAutofillUI) | 169 IPC_MESSAGE_ROUTED0(AutofillHostMsg_HideAutofillUI) |
| 245 | 170 |
| 246 // Instructs the browser to show the password generation bubble at the | 171 // Instructs the browser to show the password generation bubble at the |
| 247 // specified location. This location should be specified in the renderers | 172 // specified location. This location should be specified in the renderers |
| 248 // coordinate system. Form is the form associated with the password field. | 173 // coordinate system. Form is the form associated with the password field. |
| 249 IPC_MESSAGE_ROUTED3(AutofillHostMsg_ShowPasswordGenerationPopup, | 174 IPC_MESSAGE_ROUTED3(AutofillHostMsg_ShowPasswordGenerationPopup, |
| 250 gfx::Rect /* source location */, | 175 gfx::Rect /* source location */, |
| 251 int /* max length of the password */, | 176 int /* max length of the password */, |
| 252 content::PasswordForm) | 177 autofill::PasswordForm) |
| 253 | 178 |
| 254 // Instruct the browser that a password mapping has been found for a field. | 179 // Instruct the browser that a password mapping has been found for a field. |
| 255 IPC_MESSAGE_ROUTED2(AutofillHostMsg_AddPasswordFormMapping, | 180 IPC_MESSAGE_ROUTED2(AutofillHostMsg_AddPasswordFormMapping, |
| 256 autofill::FormFieldData, /* the user name field */ | 181 autofill::FormFieldData, /* the user name field */ |
| 257 autofill::PasswordFormFillData /* password pairings */) | 182 autofill::PasswordFormFillData /* password pairings */) |
| 258 | 183 |
| 259 // Instruct the browser to show a popup with the following suggestions from the | 184 // Instruct the browser to show a popup with the following suggestions from the |
| 260 // password manager. | 185 // password manager. |
| 261 IPC_MESSAGE_ROUTED4(AutofillHostMsg_ShowPasswordSuggestions, | 186 IPC_MESSAGE_ROUTED4(AutofillHostMsg_ShowPasswordSuggestions, |
| 262 autofill::FormFieldData /* the form field */, | 187 autofill::FormFieldData /* the form field */, |
| 263 gfx::RectF /* input field bounds, window-relative */, | 188 gfx::RectF /* input field bounds, window-relative */, |
| 264 std::vector<base::string16> /* suggestions */, | 189 std::vector<base::string16> /* suggestions */, |
| 265 std::vector<base::string16> /* realms */) | 190 std::vector<base::string16> /* realms */) |
| 266 | 191 |
| 267 // Inform browser of data list values for the curent field. | 192 // Inform browser of data list values for the curent field. |
| 268 IPC_MESSAGE_ROUTED2(AutofillHostMsg_SetDataList, | 193 IPC_MESSAGE_ROUTED2(AutofillHostMsg_SetDataList, |
| 269 std::vector<base::string16> /* values */, | 194 std::vector<base::string16> /* values */, |
| 270 std::vector<base::string16> /* labels */) | 195 std::vector<base::string16> /* labels */) |
| OLD | NEW |