This bug is for tracking New Chrome Password Manager design refactoring. Details are in go/new-cpm-design-refactoring.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c18376793cafc3f2e775a18fa7910881877c989e commit c18376793cafc3f2e775a18fa7910881877c989e Author: Vaclav Brozek <vabr@chromium.org> Date: Mon Jul 09 10:31:03 2018 Finding DOM elements by renderer IDs: pointer to a discussion This CL adds a comment pointing to a discussion of alternative solutions for implementing FindFormControlElementsByUniqueRendererId. Bug: 831123 Change-Id: Idbc0e306493bd80f3dfce171d195e681c9c21a2f Reviewed-on: https://chromium-review.googlesource.com/1128119 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Commit-Queue: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#573265} [modify] https://crrev.com/c18376793cafc3f2e775a18fa7910881877c989e/components/autofill/content/renderer/form_autofill_util.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4c7b65f6307a2780848d31cb81ede88564377210 commit 4c7b65f6307a2780848d31cb81ede88564377210 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Tue Jul 17 10:16:53 2018 Fill username field with prefilled values by server hints. This CL is implementation of overriding of prefilled values in username fields if the server believes that these values are placeholders. The life of server prediction for filling prefilled values is the following (it's called may_use_prefilled_placeholder in code): 1. The server sends it and it's propagated as part of FormStructure to FormParser (it's implemented before this CL). 2. It's parsed in password_field_prediction.cc to PasswordFieldPrediction 3. FormParser puts it to PasswordForm. 4. In password_form_fill_data.cc it's propagated to PasswordFormFillData 5. It's sent to the renderer over MOJO 6. PasswordAutofillAgent uses it to override prefilled values if any. The reason of putting processing may_use_prefilled_placeholder in FormParser not in NewPasswordFormManager is that NewPasswordFormManager should know nothing about form structure, it's FormParser responsibility to process it. Small deletion of dead code is done: parameter |set_selection| from FillUserNameAndPassword, since it's never set to true. Bug: 847793, 831123 Change-Id: Id86d0992428e520718a6ab6e9f50e8064444d030 Reviewed-on: https://chromium-review.googlesource.com/1124474 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Ioana Pandele <ioanap@chromium.org> Reviewed-by: Mike West <mkwst@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#575597} [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/chrome/renderer/autofill/password_autofill_agent_browsertest.cc [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/autofill/content/common/autofill_types.mojom [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/autofill/content/common/autofill_types_struct_traits.cc [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/autofill/content/common/autofill_types_struct_traits.h [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/autofill/content/renderer/password_autofill_agent.cc [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/autofill/content/renderer/password_autofill_agent.h [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/autofill/core/common/password_form.h [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/autofill/core/common/password_form_fill_data.cc [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/autofill/core/common/password_form_fill_data.h [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/autofill/core/common/password_form_fill_data_unittest.cc [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/password_manager/core/browser/form_parsing/form_parser.cc [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/password_manager/core/browser/form_parsing/form_parser_unittest.cc [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/password_manager/core/browser/form_parsing/password_field_prediction.cc [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/password_manager/core/browser/form_parsing/password_field_prediction.h [modify] https://crrev.com/4c7b65f6307a2780848d31cb81ede88564377210/components/password_manager/core/browser/form_parsing/password_field_prediction_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e commit ec527be908f7e2d3528f65ddaab3b52fc6b51d4e Author: Findit <findit-for-me@appspot.gserviceaccount.com> Date: Tue Jul 17 12:47:22 2018 Revert "Fill username field with prefilled values by server hints." This reverts commit 4c7b65f6307a2780848d31cb81ede88564377210. Reason for revert: Findit (https://goo.gl/kROfz5) identified CL at revision 575597 as the culprit for failures in the build cycles as shown on: https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzRjN2I2NWY2MzA3YTI3ODA4NDhkMzFjYjgxZWRlODg1NjQzNzcyMTAM Sample Failed Build: https://ci.chromium.org/buildbot/chromium.chromiumos/linux-chromeos-dbg/6868 Sample Failed Step: browser_tests Original change's description: > Fill username field with prefilled values by server hints. > > This CL is implementation of overriding of prefilled values in username > fields if the server believes that these values are placeholders. > > The life of server prediction for filling prefilled values is the > following (it's called may_use_prefilled_placeholder in code): > 1. The server sends it and it's propagated as part of FormStructure to > FormParser (it's implemented before this CL). > 2. It's parsed in password_field_prediction.cc to PasswordFieldPrediction > 3. FormParser puts it to PasswordForm. > 4. In password_form_fill_data.cc it's propagated to PasswordFormFillData > 5. It's sent to the renderer over MOJO > 6. PasswordAutofillAgent uses it to override prefilled values if any. > > The reason of putting processing may_use_prefilled_placeholder in > FormParser not in NewPasswordFormManager is that NewPasswordFormManager > should know nothing about form structure, it's FormParser responsibility > to process it. > > Small deletion of dead code is done: parameter |set_selection| from > FillUserNameAndPassword, since it's never set to true. > > Bug: 847793, 831123 > Change-Id: Id86d0992428e520718a6ab6e9f50e8064444d030 > Reviewed-on: https://chromium-review.googlesource.com/1124474 > Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> > Reviewed-by: Ioana Pandele <ioanap@chromium.org> > Reviewed-by: Mike West <mkwst@chromium.org> > Reviewed-by: Vaclav Brozek <vabr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#575597} Change-Id: Ibcea367414987035718f8010320921bc851dc406 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 847793, 831123 Reviewed-on: https://chromium-review.googlesource.com/1140213 Cr-Commit-Position: refs/heads/master@{#575616} [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/chrome/renderer/autofill/password_autofill_agent_browsertest.cc [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/autofill/content/common/autofill_types.mojom [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/autofill/content/common/autofill_types_struct_traits.cc [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/autofill/content/common/autofill_types_struct_traits.h [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/autofill/content/renderer/password_autofill_agent.cc [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/autofill/content/renderer/password_autofill_agent.h [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/autofill/core/common/password_form.h [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/autofill/core/common/password_form_fill_data.cc [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/autofill/core/common/password_form_fill_data.h [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/autofill/core/common/password_form_fill_data_unittest.cc [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/password_manager/core/browser/form_parsing/form_parser.cc [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/password_manager/core/browser/form_parsing/form_parser_unittest.cc [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/password_manager/core/browser/form_parsing/password_field_prediction.cc [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/password_manager/core/browser/form_parsing/password_field_prediction.h [modify] https://crrev.com/ec527be908f7e2d3528f65ddaab3b52fc6b51d4e/components/password_manager/core/browser/form_parsing/password_field_prediction_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/75aa11b4ebdb5836a83938a867cf5c611dc2f07c commit 75aa11b4ebdb5836a83938a867cf5c611dc2f07c Author: Vadym Doroshenko <dvadym@chromium.org> Date: Wed Jul 18 13:33:58 2018 [Reland] Fill username field with prefilled values by server hints. This CL is implementation of overriding of prefilled values in username fields if the server believes that these values are placeholders. The life of server prediction for filling prefilled values is the following (it's called may_use_prefilled_placeholder in code): 1. The server sends it and it's propagated as part of FormStructure to FormParser (it's implemented before this CL). 2. It's parsed in password_field_prediction.cc to PasswordFieldPrediction 3. FormParser puts it to PasswordForm. 4. In password_form_fill_data.cc it's propagated to PasswordFormFillData 5. It's sent to the renderer over MOJO 6. PasswordAutofillAgent uses it to override prefilled values if any. The reason of putting processing may_use_prefilled_placeholder in FormParser not in NewPasswordFormManager is that NewPasswordFormManager should know nothing about form structure, it's FormParser responsibility to process it. Small deletion of dead code is done: parameter |set_selection| from FillUserNameAndPassword, since it's never set to true. Initial CL: https://chromium-review.googlesource.com/c/chromium/src/+/1124474 TBR=mkwst@chromium.org Bug: 847793, 831123 Change-Id: I5f9a98d755400b2ab9706d27578764a0b46b3f86 Reviewed-on: https://chromium-review.googlesource.com/1140321 Reviewed-by: Vaclav Brozek <vabr@chromium.org> Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#576022} [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/chrome/renderer/autofill/password_autofill_agent_browsertest.cc [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/autofill/content/common/autofill_types.mojom [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/autofill/content/common/autofill_types_struct_traits.cc [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/autofill/content/common/autofill_types_struct_traits.h [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/autofill/content/renderer/password_autofill_agent.cc [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/autofill/content/renderer/password_autofill_agent.h [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/autofill/core/common/password_form.h [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/autofill/core/common/password_form_fill_data.cc [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/autofill/core/common/password_form_fill_data.h [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/autofill/core/common/password_form_fill_data_unittest.cc [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/password_manager/core/browser/form_parsing/form_parser.cc [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/password_manager/core/browser/form_parsing/form_parser_unittest.cc [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/password_manager/core/browser/form_parsing/password_field_prediction.cc [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/password_manager/core/browser/form_parsing/password_field_prediction.h [modify] https://crrev.com/75aa11b4ebdb5836a83938a867cf5c611dc2f07c/components/password_manager/core/browser/form_parsing/password_field_prediction_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a9a914949d0d5ddad74c4296b2188ea4c907fd58 commit a9a914949d0d5ddad74c4296b2188ea4c907fd58 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Jul 19 08:23:30 2018 Adding a flag for new Password Form parsing on iOS. This flag is cross-plaform flag, that was already added on all other platforms on CL https://chromium-review.googlesource.com/c/chromium/src/+/1016648. Bug: 831123 Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: I9de727ac5203e0680eb113aa2531512ba6245198 Reviewed-on: https://chromium-review.googlesource.com/1141946 Reviewed-by: Rohit Rao <rohitrao@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#576418} [modify] https://crrev.com/a9a914949d0d5ddad74c4296b2188ea4c907fd58/ios/chrome/browser/about_flags.mm [modify] https://crrev.com/a9a914949d0d5ddad74c4296b2188ea4c907fd58/ios/chrome/browser/ios_chrome_flag_descriptions.cc [modify] https://crrev.com/a9a914949d0d5ddad74c4296b2188ea4c907fd58/ios/chrome/browser/ios_chrome_flag_descriptions.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dcc14ad63f880098df7e971fd1b74f62b735a89f commit dcc14ad63f880098df7e971fd1b74f62b735a89f Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Jul 19 14:49:21 2018 Fix passwords filling on iOS. When filling forms, Chrome identifies fields by FormFieldData::id on iOS and FormFieldData::name on other platforms. The new FormData->PasswordForm parser failed to use 'id' on iOS. This CL fixes that by introducing platform-dependent identifier selector, which returns 'id' on iOS and 'name' elsewhere. The alternative solution of switching the iOS code to use 'name' (or the rest to use 'id') is not good for various reasons: - non-iOS code will ultimately migrate to using FormFieldData::unique_renderer_id, which is superior to both but not supported on iOS - iOS code contains significant improvements which ensure that FormFieldData::id is actually unique; this has been neither done outside of iOS, nor for FormFieldData::name - the amount of code needing change would be large and the benefit virtually null (compared to the solution from this CL). Bug: 831123 Change-Id: I24960064bb3f792ef4e0ebe6fbf769509481bad1 Reviewed-on: https://chromium-review.googlesource.com/1142151 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#576489} [modify] https://crrev.com/dcc14ad63f880098df7e971fd1b74f62b735a89f/components/password_manager/core/browser/form_parsing/form_parser.cc [modify] https://crrev.com/dcc14ad63f880098df7e971fd1b74f62b735a89f/components/password_manager/core/browser/form_parsing/form_parser_unittest.cc [modify] https://crrev.com/dcc14ad63f880098df7e971fd1b74f62b735a89f/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cd4ff786cea9561ac99f8ef862921e5ae8665d4f commit cd4ff786cea9561ac99f8ef862921e5ae8665d4f Author: Vadym Doroshenko <dvadym@chromium.org> Date: Tue Jul 24 13:41:02 2018 Adding a flag for saving with new Password Form parsing. On CL https://chromium-review.googlesource.com/c/chromium/src/+/1016648 it was added flag for new Password Form parsing in general. But since now it's used for launching in M-69 filling with the new parsing, another flag for saving is required for development (and launching it later). This CL adds it. Bug: 831123 Change-Id: Ic475da832d041d464f870ff96bd3b3bc76f838c1 Reviewed-on: https://chromium-review.googlesource.com/1148202 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#577508} [modify] https://crrev.com/cd4ff786cea9561ac99f8ef862921e5ae8665d4f/chrome/browser/about_flags.cc [modify] https://crrev.com/cd4ff786cea9561ac99f8ef862921e5ae8665d4f/chrome/browser/flag_descriptions.cc [modify] https://crrev.com/cd4ff786cea9561ac99f8ef862921e5ae8665d4f/chrome/browser/flag_descriptions.h [modify] https://crrev.com/cd4ff786cea9561ac99f8ef862921e5ae8665d4f/components/password_manager/core/common/password_manager_features.cc [modify] https://crrev.com/cd4ff786cea9561ac99f8ef862921e5ae8665d4f/components/password_manager/core/common/password_manager_features.h [modify] https://crrev.com/cd4ff786cea9561ac99f8ef862921e5ae8665d4f/tools/metrics/histograms/enums.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/740f55679f8c2c0401046d7ded5985c4bb2e08b9 commit 740f55679f8c2c0401046d7ded5985c4bb2e08b9 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Tue Jul 24 14:10:41 2018 PasswordFormManager clean-ups. As part as implementation of saving in NewPasswordFormManager some parts of PasswordFormManager will be copied to NewPasswordFormManager. Let's make clean-up of the old code first. Bug: 831123 Change-Id: Idb6acf4e0308d6193e3dbf4da07f73ee63859e99 Reviewed-on: https://chromium-review.googlesource.com/1073231 Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#577523} [modify] https://crrev.com/740f55679f8c2c0401046d7ded5985c4bb2e08b9/components/password_manager/core/browser/password_form_manager.cc [modify] https://crrev.com/740f55679f8c2c0401046d7ded5985c4bb2e08b9/components/password_manager/core/browser/password_form_manager.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b2d6acbd9628a347e9f36d5244f7346353ee9c63 commit b2d6acbd9628a347e9f36d5244f7346353ee9c63 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Fri Jul 27 10:13:24 2018 Creating pending credentials in NewPasswordFormManager. This Cl copies and adapts creating pending credentials from PasswordFormManager to NewPasswordFormManager. No changes in logic. Creating of pending credentials is the step in implementing of saving in NewPasswordFormManager. Next steps will be to implement Save() and Update() methods. Bug: 831123 Change-Id: I2a7f24c85e46ecd1474f99cf26c9b5136fe2ae9d Reviewed-on: https://chromium-review.googlesource.com/1148393 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#578582} [modify] https://crrev.com/b2d6acbd9628a347e9f36d5244f7346353ee9c63/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/b2d6acbd9628a347e9f36d5244f7346353ee9c63/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/b2d6acbd9628a347e9f36d5244f7346353ee9c63/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/b2d6acbd9628a347e9f36d5244f7346353ee9c63/components/password_manager/core/browser/password_form_manager.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5c10e5b9ee730d6cbda94e74c69072afa0e49d72 commit 5c10e5b9ee730d6cbda94e74c69072afa0e49d72 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Jul 30 16:28:29 2018 Fix crash in creating pending credentials in NewPasswordFormManager. Form Parsing might be unsuccessful. This CL implements graceful behaviour in NewPasswordFormManager::CreatePendingCredentialsForNewCredentials when it happens. Bug: 831123 Change-Id: Ie354bfcfbb751569ffa326691f8ba90f5fbff42e Reviewed-on: https://chromium-review.googlesource.com/1154913 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Commit-Position: refs/heads/master@{#579062} [modify] https://crrev.com/5c10e5b9ee730d6cbda94e74c69072afa0e49d72/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/5c10e5b9ee730d6cbda94e74c69072afa0e49d72/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f0b656aa075ce3bcd25869e84a97353ab515e23a commit f0b656aa075ce3bcd25869e84a97353ab515e23a Author: Vadym Doroshenko <dvadym@chromium.org> Date: Wed Aug 01 12:34:10 2018 Fill multiples time with NewPasswordFormManager. PasswordFormManager fills multiple times on different events from the Renderer. That's not optimal from performance point of view, but it adds robustness. This CL implements the same behaviour in NewPasswordFormManager as in PasswordFormManager: to fill till 5 times. This is quick fix, that will be merged in M-69. The better more robust filling is more complicated and will be implemented later. Bug: 868948, 831123 Change-Id: I44c93c5358b0e6707c545001f5f1a1fb7b60eec3 Reviewed-on: https://chromium-review.googlesource.com/1155116 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Commit-Position: refs/heads/master@{#579777} [modify] https://crrev.com/f0b656aa075ce3bcd25869e84a97353ab515e23a/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/f0b656aa075ce3bcd25869e84a97353ab515e23a/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/f0b656aa075ce3bcd25869e84a97353ab515e23a/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/f0b656aa075ce3bcd25869e84a97353ab515e23a/components/password_manager/core/browser/password_manager.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b9c28441e117ce10fd7ec74170d642eb482532a1 commit b9c28441e117ce10fd7ec74170d642eb482532a1 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Aug 06 15:29:38 2018 Fill multiples time with NewPasswordFormManager. PasswordFormManager fills multiple times on different events from the Renderer. That's not optimal from performance point of view, but it adds robustness. This CL implements the same behaviour in NewPasswordFormManager as in PasswordFormManager: to fill till 5 times. This is quick fix, that will be merged in M-69. The better more robust filling is more complicated and will be implemented later. TBR=dvadym@chromium.org TBR=vasilii@chromium.org (cherry picked from commit f0b656aa075ce3bcd25869e84a97353ab515e23a) Bug: 868948, 831123 Change-Id: I44c93c5358b0e6707c545001f5f1a1fb7b60eec3 Reviewed-on: https://chromium-review.googlesource.com/1155116 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#579777} Reviewed-on: https://chromium-review.googlesource.com/1163709 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3497@{#417} Cr-Branched-From: 271eaf50594eb818c9295dc78d364aea18c82ea8-refs/heads/master@{#576753} [modify] https://crrev.com/b9c28441e117ce10fd7ec74170d642eb482532a1/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/b9c28441e117ce10fd7ec74170d642eb482532a1/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/b9c28441e117ce10fd7ec74170d642eb482532a1/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/b9c28441e117ce10fd7ec74170d642eb482532a1/components/password_manager/core/browser/password_manager.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f3b7eb373646c7ee8fa6136391ec97f5388bd474 commit f3b7eb373646c7ee8fa6136391ec97f5388bd474 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Fri Aug 10 15:18:19 2018 PasswordFormManager clean-up. There are 2 problems with function PasswordFormManager::UpdatePendingAndGetOldKey 1.It has pretty complicated and confusing logic in updating password_element, username_element and submit_element. Now these variables have no meaning for filling or saving. So it doesn't make sense to update password store records because of them (moreover username and password elements are part of the key). So this code may be removed. 2.This function is doing 2 independent actions, update *elements and finds which other elements needed to be updated. Now the time to throw away garbage, since this code will be copied to NewPasswordFormManager. This CL removes item 1 and because of 2, the function is renamed to FindOtherCredentialsToUpdate. Bug: 831123 Change-Id: Ided9f7fe3156fc5c7384cc4278d7d61b416a77a6 Reviewed-on: https://chromium-review.googlesource.com/1169164 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Commit-Position: refs/heads/master@{#582168} [modify] https://crrev.com/f3b7eb373646c7ee8fa6136391ec97f5388bd474/components/password_manager/core/browser/password_form_manager.cc [modify] https://crrev.com/f3b7eb373646c7ee8fa6136391ec97f5388bd474/components/password_manager/core/browser/password_form_manager.h [modify] https://crrev.com/f3b7eb373646c7ee8fa6136391ec97f5388bd474/components/password_manager/core/browser/password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1e9974222211ca495cbe4f5585ae47c651cba35a commit 1e9974222211ca495cbe4f5585ae47c651cba35a Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Aug 16 14:23:44 2018 Add testing field trial to NewPasswordFormParsing finch config. Along the way 2 tests are fixed. Bug: 831123, 852742 Change-Id: If8466bf72cb81be1edbf5f0b95f7da5d309e6f54 Reviewed-on: https://chromium-review.googlesource.com/1169170 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Robert Kaplow (slow) <rkaplow@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Commit-Position: refs/heads/master@{#583641} [modify] https://crrev.com/1e9974222211ca495cbe4f5585ae47c651cba35a/chrome/browser/password_manager/password_manager_browsertest.cc [modify] https://crrev.com/1e9974222211ca495cbe4f5585ae47c651cba35a/chrome/browser/password_manager/password_manager_interactive_uitest.cc [modify] https://crrev.com/1e9974222211ca495cbe4f5585ae47c651cba35a/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/1e9974222211ca495cbe4f5585ae47c651cba35a/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/1e9974222211ca495cbe4f5585ae47c651cba35a/testing/variations/fieldtrial_testing_config.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/013584c73f326dbcdee79bb803fd079da45838a5 commit 013584c73f326dbcdee79bb803fd079da45838a5 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Tue Aug 21 14:48:47 2018 Introducing PasswordFormManagerForInterface. As part of implementation of the saving in new parsing we need to make the similar operations with NewPasswordFormManager as with PasswordFormManager in PasswordManager. In order to avoid copying the code, this CL introduces PasswordFormManagerForInterface for handling both classes though it. Details of implementation of saving in PasswordManager with NewPasswordManagePasswordManager in CL https://chromium-review.googlesource.com/c/chromium/src/+/1180220 Bug: 831123 Change-Id: I509be6c9b1f295e7e6d2bd482fbf2dc8177d7ac9 Reviewed-on: https://chromium-review.googlesource.com/1181025 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Commit-Position: refs/heads/master@{#584736} [modify] https://crrev.com/013584c73f326dbcdee79bb803fd079da45838a5/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/013584c73f326dbcdee79bb803fd079da45838a5/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/013584c73f326dbcdee79bb803fd079da45838a5/components/password_manager/core/browser/password_form_manager.cc [modify] https://crrev.com/013584c73f326dbcdee79bb803fd079da45838a5/components/password_manager/core/browser/password_form_manager.h [modify] https://crrev.com/013584c73f326dbcdee79bb803fd079da45838a5/components/password_manager/core/browser/password_form_manager_for_ui.h [modify] https://crrev.com/013584c73f326dbcdee79bb803fd079da45838a5/components/password_manager/core/browser/password_form_manager_unittest.cc [modify] https://crrev.com/013584c73f326dbcdee79bb803fd079da45838a5/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/013584c73f326dbcdee79bb803fd079da45838a5/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2a9edcc33f9506417c0f4e209c349b3e8cf3eb7f commit 2a9edcc33f9506417c0f4e209c349b3e8cf3eb7f Author: Vadym Doroshenko <dvadym@chromium.org> Date: Tue Aug 28 09:34:02 2018 Using NewPasswordFormManger for saving. This CL implements processing of submissions in PasswordManager class with NewPasswordFormManger behind kNewPasswordFormParsingForSaving flag. Namely it contains 1.Passing submitted form to the right NewPasswordFormManger 2.Detecting of submission success with NewPasswordFormManger 3.Passing NewPasswordFormManger to UI in order to show popups. Notes: 1.Saving in NewPasswordFormManger is not implemented yet. It will be implemented on the next CL https://chromium-review.googlesource.com/c/chromium/src/+/1169061 . 2.Even with turned on kNewPasswordFormParsingForSavingfeature, the old form processing infrastructure (with PasswordFormManager) is still working. We need it in order to compare results with UKM. Which will be implemented after finishing saving with NewPasswordFormManager. Bug: 831123 Change-Id: I7006cccaf404ddbb8a37b10cd5ab85e6ece67186 Reviewed-on: https://chromium-review.googlesource.com/1180220 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Commit-Position: refs/heads/master@{#586633} [modify] https://crrev.com/2a9edcc33f9506417c0f4e209c349b3e8cf3eb7f/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/2a9edcc33f9506417c0f4e209c349b3e8cf3eb7f/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/2a9edcc33f9506417c0f4e209c349b3e8cf3eb7f/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/2a9edcc33f9506417c0f4e209c349b3e8cf3eb7f/components/password_manager/core/browser/password_form_manager_for_ui.h [modify] https://crrev.com/2a9edcc33f9506417c0f4e209c349b3e8cf3eb7f/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/2a9edcc33f9506417c0f4e209c349b3e8cf3eb7f/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/2a9edcc33f9506417c0f4e209c349b3e8cf3eb7f/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a74c39839543afe9b8cb1e8553b5d8e1b75c576f commit a74c39839543afe9b8cb1e8553b5d8e1b75c576f Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Aug 30 14:44:57 2018 new_password_form_manager_unittest.cc improvement. This CL contains extraction of boiler plate related to creating of NewPasswordFormManager in a separate function. That's especially convenient since a new constructor argument will be added in CL https://chromium-review.googlesource.com/c/chromium/src/+/1169061. Bug: 831123 Change-Id: I8144ea71a824e80ba37528f4b1c7d86d0ae40ce5 Reviewed-on: https://chromium-review.googlesource.com/1196502 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Commit-Position: refs/heads/master@{#587570} [modify] https://crrev.com/a74c39839543afe9b8cb1e8553b5d8e1b75c576f/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fc14351ea64eb2b9cab7f51f1519e75f25c78512 commit fc14351ea64eb2b9cab7f51f1519e75f25c78512 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Tue Sep 04 12:41:15 2018 Saving in NewPasswordFormManager. This CL contains implementation of Save() function, that processes saving/updating when the user clicks Save/Update button. This implementation is copy and adaptation of PasswordFormManager::Save function. Bug: 831123 Change-Id: I2eea0ffe09d3877d7ab1672044bee0d7c2fcb327 Reviewed-on: https://chromium-review.googlesource.com/1169061 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#588494} [modify] https://crrev.com/fc14351ea64eb2b9cab7f51f1519e75f25c78512/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/fc14351ea64eb2b9cab7f51f1519e75f25c78512/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/fc14351ea64eb2b9cab7f51f1519e75f25c78512/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/fc14351ea64eb2b9cab7f51f1519e75f25c78512/components/password_manager/core/browser/password_form_manager.cc [modify] https://crrev.com/fc14351ea64eb2b9cab7f51f1519e75f25c78512/components/password_manager/core/browser/password_manager.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/37ae5d1ab56c6fd573958193e8174e9e105da4b7 commit 37ae5d1ab56c6fd573958193e8174e9e105da4b7 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Sep 06 09:15:54 2018 Implementation of UpdateUsername and UpdatePassword in NewPasswordFormManager. These functions are used for allowing the user to change username and password in save prompt. Bug: 831123 Change-Id: I8fe155ab543db58f6bc893c2e9e3280c12ab1428 Reviewed-on: https://chromium-review.googlesource.com/1206331 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#589119} [modify] https://crrev.com/37ae5d1ab56c6fd573958193e8174e9e105da4b7/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/37ae5d1ab56c6fd573958193e8174e9e105da4b7/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5a0ccdd24445211dd8e9ea7d03a426f689c208c9 commit 5a0ccdd24445211dd8e9ea7d03a426f689c208c9 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Sep 10 16:47:35 2018 Implementation of PermanentlyBlacklist in NewPasswordFormManager. It's basically the same as in PasswordFormManager. Bug: 831123 Change-Id: Iee8fda80eb46e3be1245e2f28d5a9b08980f527e Reviewed-on: https://chromium-review.googlesource.com/1213156 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Commit-Position: refs/heads/master@{#589946} [modify] https://crrev.com/5a0ccdd24445211dd8e9ea7d03a426f689c208c9/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/5a0ccdd24445211dd8e9ea7d03a426f689c208c9/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/5a0ccdd24445211dd8e9ea7d03a426f689c208c9/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/5a0ccdd24445211dd8e9ea7d03a426f689c208c9/components/password_manager/core/browser/password_form_manager.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a76e906b901ad098d95dddac0c77d57af5983eb9 commit a76e906b901ad098d95dddac0c77d57af5983eb9 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Tue Sep 11 08:28:46 2018 Use the same metric recorder for PasswordFormManager and NewPasswordFormManager. When flag #new-password-form-parsing is on, PasswordFormManager is used for saving and NewPasswordFormManager for filling. Now they have separate metric recorders. Metric PasswordManager.ActionsTakenV3 (and others) is inconsistent because filling and saving parts of this metric written with different recorders. This CL implements usage of the same metric recorder for PasswordFormManager and NewPasswordFormManager that corresponds for the same form. Bug: 882432, 831123 Change-Id: I84b480c86ec8172fb9d055cd8189529c5e4f42fb Reviewed-on: https://chromium-review.googlesource.com/1215965 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Dominic Battré <battre@chromium.org> Cr-Commit-Position: refs/heads/master@{#590234} [modify] https://crrev.com/a76e906b901ad098d95dddac0c77d57af5983eb9/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/a76e906b901ad098d95dddac0c77d57af5983eb9/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/a76e906b901ad098d95dddac0c77d57af5983eb9/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/a76e906b901ad098d95dddac0c77d57af5983eb9/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/a76e906b901ad098d95dddac0c77d57af5983eb9/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/75c5ca788bc98baf0e5879931dcd4b25e59ffdf0 commit 75c5ca788bc98baf0e5879931dcd4b25e59ffdf0 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Tue Sep 11 14:19:03 2018 Fix crash in PasswordManager. When saving with new parsing is on, both PasswordFormManager and NewPasswordFormManager works in parallel. Atm it's possible that when OnLoginSuccessful is called, there is no NewPasswordFormManager that corresponds to the submitted form. That leads to crash. This CL introduces quick fix, namely just make early return when it happens. This fix is supposed to be merged in beta, so it's very easy. Later more proper handling will be implemented. Bug: 880247, 831123 Change-Id: I709f5ce16ea2d92f079f47308ec9c9dde7cf01e1 Reviewed-on: https://chromium-review.googlesource.com/1219687 Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#590295} [modify] https://crrev.com/75c5ca788bc98baf0e5879931dcd4b25e59ffdf0/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/75c5ca788bc98baf0e5879931dcd4b25e59ffdf0/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c607981761788cfe7cb61a1ccec10de1afd742f2 commit c607981761788cfe7cb61a1ccec10de1afd742f2 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Tue Sep 18 07:19:32 2018 Use the same metric recorder for PasswordFormManager and NewPasswordFormManager. When flag #new-password-form-parsing is on, PasswordFormManager is used for saving and NewPasswordFormManager for filling. Now they have separate metric recorders. Metric PasswordManager.ActionsTakenV3 (and others) is inconsistent because filling and saving parts of this metric written with different recorders. This CL implements usage of the same metric recorder for PasswordFormManager and NewPasswordFormManager that corresponds for the same form. Bug: 882432, 831123 Change-Id: I84b480c86ec8172fb9d055cd8189529c5e4f42fb Reviewed-on: https://chromium-review.googlesource.com/1215965 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Dominic Battré <battre@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#590234}(cherry picked from commit a76e906b901ad098d95dddac0c77d57af5983eb9) Reviewed-on: https://chromium-review.googlesource.com/1229935 Cr-Commit-Position: refs/branch-heads/3538@{#475} Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811} [modify] https://crrev.com/c607981761788cfe7cb61a1ccec10de1afd742f2/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/c607981761788cfe7cb61a1ccec10de1afd742f2/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/c607981761788cfe7cb61a1ccec10de1afd742f2/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/c607981761788cfe7cb61a1ccec10de1afd742f2/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/c607981761788cfe7cb61a1ccec10de1afd742f2/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b6d190e803a3edcb4226294a100482b9857ef215 commit b6d190e803a3edcb4226294a100482b9857ef215 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Wed Sep 19 12:39:13 2018 Fix crash in PasswordManager. When saving with new parsing is on, both PasswordFormManager and NewPasswordFormManager works in parallel. Atm it's possible that when OnLoginSuccessful is called, there is no NewPasswordFormManager that corresponds to the submitted form. That leads to crash. This CL introduces quick fix, namely just make early return when it happens. This fix is supposed to be merged in beta, so it's very easy. Later more proper handling will be implemented. Bug: 880247, 831123 Change-Id: I709f5ce16ea2d92f079f47308ec9c9dde7cf01e1 Reviewed-on: https://chromium-review.googlesource.com/1219687 Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#590295}(cherry picked from commit 75c5ca788bc98baf0e5879931dcd4b25e59ffdf0) Reviewed-on: https://chromium-review.googlesource.com/1230678 Reviewed-by: Dominic Battré <battre@chromium.org> Cr-Commit-Position: refs/branch-heads/3538@{#524} Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811} [modify] https://crrev.com/b6d190e803a3edcb4226294a100482b9857ef215/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/b6d190e803a3edcb4226294a100482b9857ef215/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a65ef6fc53b8610d9263f0380eb206c6d3f50750 commit a65ef6fc53b8610d9263f0380eb206c6d3f50750 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Sep 27 12:14:55 2018 Using NewPasswordFormManager for saving manual fallbacks. Manual fallback with NPFM is implemented similar to PFM, namely: 1.The user is typing 2.FormData is extracted and sent to the browser. 3.PasswordManager::ShowManualFallbackForSaving is called a.NPFM is cloned b.Received FormData is considered to be submitted form c.Cloned NPFM is moved to UI Along the way, GetSignonRealm was extracted to the util file. Bug: 831123 Change-Id: Ibbb30ccd1a1e8084e378480cd2ceccca4eaa93d4 Reviewed-on: https://chromium-review.googlesource.com/1238896 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#594686} [modify] https://crrev.com/a65ef6fc53b8610d9263f0380eb206c6d3f50750/components/password_manager/core/browser/form_parsing/form_parser.cc [modify] https://crrev.com/a65ef6fc53b8610d9263f0380eb206c6d3f50750/components/password_manager/core/browser/form_parsing/form_parser.h [modify] https://crrev.com/a65ef6fc53b8610d9263f0380eb206c6d3f50750/components/password_manager/core/browser/form_parsing/form_parser_unittest.cc [modify] https://crrev.com/a65ef6fc53b8610d9263f0380eb206c6d3f50750/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/a65ef6fc53b8610d9263f0380eb206c6d3f50750/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/a65ef6fc53b8610d9263f0380eb206c6d3f50750/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/a65ef6fc53b8610d9263f0380eb206c6d3f50750/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/a65ef6fc53b8610d9263f0380eb206c6d3f50750/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/534c5aa81cf7b59d2f67a17666e6fd56e50f2a94 commit 534c5aa81cf7b59d2f67a17666e6fd56e50f2a94 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Fri Sep 28 11:23:59 2018 Clear non needed data from FormData before saving. That's good both for privacy and storage reasons. Bug: 831123 Change-Id: Ie41b6d1f25fe37f86aea9eb4625d8aa878e0a52e Reviewed-on: https://chromium-review.googlesource.com/1249205 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#595055} [modify] https://crrev.com/534c5aa81cf7b59d2f67a17666e6fd56e50f2a94/components/password_manager/core/browser/form_saver_impl.cc [modify] https://crrev.com/534c5aa81cf7b59d2f67a17666e6fd56e50f2a94/components/password_manager/core/browser/form_saver_impl_unittest.cc [modify] https://crrev.com/534c5aa81cf7b59d2f67a17666e6fd56e50f2a94/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bf2bdc0bff519f40af94df68094cf13ffd0f2537 commit bf2bdc0bff519f40af94df68094cf13ffd0f2537 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Oct 04 10:44:11 2018 Use NewPasswordFormManager for checking success detection. Saving credentials with NewPasswordFormManager was implemented in https://crrev.com/c/1180220. However, (the old) PasswordFormManager is still used for detecting login success. This CL enables using NewPasswordFormManager for success detection by switching from using the provisional_saved_manager_ (which has type PasswordFormManager) to using the result of GetSubmittedManager() (of type PasswordFormManagerInterface, the common base to both *PasswordFormManager types). This CL completes the infrastructure needed to replace PasswordFormManager with NewPasswordFormManager. So, it also introduces an option for tests to stop using PasswordFormManager in PasswordManager at all. (Production code still runs both versions in parallel and chooses the result based on the active base::Features.) Bug: 831123 Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs Change-Id: Id30b1a5b87e64a6ae8f9bc80b4cbf22922e17a2d Reviewed-on: https://chromium-review.googlesource.com/c/1254065 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Eugene But <eugenebut@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#596577} [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/credentials_filter.h [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/password_form_manager.cc [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/password_form_manager.h [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/password_form_manager_for_ui.h [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/password_manager_unittest.cc [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/stub_credentials_filter.cc [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/stub_credentials_filter.h [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/sync_credentials_filter.cc [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/components/password_manager/core/browser/sync_credentials_filter.h [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/ios/web_view/internal/passwords/mock_credentials_filter.h [modify] https://crrev.com/bf2bdc0bff519f40af94df68094cf13ffd0f2537/ios/web_view/internal/passwords/mock_credentials_filter.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/eefe01051ff440a2d412f6a499b55c1c7643d103 commit eefe01051ff440a2d412f6a499b55c1c7643d103 Author: Vaclav Brozek <vabr@chromium.org> Date: Fri Oct 05 09:14:26 2018 Fix NewPasswordFormManager test The test has a helper method CreateFormManager, which takes a FormData argument and should build a NewPasswordFormManager for that FormData. However, due to a typo, that method always builds the NPFM for |observed_form_| instead. This CL fixes that typo. Bug: 831123 Change-Id: Ibb313866f8f04d444f68f4af046716ac5ad264be Reviewed-on: https://chromium-review.googlesource.com/c/1262515 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#597051} [modify] https://crrev.com/eefe01051ff440a2d412f6a499b55c1c7643d103/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/452711acab89b10dcfbd062c1b654ec0330f570b commit 452711acab89b10dcfbd062c1b654ec0330f570b Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Oct 11 14:21:33 2018 Fix crash in saving with the new parser. Parsing of the form on saving may return empty result. For example if all password fields are marked as credit card related fields. In this case NewPasswordFormManager shouldn't be considered to be submitted. Anyway it's not possible to save. This CL fixes a crash on attempt to use parsed submitted form in OnLoginSuccessful. Bug: 893672, 831123 Change-Id: Id0211f26ec1ba03d3659b41f815792e6a5d71a68 Reviewed-on: https://chromium-review.googlesource.com/c/1275888 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#598753} [modify] https://crrev.com/452711acab89b10dcfbd062c1b654ec0330f570b/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/452711acab89b10dcfbd062c1b654ec0330f570b/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b3a44215e004fccbcfd839a4d5f1d88a24a91f04 commit b3a44215e004fccbcfd839a4d5f1d88a24a91f04 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Tue Oct 16 10:00:05 2018 Implemented processing of generation in NewPasswordFormManager. This CL implements: 1.Processing of presaving of the generated password in NewPasswordFormManager. 2.Processing of other generation related actions: PasswordNoLongerGenerated etc 3.Teaching PasswordManager to use the right form manager for generation related actions and adding new methods in PasswordFormManagerInterface. 4.Adding |driver| into arguments of generation related functions in PasswordManager (in order to match correctly NewPasswordFormManager and the form with the generated password). Bug: 831123 Change-Id: I285a93d8a6b9b9d79cecd2aac747461f1650779e Reviewed-on: https://chromium-review.googlesource.com/c/1261696 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#599936} [modify] https://crrev.com/b3a44215e004fccbcfd839a4d5f1d88a24a91f04/chrome/browser/password_manager/chrome_password_manager_client.cc [modify] https://crrev.com/b3a44215e004fccbcfd839a4d5f1d88a24a91f04/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/b3a44215e004fccbcfd839a4d5f1d88a24a91f04/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/b3a44215e004fccbcfd839a4d5f1d88a24a91f04/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/b3a44215e004fccbcfd839a4d5f1d88a24a91f04/components/password_manager/core/browser/password_form_manager.cc [modify] https://crrev.com/b3a44215e004fccbcfd839a4d5f1d88a24a91f04/components/password_manager/core/browser/password_form_manager.h [modify] https://crrev.com/b3a44215e004fccbcfd839a4d5f1d88a24a91f04/components/password_manager/core/browser/password_form_manager_for_ui.h [modify] https://crrev.com/b3a44215e004fccbcfd839a4d5f1d88a24a91f04/components/password_manager/core/browser/password_form_manager_unittest.cc [modify] https://crrev.com/b3a44215e004fccbcfd839a4d5f1d88a24a91f04/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/b3a44215e004fccbcfd839a4d5f1d88a24a91f04/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/b3a44215e004fccbcfd839a4d5f1d88a24a91f04/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3714ff7352210301b1593f00b1955b1485328f56 commit 3714ff7352210301b1593f00b1955b1485328f56 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Tue Oct 16 16:54:34 2018 Make new form parser features consistent. The new form parsing for saving requires the new parsing for filling is available. This CL enforces it. Bug: 831123 Change-Id: I9b2463f5e80ef51a267325dfdb3b576f244d15e5 Reviewed-on: https://chromium-review.googlesource.com/c/1282952 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#600017} [modify] https://crrev.com/3714ff7352210301b1593f00b1955b1485328f56/components/password_manager/core/browser/password_manager.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5e406bc057fc3214c4375c803727480a50a4f5ad commit 5e406bc057fc3214c4375c803727480a50a4f5ad Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Oct 18 19:08:55 2018 Add metric recorder into constructor parameters of NewPasswordForManager. Before this CL, during cloning the new metric recorder was created and then it was overwritten with the old one. That leads to many extra metric sending (each recorder sends metrics separately). This CL fixes this to adding metric recorder to the constructor, so it's possible to reuse existing metric recorder. It's very similar to PasswordFormManager implementation, but then it's done with a separate Init() function, but it's easier to add this in constructor in order to have the consistent object after constructor call, since anyway the recorder must be created. Bug: 831123 Change-Id: Id46dee6aee4ae30686f1190884db05e25f26113b Reviewed-on: https://chromium-review.googlesource.com/c/1288437 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#600855} [modify] https://crrev.com/5e406bc057fc3214c4375c803727480a50a4f5ad/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/5e406bc057fc3214c4375c803727480a50a4f5ad/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/5e406bc057fc3214c4375c803727480a50a4f5ad/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/5e406bc057fc3214c4375c803727480a50a4f5ad/components/password_manager/core/browser/password_manager.cc
Issue 498048 has been merged into this issue.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0d257042461e7503f9ac798a1e6377a2c41254c1 commit 0d257042461e7503f9ac798a1e6377a2c41254c1 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Wed Nov 07 14:45:40 2018 Fix dynamically changed forms in NewPasswordFormManager. Sometimes sites change forms after adding them. For example removing/ adding fields. This CL makes NewPasswordFormManager process this situation, by updating |observed_form|, parsing it again and sending new data to the renderer. Bug: 895411, 831123, 895788 Change-Id: I296180c5b30f879a3f9bcc7af7cccb98f5fa8eb8 Reviewed-on: https://chromium-review.googlesource.com/c/1317893 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Ilya Sherman <isherman@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#606041} [modify] https://crrev.com/0d257042461e7503f9ac798a1e6377a2c41254c1/chrome/browser/password_manager/password_manager_browsertest.cc [modify] https://crrev.com/0d257042461e7503f9ac798a1e6377a2c41254c1/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/0d257042461e7503f9ac798a1e6377a2c41254c1/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/0d257042461e7503f9ac798a1e6377a2c41254c1/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/0d257042461e7503f9ac798a1e6377a2c41254c1/components/password_manager/core/browser/password_form_metrics_recorder.cc [modify] https://crrev.com/0d257042461e7503f9ac798a1e6377a2c41254c1/components/password_manager/core/browser/password_form_metrics_recorder.h [modify] https://crrev.com/0d257042461e7503f9ac798a1e6377a2c41254c1/components/password_manager/core/browser/password_form_metrics_recorder_unittest.cc [modify] https://crrev.com/0d257042461e7503f9ac798a1e6377a2c41254c1/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/0d257042461e7503f9ac798a1e6377a2c41254c1/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1be2ac8dac1222f9827b32455f7f517cfcadea0d commit 1be2ac8dac1222f9827b32455f7f517cfcadea0d Author: Vaclav Brozek <vabr@chromium.org> Date: Wed Nov 07 19:29:32 2018 Revert "Fix dynamically changed forms in NewPasswordFormManager." This reverts commit 0d257042461e7503f9ac798a1e6377a2c41254c1. Reason for revert: When I ran out/Default/interactive_ui_tests --gtest_filter=PasswordGenerationInteractiveTest.PopupShownAutomaticallyAndPasswordErased --gtest_repeat=10 --gtest_break_on_failure with the patch in, on my (virtual) Linux machine, I could reproduce the test failure reliably. When I reverted the patch locally, the test always succeeded. Original change's description: > Fix dynamically changed forms in NewPasswordFormManager. > > Sometimes sites change forms after adding them. For example removing/ > adding fields. This CL makes NewPasswordFormManager process this > situation, by updating |observed_form|, parsing it again and sending > new data to the renderer. > > Bug: 895411, 831123, 895788 > Change-Id: I296180c5b30f879a3f9bcc7af7cccb98f5fa8eb8 > Reviewed-on: https://chromium-review.googlesource.com/c/1317893 > Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> > Reviewed-by: Ilya Sherman <isherman@chromium.org> > Reviewed-by: Vaclav Brozek <vabr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#606041} TBR=isherman@chromium.org,vabr@chromium.org,dvadym@chromium.org Change-Id: I3c1f2e4570bd07b9cba0f0bdbbe65d7dc28300a9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 895411, 831123, 895788 Reviewed-on: https://chromium-review.googlesource.com/c/1323657 Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#606126} [modify] https://crrev.com/1be2ac8dac1222f9827b32455f7f517cfcadea0d/chrome/browser/password_manager/password_manager_browsertest.cc [modify] https://crrev.com/1be2ac8dac1222f9827b32455f7f517cfcadea0d/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/1be2ac8dac1222f9827b32455f7f517cfcadea0d/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/1be2ac8dac1222f9827b32455f7f517cfcadea0d/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/1be2ac8dac1222f9827b32455f7f517cfcadea0d/components/password_manager/core/browser/password_form_metrics_recorder.cc [modify] https://crrev.com/1be2ac8dac1222f9827b32455f7f517cfcadea0d/components/password_manager/core/browser/password_form_metrics_recorder.h [modify] https://crrev.com/1be2ac8dac1222f9827b32455f7f517cfcadea0d/components/password_manager/core/browser/password_form_metrics_recorder_unittest.cc [modify] https://crrev.com/1be2ac8dac1222f9827b32455f7f517cfcadea0d/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/1be2ac8dac1222f9827b32455f7f517cfcadea0d/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b874f30df5bdd328cd3cf5d52c1c623b11f45fec commit b874f30df5bdd328cd3cf5d52c1c623b11f45fec Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Nov 08 13:07:26 2018 Fix dynamically changed forms in NewPasswordFormManager. Sometimes sites change forms after adding them. For example removing/ adding fields. This CL makes NewPasswordFormManager process this situation, by updating |observed_form|, parsing it again and sending new data to the renderer. This first time this CL was uploaded on https://chromium-review.googlesource.com/c/chromium/src/+/1326010 (Patch 1) but it was reverted because of failures in password_generation_interactive_uitest.cc. The reason of failures is that no non-blacklisted confirmation because NewPasswordFormManager waits for server response. This CL fixes that by turning off waiting of server predictions. TBR=isherman@chromium.org Bug: 895411, 831123, 895788, 902805 Change-Id: I99174a73134c582a3975b1f06d797e61ec117855 Reviewed-on: https://chromium-review.googlesource.com/c/1326010 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#606435} [modify] https://crrev.com/b874f30df5bdd328cd3cf5d52c1c623b11f45fec/chrome/browser/password_manager/password_generation_interactive_uitest.cc [modify] https://crrev.com/b874f30df5bdd328cd3cf5d52c1c623b11f45fec/chrome/browser/password_manager/password_manager_browsertest.cc [modify] https://crrev.com/b874f30df5bdd328cd3cf5d52c1c623b11f45fec/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/b874f30df5bdd328cd3cf5d52c1c623b11f45fec/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/b874f30df5bdd328cd3cf5d52c1c623b11f45fec/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/b874f30df5bdd328cd3cf5d52c1c623b11f45fec/components/password_manager/core/browser/password_form_metrics_recorder.cc [modify] https://crrev.com/b874f30df5bdd328cd3cf5d52c1c623b11f45fec/components/password_manager/core/browser/password_form_metrics_recorder.h [modify] https://crrev.com/b874f30df5bdd328cd3cf5d52c1c623b11f45fec/components/password_manager/core/browser/password_form_metrics_recorder_unittest.cc [modify] https://crrev.com/b874f30df5bdd328cd3cf5d52c1c623b11f45fec/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/b874f30df5bdd328cd3cf5d52c1c623b11f45fec/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ddbedba5c0d59f895623bfec8d548f1c70086baf commit ddbedba5c0d59f895623bfec8d548f1c70086baf Author: Vaclav Brozek <vabr@chromium.org> Date: Mon Nov 12 18:21:38 2018 [M71] Fix dynamically changed forms in NewPasswordFormManager. Sometimes sites change forms after adding them. For example removing/ adding fields. This CL makes NewPasswordFormManager process this situation, by updating |observed_form|, parsing it again and sending new data to the renderer. TBR=dvadym@chromium.org (cherry picked from commit b874f30df5bdd328cd3cf5d52c1c623b11f45fec) Bug: 895411, 831123, 895788 Change-Id: I99174a73134c582a3975b1f06d797e61ec117855 Reviewed-on: https://chromium-review.googlesource.com/c/1326010 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#606435} Reviewed-on: https://chromium-review.googlesource.com/c/1331590 Cr-Commit-Position: refs/branch-heads/3578@{#636} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} [modify] https://crrev.com/ddbedba5c0d59f895623bfec8d548f1c70086baf/chrome/browser/password_manager/password_generation_interactive_uitest.cc [modify] https://crrev.com/ddbedba5c0d59f895623bfec8d548f1c70086baf/chrome/browser/password_manager/password_manager_browsertest.cc [modify] https://crrev.com/ddbedba5c0d59f895623bfec8d548f1c70086baf/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/ddbedba5c0d59f895623bfec8d548f1c70086baf/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/ddbedba5c0d59f895623bfec8d548f1c70086baf/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/ddbedba5c0d59f895623bfec8d548f1c70086baf/components/password_manager/core/browser/password_form_metrics_recorder.cc [modify] https://crrev.com/ddbedba5c0d59f895623bfec8d548f1c70086baf/components/password_manager/core/browser/password_form_metrics_recorder.h [modify] https://crrev.com/ddbedba5c0d59f895623bfec8d548f1c70086baf/components/password_manager/core/browser/password_form_metrics_recorder_unittest.cc [modify] https://crrev.com/ddbedba5c0d59f895623bfec8d548f1c70086baf/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/ddbedba5c0d59f895623bfec8d548f1c70086baf/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ddbedba5c0d59f895623bfec8d548f1c70086baf Commit: ddbedba5c0d59f895623bfec8d548f1c70086baf Author: vabr@chromium.org Commiter: vabr@chromium.org Date: 2018-11-12 18:21:38 +0000 UTC [M71] Fix dynamically changed forms in NewPasswordFormManager. Sometimes sites change forms after adding them. For example removing/ adding fields. This CL makes NewPasswordFormManager process this situation, by updating |observed_form|, parsing it again and sending new data to the renderer. TBR=dvadym@chromium.org (cherry picked from commit b874f30df5bdd328cd3cf5d52c1c623b11f45fec) Bug: 895411, 831123, 895788 Change-Id: I99174a73134c582a3975b1f06d797e61ec117855 Reviewed-on: https://chromium-review.googlesource.com/c/1326010 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#606435} Reviewed-on: https://chromium-review.googlesource.com/c/1331590 Cr-Commit-Position: refs/branch-heads/3578@{#636} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4 commit cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4 Author: Olivier Robin <olivierrobin@chromium.org> Date: Tue Nov 13 09:52:03 2018 Revert "[M71] Fix dynamically changed forms in NewPasswordFormManager." This reverts commit ddbedba5c0d59f895623bfec8d548f1c70086baf. Reason for revert: Break M71 compilation. base::HistogramTester does not exist on M71 Original change's description: > [M71] Fix dynamically changed forms in NewPasswordFormManager. > > Sometimes sites change forms after adding them. For example removing/ > adding fields. This CL makes NewPasswordFormManager process this > situation, by updating |observed_form|, parsing it again and sending > new data to the renderer. > > TBR=dvadym@chromium.org > > (cherry picked from commit b874f30df5bdd328cd3cf5d52c1c623b11f45fec) > > Bug: 895411, 831123, 895788 > Change-Id: I99174a73134c582a3975b1f06d797e61ec117855 > Reviewed-on: https://chromium-review.googlesource.com/c/1326010 > Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> > Reviewed-by: Vaclav Brozek <vabr@chromium.org> > Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> > Cr-Original-Commit-Position: refs/heads/master@{#606435} > Reviewed-on: https://chromium-review.googlesource.com/c/1331590 > Cr-Commit-Position: refs/branch-heads/3578@{#636} > Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} TBR=vabr@chromium.org,dvadym@chromium.org Change-Id: Ib55a6643c0d9a5a88f744bf8cb4e650bdb9755a1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 895411, 831123, 895788 Reviewed-on: https://chromium-review.googlesource.com/c/1332195 Reviewed-by: Olivier Robin <olivierrobin@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#652} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} [modify] https://crrev.com/cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4/chrome/browser/password_manager/password_generation_interactive_uitest.cc [modify] https://crrev.com/cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4/chrome/browser/password_manager/password_manager_browsertest.cc [modify] https://crrev.com/cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4/components/password_manager/core/browser/password_form_metrics_recorder.cc [modify] https://crrev.com/cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4/components/password_manager/core/browser/password_form_metrics_recorder.h [modify] https://crrev.com/cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4/components/password_manager/core/browser/password_form_metrics_recorder_unittest.cc [modify] https://crrev.com/cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4 Commit: cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4 Author: olivierrobin@chromium.org Commiter: olivierrobin@chromium.org Date: 2018-11-13 09:52:03 +0000 UTC Revert "[M71] Fix dynamically changed forms in NewPasswordFormManager." This reverts commit ddbedba5c0d59f895623bfec8d548f1c70086baf. Reason for revert: Break M71 compilation. base::HistogramTester does not exist on M71 Original change's description: > [M71] Fix dynamically changed forms in NewPasswordFormManager. > > Sometimes sites change forms after adding them. For example removing/ > adding fields. This CL makes NewPasswordFormManager process this > situation, by updating |observed_form|, parsing it again and sending > new data to the renderer. > > TBR=dvadym@chromium.org > > (cherry picked from commit b874f30df5bdd328cd3cf5d52c1c623b11f45fec) > > Bug: 895411, 831123, 895788 > Change-Id: I99174a73134c582a3975b1f06d797e61ec117855 > Reviewed-on: https://chromium-review.googlesource.com/c/1326010 > Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> > Reviewed-by: Vaclav Brozek <vabr@chromium.org> > Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> > Cr-Original-Commit-Position: refs/heads/master@{#606435} > Reviewed-on: https://chromium-review.googlesource.com/c/1331590 > Cr-Commit-Position: refs/branch-heads/3578@{#636} > Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} TBR=vabr@chromium.org,dvadym@chromium.org Change-Id: Ib55a6643c0d9a5a88f744bf8cb4e650bdb9755a1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 895411, 831123, 895788 Reviewed-on: https://chromium-review.googlesource.com/c/1332195 Reviewed-by: Olivier Robin <olivierrobin@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#652} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bf3759a73437677de98b3894acf517981508b987 commit bf3759a73437677de98b3894acf517981508b987 Author: Vaclav Brozek <vabr@chromium.org> Date: Tue Nov 13 10:14:28 2018 Reland "[M71] Fix dynamically changed forms in NewPasswordFormManager." This reverts commit cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4. Reason for revert: The breakage was caused by not #including "base/test/metrics/histogram_tester.h" in new_password_form_manager_unittest.cc directly. The missing #include does exist on trunk. Also, the file gets #included indirectly on desktop platforms, so this was not caught by go/betabuilders. Patchset 1 here is the reverted CL, patchset 2 is the fixed one. Original change's description: > Revert "[M71] Fix dynamically changed forms in NewPasswordFormManager." > > This reverts commit ddbedba5c0d59f895623bfec8d548f1c70086baf. > > Reason for revert: Break M71 compilation. > base::HistogramTester does not exist on M71 > > Original change's description: > > [M71] Fix dynamically changed forms in NewPasswordFormManager. > > > > Sometimes sites change forms after adding them. For example removing/ > > adding fields. This CL makes NewPasswordFormManager process this > > situation, by updating |observed_form|, parsing it again and sending > > new data to the renderer. > > > > TBR=dvadym@chromium.org > > > > (cherry picked from commit b874f30df5bdd328cd3cf5d52c1c623b11f45fec) > > > > Bug: 895411, 831123, 895788 > > Change-Id: I99174a73134c582a3975b1f06d797e61ec117855 > > Reviewed-on: https://chromium-review.googlesource.com/c/1326010 > > Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> > > Reviewed-by: Vaclav Brozek <vabr@chromium.org> > > Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> > > Cr-Original-Commit-Position: refs/heads/master@{#606435} > > Reviewed-on: https://chromium-review.googlesource.com/c/1331590 > > Cr-Commit-Position: refs/branch-heads/3578@{#636} > > Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} > > TBR=vabr@chromium.org,dvadym@chromium.org > > Change-Id: Ib55a6643c0d9a5a88f744bf8cb4e650bdb9755a1 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 895411, 831123, 895788 > Reviewed-on: https://chromium-review.googlesource.com/c/1332195 > Reviewed-by: Olivier Robin <olivierrobin@chromium.org> > Cr-Commit-Position: refs/branch-heads/3578@{#652} > Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} TBR=vabr@chromium.org,dvadym@chromium.org,olivierrobin@chromium.org Change-Id: Ic698b6e38a79b897f9fc9fda2676ee7a22112113 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 895411, 831123, 895788 Reviewed-on: https://chromium-review.googlesource.com/c/1333367 Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#654} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} [modify] https://crrev.com/bf3759a73437677de98b3894acf517981508b987/chrome/browser/password_manager/password_generation_interactive_uitest.cc [modify] https://crrev.com/bf3759a73437677de98b3894acf517981508b987/chrome/browser/password_manager/password_manager_browsertest.cc [modify] https://crrev.com/bf3759a73437677de98b3894acf517981508b987/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/bf3759a73437677de98b3894acf517981508b987/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/bf3759a73437677de98b3894acf517981508b987/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/bf3759a73437677de98b3894acf517981508b987/components/password_manager/core/browser/password_form_metrics_recorder.cc [modify] https://crrev.com/bf3759a73437677de98b3894acf517981508b987/components/password_manager/core/browser/password_form_metrics_recorder.h [modify] https://crrev.com/bf3759a73437677de98b3894acf517981508b987/components/password_manager/core/browser/password_form_metrics_recorder_unittest.cc [modify] https://crrev.com/bf3759a73437677de98b3894acf517981508b987/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/bf3759a73437677de98b3894acf517981508b987/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bf3759a73437677de98b3894acf517981508b987 Commit: bf3759a73437677de98b3894acf517981508b987 Author: vabr@chromium.org Commiter: vabr@chromium.org Date: 2018-11-13 10:14:28 +0000 UTC Reland "[M71] Fix dynamically changed forms in NewPasswordFormManager." This reverts commit cbf87871a1ad26f4fe6b9efaf33c9c6181e04cb4. Reason for revert: The breakage was caused by not #including "base/test/metrics/histogram_tester.h" in new_password_form_manager_unittest.cc directly. The missing #include does exist on trunk. Also, the file gets #included indirectly on desktop platforms, so this was not caught by go/betabuilders. Patchset 1 here is the reverted CL, patchset 2 is the fixed one. Original change's description: > Revert "[M71] Fix dynamically changed forms in NewPasswordFormManager." > > This reverts commit ddbedba5c0d59f895623bfec8d548f1c70086baf. > > Reason for revert: Break M71 compilation. > base::HistogramTester does not exist on M71 > > Original change's description: > > [M71] Fix dynamically changed forms in NewPasswordFormManager. > > > > Sometimes sites change forms after adding them. For example removing/ > > adding fields. This CL makes NewPasswordFormManager process this > > situation, by updating |observed_form|, parsing it again and sending > > new data to the renderer. > > > > TBR=dvadym@chromium.org > > > > (cherry picked from commit b874f30df5bdd328cd3cf5d52c1c623b11f45fec) > > > > Bug: 895411, 831123, 895788 > > Change-Id: I99174a73134c582a3975b1f06d797e61ec117855 > > Reviewed-on: https://chromium-review.googlesource.com/c/1326010 > > Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> > > Reviewed-by: Vaclav Brozek <vabr@chromium.org> > > Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> > > Cr-Original-Commit-Position: refs/heads/master@{#606435} > > Reviewed-on: https://chromium-review.googlesource.com/c/1331590 > > Cr-Commit-Position: refs/branch-heads/3578@{#636} > > Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} > > TBR=vabr@chromium.org,dvadym@chromium.org > > Change-Id: Ib55a6643c0d9a5a88f744bf8cb4e650bdb9755a1 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 895411, 831123, 895788 > Reviewed-on: https://chromium-review.googlesource.com/c/1332195 > Reviewed-by: Olivier Robin <olivierrobin@chromium.org> > Cr-Commit-Position: refs/branch-heads/3578@{#652} > Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} TBR=vabr@chromium.org,dvadym@chromium.org,olivierrobin@chromium.org Change-Id: Ic698b6e38a79b897f9fc9fda2676ee7a22112113 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 895411, 831123, 895788 Reviewed-on: https://chromium-review.googlesource.com/c/1333367 Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#654} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5f5f1f8f06239d7504da2d086daf3102d39c1041 commit 5f5f1f8f06239d7504da2d086daf3102d39c1041 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Nov 15 13:41:57 2018 Teach NewPasswordFormManager gracefully process multiple submissions. Password form submission detection is based on heuristics. So it's ok, when submission is found multiple times for the same form. The function SetSubmittedFormIfIsManaged is called when a submission is detected. It might be that in call SetSubmittedFormIfIsManaged, the submitted form is invalid (eg. JavaScript removed all fields), but a previous call the submitted form was valid. Then NewPasswordFormManager should not override valid submitted form. This CL implements this. Bug: 905579, 831123 Change-Id: I5762ac98f951e941a462504aaf62ac9f60203b3e Reviewed-on: https://chromium-review.googlesource.com/c/1337616 Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#608348} [modify] https://crrev.com/5f5f1f8f06239d7504da2d086daf3102d39c1041/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/5f5f1f8f06239d7504da2d086daf3102d39c1041/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2fb05c46a907ec2cf0dfa053b30d8a0dd5ba3e4a commit 2fb05c46a907ec2cf0dfa053b30d8a0dd5ba3e4a Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Nov 15 15:58:07 2018 Do not offer password saving when saving is disabled. This CL implements not saving of passwords in the new Password Manager architecture when Password Manager saving if off (i.e. "Offer to save passwords" settings is off). Bug: 905048, 831123 Change-Id: Ic053f8ae9b28fc1e9d8d80ba5e1a469a4173fdec Reviewed-on: https://chromium-review.googlesource.com/c/1337344 Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#608380} [modify] https://crrev.com/2fb05c46a907ec2cf0dfa053b30d8a0dd5ba3e4a/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/2fb05c46a907ec2cf0dfa053b30d8a0dd5ba3e4a/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/59684986c7a2094f3ee285fee1281e059ba8b6d4 commit 59684986c7a2094f3ee285fee1281e059ba8b6d4 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Fri Nov 16 13:17:44 2018 Fix server predictions race conditions in NewPasswordFormManager. If server predicitons are cached, then often PasswordManager receives them earlier than learns about a corresponding form in DOM. So NewPasswordFormManager is created later. And predictions are lost. This CL fixes this, by caching predictions in PasswordManager. Bug: 905982, 831123 Change-Id: I833fe675c3c621edbae31d5b449e274c7d5a33e6 Reviewed-on: https://chromium-review.googlesource.com/c/1338101 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#608750} [modify] https://crrev.com/59684986c7a2094f3ee285fee1281e059ba8b6d4/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/59684986c7a2094f3ee285fee1281e059ba8b6d4/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/59684986c7a2094f3ee285fee1281e059ba8b6d4/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/59684986c7a2094f3ee285fee1281e059ba8b6d4/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/59684986c7a2094f3ee285fee1281e059ba8b6d4/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/59684986c7a2094f3ee285fee1281e059ba8b6d4/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/72b2f26c42316e01c27039e22998b7e6fbba45c4 commit 72b2f26c42316e01c27039e22998b7e6fbba45c4 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Nov 19 13:30:24 2018 Implemention of NewPasswordFormManager::Update. This function is not needed with a new UI where the user can manually change username/password in a prompt. So it's not used on Desktop anymore. But it's still used on Android and iOS. This CL implements the same logic as in PasswordFormManager::Update. Bug: 831123 Change-Id: I19edc5a6eddb9afb1d34d9d48bd0935fb551c184 Reviewed-on: https://chromium-review.googlesource.com/c/1340266 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#609268} [modify] https://crrev.com/72b2f26c42316e01c27039e22998b7e6fbba45c4/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/72b2f26c42316e01c27039e22998b7e6fbba45c4/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/52aaea792f67d5944c6dc822ae7e062cad957281 commit 52aaea792f67d5944c6dc822ae7e062cad957281 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Nov 19 18:33:59 2018 PasswordManager should update all PasswordFormManagers. Now if the new parsing is on PasswordManager doesn't update PasswordFormManagers. That's wrong since they are used for saving and for comparing with NewPasswordFormManagers. This CL fixes that. Bug: 906253, 831123 Change-Id: I35e16993126699d86e89e2ab6519b7be335f3e04 Reviewed-on: https://chromium-review.googlesource.com/c/1341990 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Commit-Position: refs/heads/master@{#609359} [modify] https://crrev.com/52aaea792f67d5944c6dc822ae7e062cad957281/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/52aaea792f67d5944c6dc822ae7e062cad957281/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/44ba3db4f3ccaf2412cd57f0fb0c631997ec1c29 commit 44ba3db4f3ccaf2412cd57f0fb0c631997ec1c29 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Nov 19 18:39:48 2018 Implement updating FormManagers on Save/Update in NewPasswordFormManager. This reproduces the same login in PasswordFormManager. As soon as a change in PasswordStore happens we need to inform all form managers about it in order to avoid strange behaviours - for example show save prompt when the credentials were already saved. Bug: 831123 Change-Id: Ie49d05e0fbea5d4dbe824220362d30a43e16809d Reviewed-on: https://chromium-review.googlesource.com/c/1341917 Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#609364} [modify] https://crrev.com/44ba3db4f3ccaf2412cd57f0fb0c631997ec1c29/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/44ba3db4f3ccaf2412cd57f0fb0c631997ec1c29/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/aa381092b25edb73ad4b5b8713d7e99ee32eafae commit aa381092b25edb73ad4b5b8713d7e99ee32eafae Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Nov 19 18:50:44 2018 Fix server predictions race conditions in NewPasswordFormManager. If server predicitons are cached, then often PasswordManager receives them earlier than learns about a corresponding form in DOM. So NewPasswordFormManager is created later. And predictions are lost. This CL fixes this, by caching predictions in PasswordManager. Bug: 905982, 831123 TBR=dvadym@chromium.org (cherry picked from commit 59684986c7a2094f3ee285fee1281e059ba8b6d4) Change-Id: I833fe675c3c621edbae31d5b449e274c7d5a33e6 Reviewed-on: https://chromium-review.googlesource.com/c/1338101 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#608750} Reviewed-on: https://chromium-review.googlesource.com/c/1342917 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#757} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} [modify] https://crrev.com/aa381092b25edb73ad4b5b8713d7e99ee32eafae/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/aa381092b25edb73ad4b5b8713d7e99ee32eafae/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/aa381092b25edb73ad4b5b8713d7e99ee32eafae/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/aa381092b25edb73ad4b5b8713d7e99ee32eafae/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/aa381092b25edb73ad4b5b8713d7e99ee32eafae/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/aa381092b25edb73ad4b5b8713d7e99ee32eafae/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/aa381092b25edb73ad4b5b8713d7e99ee32eafae Commit: aa381092b25edb73ad4b5b8713d7e99ee32eafae Author: dvadym@chromium.org Commiter: dvadym@chromium.org Date: 2018-11-19 18:50:44 +0000 UTC Fix server predictions race conditions in NewPasswordFormManager. If server predicitons are cached, then often PasswordManager receives them earlier than learns about a corresponding form in DOM. So NewPasswordFormManager is created later. And predictions are lost. This CL fixes this, by caching predictions in PasswordManager. Bug: 905982, 831123 TBR=dvadym@chromium.org (cherry picked from commit 59684986c7a2094f3ee285fee1281e059ba8b6d4) Change-Id: I833fe675c3c621edbae31d5b449e274c7d5a33e6 Reviewed-on: https://chromium-review.googlesource.com/c/1338101 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#608750} Reviewed-on: https://chromium-review.googlesource.com/c/1342917 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#757} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ca601e62d07e3d573b8adb41eec3cd8817fff16f Commit: ca601e62d07e3d573b8adb41eec3cd8817fff16f Author: govind@chromium.org Commiter: govind@chromium.org Date: 2018-11-20 04:58:48 +0000 UTC Revert "Fix server predictions race conditions in NewPasswordFormManager." This reverts commit aa381092b25edb73ad4b5b8713d7e99ee32eafae. Reason for revert: Breaks Android M71 build, see bug 906953 Original change's description: > Fix server predictions race conditions in NewPasswordFormManager. > > If server predicitons are cached, then often PasswordManager receives > them earlier than learns about a corresponding form in DOM. So > NewPasswordFormManager is created later. And predictions are lost. > This CL fixes this, by caching predictions in PasswordManager. > > Bug: 905982, 831123 > > TBR=dvadym@chromium.org > > (cherry picked from commit 59684986c7a2094f3ee285fee1281e059ba8b6d4) > > Change-Id: I833fe675c3c621edbae31d5b449e274c7d5a33e6 > Reviewed-on: https://chromium-review.googlesource.com/c/1338101 > Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> > Reviewed-by: Vaclav Brozek <vabr@chromium.org> > Cr-Original-Commit-Position: refs/heads/master@{#608750} > Reviewed-on: https://chromium-review.googlesource.com/c/1342917 > Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> > Cr-Commit-Position: refs/branch-heads/3578@{#757} > Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} TBR=dvadym@chromium.org Change-Id: I894df318b37c01a8a326f5cd1060f0e9bcce3e9b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 905982, 831123 Reviewed-on: https://chromium-review.googlesource.com/c/1343535 Reviewed-by: Krishna Govind <govind@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#770} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ca601e62d07e3d573b8adb41eec3cd8817fff16f commit ca601e62d07e3d573b8adb41eec3cd8817fff16f Author: Krishna Govind <govind@chromium.org> Date: Tue Nov 20 04:58:48 2018 Revert "Fix server predictions race conditions in NewPasswordFormManager." This reverts commit aa381092b25edb73ad4b5b8713d7e99ee32eafae. Reason for revert: Breaks Android M71 build, see bug 906953 Original change's description: > Fix server predictions race conditions in NewPasswordFormManager. > > If server predicitons are cached, then often PasswordManager receives > them earlier than learns about a corresponding form in DOM. So > NewPasswordFormManager is created later. And predictions are lost. > This CL fixes this, by caching predictions in PasswordManager. > > Bug: 905982, 831123 > > TBR=dvadym@chromium.org > > (cherry picked from commit 59684986c7a2094f3ee285fee1281e059ba8b6d4) > > Change-Id: I833fe675c3c621edbae31d5b449e274c7d5a33e6 > Reviewed-on: https://chromium-review.googlesource.com/c/1338101 > Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> > Reviewed-by: Vaclav Brozek <vabr@chromium.org> > Cr-Original-Commit-Position: refs/heads/master@{#608750} > Reviewed-on: https://chromium-review.googlesource.com/c/1342917 > Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> > Cr-Commit-Position: refs/branch-heads/3578@{#757} > Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} TBR=dvadym@chromium.org Change-Id: I894df318b37c01a8a326f5cd1060f0e9bcce3e9b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 905982, 831123 Reviewed-on: https://chromium-review.googlesource.com/c/1343535 Reviewed-by: Krishna Govind <govind@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#770} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} [modify] https://crrev.com/ca601e62d07e3d573b8adb41eec3cd8817fff16f/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/ca601e62d07e3d573b8adb41eec3cd8817fff16f/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/ca601e62d07e3d573b8adb41eec3cd8817fff16f/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/ca601e62d07e3d573b8adb41eec3cd8817fff16f/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/ca601e62d07e3d573b8adb41eec3cd8817fff16f/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/ca601e62d07e3d573b8adb41eec3cd8817fff16f/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c1ece4a3cba2e69060db15812e2ece78fe681c85 Commit: c1ece4a3cba2e69060db15812e2ece78fe681c85 Author: dvadym@chromium.org Commiter: dvadym@chromium.org Date: 2018-11-20 13:07:57 +0000 UTC Reland "Fix server predictions race conditions in NewPasswordFormManager." This is a reland of aa381092b25edb73ad4b5b8713d7e99ee32eafae Original change's description: > Fix server predictions race conditions in NewPasswordFormManager. > > If server predicitons are cached, then often PasswordManager receives > them earlier than learns about a corresponding form in DOM. So > NewPasswordFormManager is created later. And predictions are lost. > This CL fixes this, by caching predictions in PasswordManager. > > Bug: 905982, 831123 > > TBR=dvadym@chromium.org > > (cherry picked from commit 59684986c7a2094f3ee285fee1281e059ba8b6d4) > > Change-Id: I833fe675c3c621edbae31d5b449e274c7d5a33e6 > Reviewed-on: https://chromium-review.googlesource.com/c/1338101 > Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> > Reviewed-by: Vaclav Brozek <vabr@chromium.org> > Cr-Original-Commit-Position: refs/heads/master@{#608750} > Reviewed-on: https://chromium-review.googlesource.com/c/1342917 > Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> > Cr-Commit-Position: refs/branch-heads/3578@{#757} > Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} Bug: 905982, 831123 Change-Id: I95ebcac7bdf65e05a50b07e3a6764eb2aac8cfbc Reviewed-on: https://chromium-review.googlesource.com/c/1343114 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#773} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c1ece4a3cba2e69060db15812e2ece78fe681c85 commit c1ece4a3cba2e69060db15812e2ece78fe681c85 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Tue Nov 20 13:07:57 2018 Reland "Fix server predictions race conditions in NewPasswordFormManager." This is a reland of aa381092b25edb73ad4b5b8713d7e99ee32eafae Original change's description: > Fix server predictions race conditions in NewPasswordFormManager. > > If server predicitons are cached, then often PasswordManager receives > them earlier than learns about a corresponding form in DOM. So > NewPasswordFormManager is created later. And predictions are lost. > This CL fixes this, by caching predictions in PasswordManager. > > Bug: 905982, 831123 > > TBR=dvadym@chromium.org > > (cherry picked from commit 59684986c7a2094f3ee285fee1281e059ba8b6d4) > > Change-Id: I833fe675c3c621edbae31d5b449e274c7d5a33e6 > Reviewed-on: https://chromium-review.googlesource.com/c/1338101 > Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> > Reviewed-by: Vaclav Brozek <vabr@chromium.org> > Cr-Original-Commit-Position: refs/heads/master@{#608750} > Reviewed-on: https://chromium-review.googlesource.com/c/1342917 > Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> > Cr-Commit-Position: refs/branch-heads/3578@{#757} > Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} Bug: 905982, 831123 Change-Id: I95ebcac7bdf65e05a50b07e3a6764eb2aac8cfbc Reviewed-on: https://chromium-review.googlesource.com/c/1343114 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#773} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} [modify] https://crrev.com/c1ece4a3cba2e69060db15812e2ece78fe681c85/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/c1ece4a3cba2e69060db15812e2ece78fe681c85/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/c1ece4a3cba2e69060db15812e2ece78fe681c85/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/c1ece4a3cba2e69060db15812e2ece78fe681c85/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/c1ece4a3cba2e69060db15812e2ece78fe681c85/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/c1ece4a3cba2e69060db15812e2ece78fe681c85/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/773c0cc5bccf3b371e5e820d92d3412735fe7280 commit 773c0cc5bccf3b371e5e820d92d3412735fe7280 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Fri Nov 23 12:03:42 2018 Provisionally save password form when saving manual fallback is shown. Before this CL on saving manual fallback: 1.User keystroke happen 2.FormData received in PasswordManager for manual fallback 3.Corresponding NewPasswordFormManager (NPFM) is found 4.NPFM is cloned. 5.The FormData is passed to the cloned NPFM. 6.The cloned NPFM is sent to UI The problem with that approach that PasswordManager has no information about user input, which might be used for offering save prompt. The similar logic is implemented in the renderer (where it's called Save on provisional load start). But because of the site isolation the renderer path will disappear soon. But we can do everything from browser process, just by swaping steps 4 and 5, namely to pass FormData to NPFM and then to clone. It's implemented in this CL. As result PasswordManager always has the last user input and can propose saving when the password form is disappeared after navigation (that's basically the same as now but with the renderer path). Along the way SetSubmittedFormIfIsManaged renamed to ProvisionallySaveIfIsManaged since now it's called on each typing not only on submit. Bug: 842643, 831123 Change-Id: If47c5cb3aa5e411818c49e359cd10732a0131ce3 Reviewed-on: https://chromium-review.googlesource.com/c/1348060 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#610577} [modify] https://crrev.com/773c0cc5bccf3b371e5e820d92d3412735fe7280/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/773c0cc5bccf3b371e5e820d92d3412735fe7280/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/773c0cc5bccf3b371e5e820d92d3412735fe7280/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/773c0cc5bccf3b371e5e820d92d3412735fe7280/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/773c0cc5bccf3b371e5e820d92d3412735fe7280/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/773c0cc5bccf3b371e5e820d92d3412735fe7280/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89 commit 28a8528fd29c96a37f0e1735af2c2b16cbd8ae89 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Nov 26 11:04:19 2018 Extracting SubmissionIndicatorEvent enum to separate file. Now SubmissionIndicatorEvent is part of PasswordForm. But for using it with NewPasswordFormManager it should be a field of FormData. This CL extracts it to a separate file and to add FormData::submission_event field. The following CL will implement processing it in NewPasswordFormManaager. Bug: 831123 Change-Id: If5e886c29fdfa95396827291436ace66679cd83b Reviewed-on: https://chromium-review.googlesource.com/c/1341910 Reviewed-by: Mike West <mkwst@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Reviewed-by: Ilya Sherman <isherman@chromium.org> Reviewed-by: Robert Kaplow <rkaplow@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#610806} [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/chrome/renderer/autofill/password_autofill_agent_browsertest.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/content/common/autofill_types.mojom [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/content/common/autofill_types.typemap [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/content/common/autofill_types_struct_traits.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/content/common/autofill_types_struct_traits.h [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/content/common/autofill_types_struct_traits_unittest.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/content/renderer/password_autofill_agent.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/content/renderer/password_autofill_agent.h [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/content/renderer/provisionally_saved_password_form.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/content/renderer/provisionally_saved_password_form.h [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/core/browser/autofill_test_utils.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/core/browser/form_structure.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/core/browser/form_structure.h [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/core/browser/form_structure_unittest.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/core/browser/proto/server.proto [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/core/common/BUILD.gn [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/core/common/form_data.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/core/common/form_data.h [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/core/common/password_form.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/core/common/password_form.h [add] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/core/common/submission_indicator_event.cc [add] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/autofill/core/common/submission_indicator_event.h [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/password_manager/core/browser/browser_save_password_progress_logger.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/password_manager/core/browser/browser_save_password_progress_logger.h [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/password_manager/core/browser/password_form_metrics_recorder.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/password_manager/core/browser/password_form_metrics_recorder.h [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/password_manager/core/browser/password_manager_metrics_util.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/password_manager/core/browser/password_manager_metrics_util.h [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/components/password_manager/core/browser/votes_uploader_unittest.cc [modify] https://crrev.com/28a8528fd29c96a37f0e1735af2c2b16cbd8ae89/tools/metrics/ukm/ukm.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0a73790a0518b1fc218752d11027daeff92f8446 commit 0a73790a0518b1fc218752d11027daeff92f8446 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Nov 26 11:35:04 2018 Clone parsed submitted form in NewPasswordFormManager::Clone. Bug: 831123 Change-Id: I299212c75c2dbfa302e31f24313185296067d0d1 Reviewed-on: https://chromium-review.googlesource.com/c/1350183 Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#610817} [modify] https://crrev.com/0a73790a0518b1fc218752d11027daeff92f8446/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/0a73790a0518b1fc218752d11027daeff92f8446/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6b8f64da948f311c70df849338e3e48139d14a95 commit 6b8f64da948f311c70df849338e3e48139d14a95 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Nov 26 15:35:39 2018 Introduce flag only-new-password-form-parsing. The final state of the new password form parser is that it works without any help of the old one. This CL introduces feature and flag for this (implementation will be in the subsequent CL). Bug: 831123 Change-Id: I03fa707f3efdc4a7be46454b72b41ef629bceeef Reviewed-on: https://chromium-review.googlesource.com/c/1348059 Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#610851} [modify] https://crrev.com/6b8f64da948f311c70df849338e3e48139d14a95/chrome/browser/about_flags.cc [modify] https://crrev.com/6b8f64da948f311c70df849338e3e48139d14a95/chrome/browser/flag-metadata.json [modify] https://crrev.com/6b8f64da948f311c70df849338e3e48139d14a95/chrome/browser/flag_descriptions.cc [modify] https://crrev.com/6b8f64da948f311c70df849338e3e48139d14a95/chrome/browser/flag_descriptions.h [modify] https://crrev.com/6b8f64da948f311c70df849338e3e48139d14a95/components/password_manager/core/common/password_manager_features.cc [modify] https://crrev.com/6b8f64da948f311c70df849338e3e48139d14a95/components/password_manager/core/common/password_manager_features.h [modify] https://crrev.com/6b8f64da948f311c70df849338e3e48139d14a95/tools/metrics/histograms/enums.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1ae5a964bd8a5da16fa873b72e70c419f9d489c0 commit 1ae5a964bd8a5da16fa873b72e70c419f9d489c0 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Wed Nov 28 10:17:45 2018 Set submission_indicator in new parser. We need submission indicator for metrics and for uploads. This CL implements handling it in new Password Manager architecture: 1.Setting it in the renderer process in FormData 2.Passing it over MOJO to the browser process 3.Setting it in FormParser to resulting PasswordForm. Bug: 831123 Change-Id: Ia1fe6e29f031706c91073d6209ae9d841c348929 Reviewed-on: https://chromium-review.googlesource.com/c/1350968 Reviewed-by: Mike West <mkwst@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#611627} [modify] https://crrev.com/1ae5a964bd8a5da16fa873b72e70c419f9d489c0/chrome/renderer/autofill/password_autofill_agent_browsertest.cc [modify] https://crrev.com/1ae5a964bd8a5da16fa873b72e70c419f9d489c0/components/autofill/content/common/autofill_types.mojom [modify] https://crrev.com/1ae5a964bd8a5da16fa873b72e70c419f9d489c0/components/autofill/content/common/autofill_types_struct_traits.cc [modify] https://crrev.com/1ae5a964bd8a5da16fa873b72e70c419f9d489c0/components/autofill/content/common/autofill_types_struct_traits.h [modify] https://crrev.com/1ae5a964bd8a5da16fa873b72e70c419f9d489c0/components/autofill/content/renderer/password_autofill_agent.cc [modify] https://crrev.com/1ae5a964bd8a5da16fa873b72e70c419f9d489c0/components/autofill/content/renderer/provisionally_saved_password_form.cc [modify] https://crrev.com/1ae5a964bd8a5da16fa873b72e70c419f9d489c0/components/autofill/core/common/form_data.cc [modify] https://crrev.com/1ae5a964bd8a5da16fa873b72e70c419f9d489c0/components/autofill/core/common/form_data.h [modify] https://crrev.com/1ae5a964bd8a5da16fa873b72e70c419f9d489c0/components/password_manager/core/browser/form_parsing/form_parser.cc [modify] https://crrev.com/1ae5a964bd8a5da16fa873b72e70c419f9d489c0/components/password_manager/core/browser/form_parsing/form_parser_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/31885f533a09743f89c2d90c8a73faa59f82071d commit 31885f533a09743f89c2d90c8a73faa59f82071d Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Nov 29 10:37:06 2018 Ignore password related predictions for non-password fields. The server might make mistake and say that <input type=text is password field. This CL teaches the new parser to ignore such predictions. Bug: 908869, 831123 Change-Id: Ib4cfa715e0746b828be3c2356e8ae5bc60717a69 Reviewed-on: https://chromium-review.googlesource.com/c/1354000 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#612134} [modify] https://crrev.com/31885f533a09743f89c2d90c8a73faa59f82071d/components/password_manager/core/browser/form_parsing/form_parser.cc [modify] https://crrev.com/31885f533a09743f89c2d90c8a73faa59f82071d/components/password_manager/core/browser/form_parsing/form_parser_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/90b1f2b6a222aae0cce13f535e705b9893dbdb83 commit 90b1f2b6a222aae0cce13f535e705b9893dbdb83 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Nov 29 12:10:52 2018 Do not create PasswordFormManagers when feature OnlyNewParser is on. Bug: 831123 Change-Id: I95c30a908da22585f632ba63d90cf60244287df6 Reviewed-on: https://chromium-review.googlesource.com/c/1354005 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Cr-Commit-Position: refs/heads/master@{#612158} [modify] https://crrev.com/90b1f2b6a222aae0cce13f535e705b9893dbdb83/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/90b1f2b6a222aae0cce13f535e705b9893dbdb83/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/90b1f2b6a222aae0cce13f535e705b9893dbdb83/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8791081237e90719fc7a998a0e39296146cd4f9e commit 8791081237e90719fc7a998a0e39296146cd4f9e Author: Vadym Doroshenko <dvadym@chromium.org> Date: Wed Dec 05 15:40:04 2018 Robust saving of generated password in NewPasswordFormManager. This CL implements that independently of parsing result the generated password is presaved and saved. This CL contains: 1.Replacing field has_generated_password_ with generated_password_ in NewPasswrodFormManager. This field is used to ensure that the generated password is saved. 2.Setting this field in PresaveGenerated 3.In case if the new parser fails, use the result of the old parser for presaving. It's for robustness. 4.Ensure that |generated_password_| is saved during presaving/saving. Bug: 911636, 831123 Change-Id: Icc4e4c0bd597fc2f0da1f68a3333e7c93b8f8fb6 Reviewed-on: https://chromium-review.googlesource.com/c/1361021 Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#613975} [modify] https://crrev.com/8791081237e90719fc7a998a0e39296146cd4f9e/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/8791081237e90719fc7a998a0e39296146cd4f9e/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/8791081237e90719fc7a998a0e39296146cd4f9e/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/013b4399c4e89a9034a2a8c35849e2bacb937bd0 commit 013b4399c4e89a9034a2a8c35849e2bacb937bd0 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Fri Dec 07 16:20:17 2018 Do not take 1, 2 digits numbers as usernames. This CL implements checking on IsProbablyNotUsername for candidates in username values as it is in the old parser (IsProbablyNotUsername in password_form_manager.cc) Bug: 831123, 912918 Change-Id: I54fe88d5b87b26c5b5829c3db1f7cf5d3513170c Reviewed-on: https://chromium-review.googlesource.com/c/1367726 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Commit-Position: refs/heads/master@{#614715} [modify] https://crrev.com/013b4399c4e89a9034a2a8c35849e2bacb937bd0/components/password_manager/core/browser/form_parsing/form_parser.cc [modify] https://crrev.com/013b4399c4e89a9034a2a8c35849e2bacb937bd0/components/password_manager/core/browser/form_parsing/form_parser_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4f009f4c944662c1eab47d5a7584f24eec1ddf6e commit 4f009f4c944662c1eab47d5a7584f24eec1ddf6e Author: Vadym Doroshenko <dvadym@chromium.org> Date: Sat Dec 08 08:41:15 2018 Propagate information about navigation to DidMainFrameNavigate. Navigations that are renderer initiated and not link clicked initiated are considered as maybe form submission. And PasswordManager checks whether it was successful submission (by checking that a form in which the user typed is absent after navigation finished). This CL implements propagating that navigation was renderer initiated to PasswordManager. Along the way form_submission_tracker_util.h was NotifyOnStartNavigation was renamed to NotifyDidNavigateMainFrame and PasswordManager::OnStartNavigation is removed since DidNavigateMainFrame is used submission detection. Bug: 912134, 831123, 842643 Change-Id: I3c6404ac2fbe5f8489541ab551f6a338b650f21c Reviewed-on: https://chromium-review.googlesource.com/c/1363193 Reviewed-by: Eugene But <eugenebut@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#614962} [modify] https://crrev.com/4f009f4c944662c1eab47d5a7584f24eec1ddf6e/chrome/browser/password_manager/chrome_password_manager_client.cc [modify] https://crrev.com/4f009f4c944662c1eab47d5a7584f24eec1ddf6e/chrome/browser/password_manager/password_manager_browsertest.cc [modify] https://crrev.com/4f009f4c944662c1eab47d5a7584f24eec1ddf6e/components/password_manager/content/browser/content_password_manager_driver.cc [modify] https://crrev.com/4f009f4c944662c1eab47d5a7584f24eec1ddf6e/components/password_manager/content/browser/form_submission_tracker_util.cc [modify] https://crrev.com/4f009f4c944662c1eab47d5a7584f24eec1ddf6e/components/password_manager/content/browser/form_submission_tracker_util.h [modify] https://crrev.com/4f009f4c944662c1eab47d5a7584f24eec1ddf6e/components/password_manager/content/browser/form_submission_tracker_util_unittest.cc [modify] https://crrev.com/4f009f4c944662c1eab47d5a7584f24eec1ddf6e/components/password_manager/core/browser/form_submission_observer.h [modify] https://crrev.com/4f009f4c944662c1eab47d5a7584f24eec1ddf6e/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/4f009f4c944662c1eab47d5a7584f24eec1ddf6e/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/4f009f4c944662c1eab47d5a7584f24eec1ddf6e/components/password_manager/core/browser/password_manager_unittest.cc [modify] https://crrev.com/4f009f4c944662c1eab47d5a7584f24eec1ddf6e/ios/chrome/browser/passwords/password_controller.mm [modify] https://crrev.com/4f009f4c944662c1eab47d5a7584f24eec1ddf6e/ios/web_view/internal/passwords/cwv_password_controller.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/500d8fb442f0ce6229ae6f01f9bc45889bc1b6fe commit 500d8fb442f0ce6229ae6f01f9bc45889bc1b6fe Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Dec 10 16:36:37 2018 Robust saving of generated password in NewPasswordFormManager. This CL implements that independently of parsing result the generated password is presaved and saved. This CL contains: 1.Replacing field has_generated_password_ with generated_password_ in NewPasswrodFormManager. This field is used to ensure that the generated password is saved. 2.Setting this field in PresaveGenerated 3.In case if the new parser fails, use the result of the old parser for presaving. It's for robustness. 4.Ensure that |generated_password_| is saved during presaving/saving. TBR=dvadym@chromium.org (cherry picked from commit 8791081237e90719fc7a998a0e39296146cd4f9e) Bug: 911636, 831123 Change-Id: Icc4e4c0bd597fc2f0da1f68a3333e7c93b8f8fb6 Reviewed-on: https://chromium-review.googlesource.com/c/1361021 Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#613975} Reviewed-on: https://chromium-review.googlesource.com/c/1369857 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#201} Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437} [modify] https://crrev.com/500d8fb442f0ce6229ae6f01f9bc45889bc1b6fe/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/500d8fb442f0ce6229ae6f01f9bc45889bc1b6fe/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/500d8fb442f0ce6229ae6f01f9bc45889bc1b6fe/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/45ab1ac9b42a8d554dc3869dba9ef8366cc100c7 commit 45ab1ac9b42a8d554dc3869dba9ef8366cc100c7 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Dec 10 16:39:24 2018 Do not take 1, 2 digits numbers as usernames. This CL implements checking on IsProbablyNotUsername for candidates in username values as it is in the old parser (IsProbablyNotUsername in password_form_manager.cc) TBR=dvadym@chromium.org (cherry picked from commit 013b4399c4e89a9034a2a8c35849e2bacb937bd0) Bug: 831123, 912918 Change-Id: I54fe88d5b87b26c5b5829c3db1f7cf5d3513170c Reviewed-on: https://chromium-review.googlesource.com/c/1367726 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#614715} Reviewed-on: https://chromium-review.googlesource.com/c/1369858 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#202} Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437} [modify] https://crrev.com/45ab1ac9b42a8d554dc3869dba9ef8366cc100c7/components/password_manager/core/browser/form_parsing/form_parser.cc [modify] https://crrev.com/45ab1ac9b42a8d554dc3869dba9ef8366cc100c7/components/password_manager/core/browser/form_parsing/form_parser_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fec24a7144d57102b7322ef5623f6a051426acd3 commit fec24a7144d57102b7322ef5623f6a051426acd3 Author: Dominic Battre <battre@chromium.org> Date: Wed Dec 12 16:58:24 2018 Minor cleanups in the password manager This CL contains two minor cleanups ins the password manager: 1. Rename ClearPasswordValues to MaybeClearPasswordValues because the function only clears password values in some cases which was not reflected in the function name and confused me a lot. 2. Delete some unused local variables. I hope that they are intentionally unused. Bug: 831123 Change-Id: Iba308f48d13f6755b9cc1e6fb2cde19c5dc911f6 Reviewed-on: https://chromium-review.googlesource.com/c/1373761 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Commit-Queue: Dominic Battré <battre@chromium.org> Cr-Commit-Position: refs/heads/master@{#615927} [modify] https://crrev.com/fec24a7144d57102b7322ef5623f6a051426acd3/components/autofill/core/common/password_form_fill_data.cc [modify] https://crrev.com/fec24a7144d57102b7322ef5623f6a051426acd3/components/autofill/core/common/password_form_fill_data.h [modify] https://crrev.com/fec24a7144d57102b7322ef5623f6a051426acd3/components/password_manager/content/browser/content_password_manager_driver.cc [modify] https://crrev.com/fec24a7144d57102b7322ef5623f6a051426acd3/components/password_manager/core/browser/password_autofill_manager.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b10d17c23b26f133a42d8757d67e39fcdbffb6ce commit b10d17c23b26f133a42d8757d67e39fcdbffb6ce Author: Vadym Doroshenko <dvadym@chromium.org> Date: Wed Dec 12 18:18:26 2018 Propagate information about navigation to DidMainFrameNavigate. Navigations that are renderer initiated and not link clicked initiated are considered as maybe form submission. And PasswordManager checks whether it was successful submission (by checking that a form in which the user typed is absent after navigation finished). This CL implements propagating that navigation was renderer initiated to PasswordManager. Along the way form_submission_tracker_util.h was NotifyOnStartNavigation was renamed to NotifyDidNavigateMainFrame and PasswordManager::OnStartNavigation is removed since DidNavigateMainFrame is used submission detection. TBR=dvadym@chromium.org (cherry picked from commit 4f009f4c944662c1eab47d5a7584f24eec1ddf6e) Bug: 912134, 831123, 842643 Change-Id: I3c6404ac2fbe5f8489541ab551f6a338b650f21c Reviewed-on: https://chromium-review.googlesource.com/c/1363193 Reviewed-by: Eugene But <eugenebut@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#614962} Reviewed-on: https://chromium-review.googlesource.com/c/1374351 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#291} Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437} [modify] https://crrev.com/b10d17c23b26f133a42d8757d67e39fcdbffb6ce/chrome/browser/password_manager/chrome_password_manager_client.cc [modify] https://crrev.com/b10d17c23b26f133a42d8757d67e39fcdbffb6ce/chrome/browser/password_manager/password_manager_browsertest.cc [modify] https://crrev.com/b10d17c23b26f133a42d8757d67e39fcdbffb6ce/components/password_manager/content/browser/content_password_manager_driver.cc [modify] https://crrev.com/b10d17c23b26f133a42d8757d67e39fcdbffb6ce/components/password_manager/content/browser/form_submission_tracker_util.cc [modify] https://crrev.com/b10d17c23b26f133a42d8757d67e39fcdbffb6ce/components/password_manager/content/browser/form_submission_tracker_util.h [modify] https://crrev.com/b10d17c23b26f133a42d8757d67e39fcdbffb6ce/components/password_manager/content/browser/form_submission_tracker_util_unittest.cc [modify] https://crrev.com/b10d17c23b26f133a42d8757d67e39fcdbffb6ce/components/password_manager/core/browser/form_submission_observer.h [modify] https://crrev.com/b10d17c23b26f133a42d8757d67e39fcdbffb6ce/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/b10d17c23b26f133a42d8757d67e39fcdbffb6ce/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/b10d17c23b26f133a42d8757d67e39fcdbffb6ce/components/password_manager/core/browser/password_manager_unittest.cc [modify] https://crrev.com/b10d17c23b26f133a42d8757d67e39fcdbffb6ce/ios/chrome/browser/passwords/password_controller.mm [modify] https://crrev.com/b10d17c23b26f133a42d8757d67e39fcdbffb6ce/ios/web_view/internal/passwords/cwv_password_controller.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b95f5189e48619c2ee50571fd3c9b5f9aad3cbda commit b95f5189e48619c2ee50571fd3c9b5f9aad3cbda Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Dec 17 11:43:09 2018 Create PasswordFormManager for non-html forms. NewPasswordFormManager doesn't support yet forms with non-html schemes. These forms correspond to http authentication. The full implementation is in progress https://chromium-review.googlesource.com/c/chromium/src/+/1369796. This CL is quick fix, just to use PasswordFormManager for such forms, that allow to fix saving on http auth forms. Bug: 831123 Change-Id: Id90f743ec8019df408f6daafa5634f17cdbf9bae Reviewed-on: https://chromium-review.googlesource.com/c/1375951 Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#617090} [modify] https://crrev.com/b95f5189e48619c2ee50571fd3c9b5f9aad3cbda/chrome/browser/password_manager/password_manager_browsertest.cc [modify] https://crrev.com/b95f5189e48619c2ee50571fd3c9b5f9aad3cbda/components/password_manager/core/browser/password_manager.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a228d8773111b171b823d1f17dbe8d0a910b3aa8 commit a228d8773111b171b823d1f17dbe8d0a910b3aa8 Author: jdoerrie <jdoerrie@chromium.org> Date: Tue Dec 18 07:42:33 2018 [Passwords] Fix Recording and Logging of UserActions This change moves the recording of UserAction::kChoose from PasswordFormManager's Save() to PasswordFormManager's CreatePendingCredentials(), i.e. the same location where the other UserActions are recorded. Furthermore, it updates the MetricsRecorder to not log UMA actions when the UserAction is set, as these actions could be set multiple times for each submission and thus are inaccurate. Furthermore, PasswordFormManager is simplified to not store the UserAction itself, as this is not necessary anymore. Lastly, appropriate tests are added. Bug: 831123 Change-Id: I2c041b76f7a4122f6f99898e8e219243ab1cfa76 Reviewed-on: https://chromium-review.googlesource.com/c/1375717 Reviewed-by: Ilya Sherman <isherman@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org> Cr-Commit-Position: refs/heads/master@{#617404} [modify] https://crrev.com/a228d8773111b171b823d1f17dbe8d0a910b3aa8/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/a228d8773111b171b823d1f17dbe8d0a910b3aa8/components/password_manager/core/browser/new_password_form_manager.h [modify] https://crrev.com/a228d8773111b171b823d1f17dbe8d0a910b3aa8/components/password_manager/core/browser/new_password_form_manager_unittest.cc [modify] https://crrev.com/a228d8773111b171b823d1f17dbe8d0a910b3aa8/components/password_manager/core/browser/password_form_manager.cc [modify] https://crrev.com/a228d8773111b171b823d1f17dbe8d0a910b3aa8/components/password_manager/core/browser/password_form_manager.h [modify] https://crrev.com/a228d8773111b171b823d1f17dbe8d0a910b3aa8/components/password_manager/core/browser/password_form_manager_unittest.cc [modify] https://crrev.com/a228d8773111b171b823d1f17dbe8d0a910b3aa8/components/password_manager/core/browser/password_form_metrics_recorder.cc [modify] https://crrev.com/a228d8773111b171b823d1f17dbe8d0a910b3aa8/components/password_manager/core/browser/password_form_metrics_recorder.h [modify] https://crrev.com/a228d8773111b171b823d1f17dbe8d0a910b3aa8/components/password_manager/core/browser/password_form_metrics_recorder_unittest.cc [modify] https://crrev.com/a228d8773111b171b823d1f17dbe8d0a910b3aa8/tools/metrics/actions/actions.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/45ab1ac9b42a8d554dc3869dba9ef8366cc100c7 Commit: 45ab1ac9b42a8d554dc3869dba9ef8366cc100c7 Author: dvadym@chromium.org Commiter: dvadym@chromium.org Date: 2018-12-10 16:39:24 +0000 UTC Do not take 1, 2 digits numbers as usernames. This CL implements checking on IsProbablyNotUsername for candidates in username values as it is in the old parser (IsProbablyNotUsername in password_form_manager.cc) TBR=dvadym@chromium.org (cherry picked from commit 013b4399c4e89a9034a2a8c35849e2bacb937bd0) Bug: 831123, 912918 Change-Id: I54fe88d5b87b26c5b5829c3db1f7cf5d3513170c Reviewed-on: https://chromium-review.googlesource.com/c/1367726 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#614715} Reviewed-on: https://chromium-review.googlesource.com/c/1369858 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#202} Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/500d8fb442f0ce6229ae6f01f9bc45889bc1b6fe Commit: 500d8fb442f0ce6229ae6f01f9bc45889bc1b6fe Author: dvadym@chromium.org Commiter: dvadym@chromium.org Date: 2018-12-10 16:36:37 +0000 UTC Robust saving of generated password in NewPasswordFormManager. This CL implements that independently of parsing result the generated password is presaved and saved. This CL contains: 1.Replacing field has_generated_password_ with generated_password_ in NewPasswrodFormManager. This field is used to ensure that the generated password is saved. 2.Setting this field in PresaveGenerated 3.In case if the new parser fails, use the result of the old parser for presaving. It's for robustness. 4.Ensure that |generated_password_| is saved during presaving/saving. TBR=dvadym@chromium.org (cherry picked from commit 8791081237e90719fc7a998a0e39296146cd4f9e) Bug: 911636, 831123 Change-Id: Icc4e4c0bd597fc2f0da1f68a3333e7c93b8f8fb6 Reviewed-on: https://chromium-review.googlesource.com/c/1361021 Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#613975} Reviewed-on: https://chromium-review.googlesource.com/c/1369857 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#201} Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b10d17c23b26f133a42d8757d67e39fcdbffb6ce Commit: b10d17c23b26f133a42d8757d67e39fcdbffb6ce Author: dvadym@chromium.org Commiter: dvadym@chromium.org Date: 2018-12-12 18:18:26 +0000 UTC Propagate information about navigation to DidMainFrameNavigate. Navigations that are renderer initiated and not link clicked initiated are considered as maybe form submission. And PasswordManager checks whether it was successful submission (by checking that a form in which the user typed is absent after navigation finished). This CL implements propagating that navigation was renderer initiated to PasswordManager. Along the way form_submission_tracker_util.h was NotifyOnStartNavigation was renamed to NotifyDidNavigateMainFrame and PasswordManager::OnStartNavigation is removed since DidNavigateMainFrame is used submission detection. TBR=dvadym@chromium.org (cherry picked from commit 4f009f4c944662c1eab47d5a7584f24eec1ddf6e) Bug: 912134, 831123, 842643 Change-Id: I3c6404ac2fbe5f8489541ab551f6a338b650f21c Reviewed-on: https://chromium-review.googlesource.com/c/1363193 Reviewed-by: Eugene But <eugenebut@chromium.org> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#614962} Reviewed-on: https://chromium-review.googlesource.com/c/1374351 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#291} Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d344d61fed4f4aad1996b4288b699e269476b04f commit d344d61fed4f4aad1996b4288b699e269476b04f Author: Vadym Doroshenko <dvadym@chromium.org> Date: Fri Dec 21 09:38:08 2018 Fix matching NewPasswordFormManagers on iOS. On non-iOS platforms Blink unique renderer ids are used as forms identifiers. On iOS form name is used for these purposes (for robustness purposes it's more complicated then name attribute: name if it's present, otherwise id, otherwise some unique identifier based on position form in the dom (details are in function __gCrWeb.form.getFormIdentifier). This CL implements using FormData.name for form matching purposes on iOS. Bug: 831123 Change-Id: I1c6af0d27a892c01577e9184d0fafe887d4d2441 Reviewed-on: https://chromium-review.googlesource.com/c/1386788 Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#618489} [modify] https://crrev.com/d344d61fed4f4aad1996b4288b699e269476b04f/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/d344d61fed4f4aad1996b4288b699e269476b04f/components/password_manager/core/browser/new_password_form_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3ba32a180b7964ad2b63a87f3af5739e6a77eccd commit 3ba32a180b7964ad2b63a87f3af5739e6a77eccd Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Dec 27 09:23:17 2018 Create PasswordFormManager for non-html forms. NewPasswordFormManager doesn't support yet forms with non-html schemes. These forms correspond to http authentication. The full implementation is in progress https://chromium-review.googlesource.com/c/chromium/src/+/1369796. This CL is quick fix, just to use PasswordFormManager for such forms, that allow to fix saving on http auth forms. TBR=dvadym@chromium.org (cherry picked from commit b95f5189e48619c2ee50571fd3c9b5f9aad3cbda) Bug: 831123, 915161 Change-Id: Id90f743ec8019df408f6daafa5634f17cdbf9bae Reviewed-on: https://chromium-review.googlesource.com/c/1375951 Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#617090} Reviewed-on: https://chromium-review.googlesource.com/c/1391365 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#524} Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437} [modify] https://crrev.com/3ba32a180b7964ad2b63a87f3af5739e6a77eccd/chrome/browser/password_manager/password_manager_browsertest.cc [modify] https://crrev.com/3ba32a180b7964ad2b63a87f3af5739e6a77eccd/components/password_manager/core/browser/password_manager.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3ba32a180b7964ad2b63a87f3af5739e6a77eccd Commit: 3ba32a180b7964ad2b63a87f3af5739e6a77eccd Author: dvadym@chromium.org Commiter: dvadym@chromium.org Date: 2018-12-27 09:23:17 +0000 UTC Create PasswordFormManager for non-html forms. NewPasswordFormManager doesn't support yet forms with non-html schemes. These forms correspond to http authentication. The full implementation is in progress https://chromium-review.googlesource.com/c/chromium/src/+/1369796. This CL is quick fix, just to use PasswordFormManager for such forms, that allow to fix saving on http auth forms. TBR=dvadym@chromium.org (cherry picked from commit b95f5189e48619c2ee50571fd3c9b5f9aad3cbda) Bug: 831123, 915161 Change-Id: Id90f743ec8019df408f6daafa5634f17cdbf9bae Reviewed-on: https://chromium-review.googlesource.com/c/1375951 Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#617090} Reviewed-on: https://chromium-review.googlesource.com/c/1391365 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#524} Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/35260f389bcfaa55f1e63a8ccf0d37d76da166cb commit 35260f389bcfaa55f1e63a8ccf0d37d76da166cb Author: Vadym Doroshenko <dvadym@chromium.org> Date: Fri Dec 28 10:51:03 2018 Stop sending parsing comparison metrics on manual fallback. This CL stops sending parsing comparison metrics when |driver_| is null. It can happen only for saving manual fallback case. Because of the current logic these metrics in manual fallback case is broken anyway. Bug: 831123, 910121 Change-Id: I214644e0e0fe5f82028fb1c03293e6c187e4b7fd Reviewed-on: https://chromium-review.googlesource.com/c/1391679 Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#619142} [modify] https://crrev.com/35260f389bcfaa55f1e63a8ccf0d37d76da166cb/components/password_manager/core/browser/new_password_form_manager.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/03cad4f76faeae0a2e9cf2089ea109e99b4c16c5 commit 03cad4f76faeae0a2e9cf2089ea109e99b4c16c5 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Fri Dec 28 11:10:53 2018 Fix detection when form may be submitted. In order to prevent regressions because of site isolation, the logic of detection that navigation might be a form submission was implemented in the browser process. Namely the navigation may be a form submission if it is renderer initiated and is not link transition. It is the same as it was in the renderer process. It turned out, that now enum ui::PageTransition doesn't allow to detect link transition. This CL implements the similar logic, namely: 1.Renderer initiated navigations 2.Form submission or navigations without user gesture (nowadays a lot of forms are submitted with some JavaScript). Bug: 918111, 831123, 842643 Change-Id: I246e5a5f0f92ec6482053fe77b53fab45445242e Reviewed-on: https://chromium-review.googlesource.com/c/1391675 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org> Cr-Commit-Position: refs/heads/master@{#619143} [modify] https://crrev.com/03cad4f76faeae0a2e9cf2089ea109e99b4c16c5/components/password_manager/content/browser/content_password_manager_driver.cc [modify] https://crrev.com/03cad4f76faeae0a2e9cf2089ea109e99b4c16c5/components/password_manager/content/browser/form_submission_tracker_util.cc [modify] https://crrev.com/03cad4f76faeae0a2e9cf2089ea109e99b4c16c5/components/password_manager/content/browser/form_submission_tracker_util.h [modify] https://crrev.com/03cad4f76faeae0a2e9cf2089ea109e99b4c16c5/components/password_manager/content/browser/form_submission_tracker_util_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d178ff3feb71618ee65f5d6bd01653725140c1bf commit d178ff3feb71618ee65f5d6bd01653725140c1bf Author: Vadym Doroshenko <dvadym@chromium.org> Date: Wed Jan 02 14:59:23 2019 Adding flags for new Password Form parsing on iOS. These flags are cross-platform, they were already added on all other platforms. Bug: 831123 Change-Id: I5bf0a578cb63f3848f1e5ddb5d1eb8371a58d753 Reviewed-on: https://chromium-review.googlesource.com/c/1391684 Reviewed-by: Eric Noyau <noyau@chromium.org> Reviewed-by: Dominic Battré <battre@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#619400} [modify] https://crrev.com/d178ff3feb71618ee65f5d6bd01653725140c1bf/ios/chrome/browser/about_flags.mm [modify] https://crrev.com/d178ff3feb71618ee65f5d6bd01653725140c1bf/ios/chrome/browser/ios_chrome_flag_descriptions.cc [modify] https://crrev.com/d178ff3feb71618ee65f5d6bd01653725140c1bf/ios/chrome/browser/ios_chrome_flag_descriptions.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/611a2aff3731cd7c099324ebce1ff90f906a6324 commit 611a2aff3731cd7c099324ebce1ff90f906a6324 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Fri Jan 04 14:55:35 2019 Do not show password save prompt for credit card forms. Along the way the function CanProvisionalManagerSave is renamed to IsReadyForAutomaticSaving because it shows better what this function checks. Bug: 831123 Change-Id: Iabf125fd8b46a15cccbe5e6152e98352e5facde2 Reviewed-on: https://chromium-review.googlesource.com/c/1391685 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org> Cr-Commit-Position: refs/heads/master@{#619948} [modify] https://crrev.com/611a2aff3731cd7c099324ebce1ff90f906a6324/components/autofill/core/common/save_password_progress_logger.cc [modify] https://crrev.com/611a2aff3731cd7c099324ebce1ff90f906a6324/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/611a2aff3731cd7c099324ebce1ff90f906a6324/components/password_manager/core/browser/password_manager.h [modify] https://crrev.com/611a2aff3731cd7c099324ebce1ff90f906a6324/components/password_manager/core/browser/password_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a46248f37fe15e50f93fbe5b09e580508ecf7b2a commit a46248f37fe15e50f93fbe5b09e580508ecf7b2a Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Jan 07 13:58:17 2019 Renaming IsReadyForAutomaticSaving->IsAutomaticSavePromptAvailable. On CL https://chromium-review.googlesource.com/c/chromium/src/+/1391685 it was figured out that IsReadyForAutomaticSaving is confusing name. This CL fixes that. Along the way comment to this function is fixed. Bug: 831123 Change-Id: I931d297724515a99630a8abf4e0126b63655967f Reviewed-on: https://chromium-review.googlesource.com/c/1397627 Reviewed-by: Dominic Battré <battre@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#620313} [modify] https://crrev.com/a46248f37fe15e50f93fbe5b09e580508ecf7b2a/components/autofill/core/common/save_password_progress_logger.cc [modify] https://crrev.com/a46248f37fe15e50f93fbe5b09e580508ecf7b2a/components/password_manager/core/browser/password_manager.cc [modify] https://crrev.com/a46248f37fe15e50f93fbe5b09e580508ecf7b2a/components/password_manager/core/browser/password_manager.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/81c3334c4a621885ff8efb51b157f3dcac0444e1 commit 81c3334c4a621885ff8efb51b157f3dcac0444e1 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Mon Jan 07 18:43:57 2019 Fix detection when form may be submitted. In order to prevent regressions because of site isolation, the logic of detection that navigation might be a form submission was implemented in the browser process. Namely the navigation may be a form submission if it is renderer initiated and is not link transition. It is the same as it was in the renderer process. It turned out, that now enum ui::PageTransition doesn't allow to detect link transition. This CL implements the similar logic, namely: 1.Renderer initiated navigations 2.Form submission or navigations without user gesture (nowadays a lot of forms are submitted with some JavaScript). Bug: 918111, 831123, 842643 TBR=dvadym@chromium.org (cherry picked from commit 03cad4f76faeae0a2e9cf2089ea109e99b4c16c5) Change-Id: I246e5a5f0f92ec6482053fe77b53fab45445242e Reviewed-on: https://chromium-review.googlesource.com/c/1391675 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#619143} Reviewed-on: https://chromium-review.googlesource.com/c/1398445 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#594} Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437} [modify] https://crrev.com/81c3334c4a621885ff8efb51b157f3dcac0444e1/components/password_manager/content/browser/content_password_manager_driver.cc [modify] https://crrev.com/81c3334c4a621885ff8efb51b157f3dcac0444e1/components/password_manager/content/browser/form_submission_tracker_util.cc [modify] https://crrev.com/81c3334c4a621885ff8efb51b157f3dcac0444e1/components/password_manager/content/browser/form_submission_tracker_util.h [modify] https://crrev.com/81c3334c4a621885ff8efb51b157f3dcac0444e1/components/password_manager/content/browser/form_submission_tracker_util_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/81c3334c4a621885ff8efb51b157f3dcac0444e1 Commit: 81c3334c4a621885ff8efb51b157f3dcac0444e1 Author: dvadym@chromium.org Commiter: dvadym@chromium.org Date: 2019-01-07 18:43:57 +0000 UTC Fix detection when form may be submitted. In order to prevent regressions because of site isolation, the logic of detection that navigation might be a form submission was implemented in the browser process. Namely the navigation may be a form submission if it is renderer initiated and is not link transition. It is the same as it was in the renderer process. It turned out, that now enum ui::PageTransition doesn't allow to detect link transition. This CL implements the similar logic, namely: 1.Renderer initiated navigations 2.Form submission or navigations without user gesture (nowadays a lot of forms are submitted with some JavaScript). Bug: 918111, 831123, 842643 TBR=dvadym@chromium.org (cherry picked from commit 03cad4f76faeae0a2e9cf2089ea109e99b4c16c5) Change-Id: I246e5a5f0f92ec6482053fe77b53fab45445242e Reviewed-on: https://chromium-review.googlesource.com/c/1391675 Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#619143} Reviewed-on: https://chromium-review.googlesource.com/c/1398445 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#594} Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/825159153ed8b464fcbf9c333abf4bab9a7693c7 commit 825159153ed8b464fcbf9c333abf4bab9a7693c7 Author: Vadym Doroshenko <dvadym@chromium.org> Date: Thu Jan 10 15:25:42 2019 Copy is_submitted on NewPasswordFormManager cloning. Bug: 831123 Change-Id: I8bacfa5a664d36c1d104cca0c5ca2238065d7d0e Reviewed-on: https://chromium-review.googlesource.com/c/1404167 Reviewed-by: Vadym Doroshenko <dvadym@chromium.org> Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org> Cr-Commit-Position: refs/heads/master@{#621583} [modify] https://crrev.com/825159153ed8b464fcbf9c333abf4bab9a7693c7/components/password_manager/core/browser/new_password_form_manager.cc [modify] https://crrev.com/825159153ed8b464fcbf9c333abf4bab9a7693c7/components/password_manager/core/browser/new_password_form_manager_unittest.cc