GNOME Bugzilla – Bug 773830
[REGRESSION] Infinite loop in forms with multiple saved credentials
Last modified: 2016-11-03 15:19:37 UTC
The patch for bug 772530 fixed AngularJS form filling but added a regression
(sorry for the above comments added by mistake) The patch for bug 772530 fixed AngularJS form filling but added a regression. The use of webkit_dom_html_input_element_set_editing_value() added some undesirable side effects to the form auto-filling mechanism. That function is called inside fill_form_cb() and triggers an event which is handled by username_node_input_cb() (note that we need to have multiple credentials in order to listen to that event). That method calls pre_fill_password() which calls pre_fill_form(). This last method starts a data query call which eventually calls fill_form_cb() again resulting in an infinite number of calls between those methods.
Created attachment 338953 [details] [review] Patch
Review of attachment 338953 [details] [review]: Why do we not need a similar change for the password input field? ::: embed/web-extension/ephy-web-extension.c @@ +913,3 @@ WebKitDOMElement *main_div; + if (g_object_get_data (G_OBJECT (username_node), "ephy-auto-filled")) It looks like a good fix to me. Maybe name the key "ephy-is-auto-filling"?
(In reply to Michael Catanzaro from comment #4) > Review of attachment 338953 [details] [review] [review]: > > Why do we not need a similar change for the password input field? Because we do not listen to changes in the pass field. We use changes in username field to fill the password one.
OK then
Review of attachment 338953 [details] [review]: Landed 7f3a9f7186
The following fix has been pushed: 7c5d710 web-extension: Add missing casts
Created attachment 339042 [details] [review] web-extension: Add missing casts