New issue
Advanced search Search tips

Issue 831123 link

Starred by 6 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , iOS , Chrome , Mac
Pri: 3
Type: Task


Sign in to add a comment

Password Manager filling and saving redesigning

Project Member Reported by dvadym@chromium.org, Apr 10 2018

Issue description

This bug is for tracking New Chrome Password Manager design refactoring. 
Details are in go/new-cpm-design-refactoring.
 
Showing comments 44 - 143 of 143 Older
Project Member

Comment 44 by bugdroid1@chromium.org, Jul 9

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

Blocking: 768939
Project Member

Comment 46 by bugdroid1@chromium.org, Jul 17

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

Project Member

Comment 47 by bugdroid1@chromium.org, Jul 17

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

Project Member

Comment 48 by bugdroid1@chromium.org, Jul 18

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

Project Member

Comment 49 by bugdroid1@chromium.org, Jul 19

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

Project Member

Comment 50 by bugdroid1@chromium.org, Jul 19

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

Project Member

Comment 51 by bugdroid1@chromium.org, Jul 24

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

Project Member

Comment 52 by bugdroid1@chromium.org, Jul 24

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

Project Member

Comment 53 by bugdroid1@chromium.org, Jul 27

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

Project Member

Comment 54 by bugdroid1@chromium.org, Jul 30

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

Project Member

Comment 55 by bugdroid1@chromium.org, Aug 1

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

Project Member

Comment 56 by bugdroid1@chromium.org, Aug 6

Labels: merge-merged-3497
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

Project Member

Comment 57 by bugdroid1@chromium.org, Aug 10

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

Project Member

Comment 59 by bugdroid1@chromium.org, Aug 21

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

Project Member

Comment 60 by bugdroid1@chromium.org, Aug 28

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

Project Member

Comment 61 by bugdroid1@chromium.org, Aug 30

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

Project Member

Comment 62 by bugdroid1@chromium.org, Sep 4

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

Project Member

Comment 63 by bugdroid1@chromium.org, Sep 4

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

Project Member

Comment 64 by bugdroid1@chromium.org, Sep 4

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

Project Member

Comment 65 by bugdroid1@chromium.org, Sep 6

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

Blocking: 881346
Project Member

Comment 68 by bugdroid1@chromium.org, Sep 11

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

Project Member

Comment 69 by bugdroid1@chromium.org, Sep 11

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

Project Member

Comment 70 by bugdroid1@chromium.org, Sep 18

Labels: merge-merged-3538
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

Project Member

Comment 71 by bugdroid1@chromium.org, Sep 19

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

Project Member

Comment 72 by bugdroid1@chromium.org, Sep 27

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

Project Member

Comment 73 by bugdroid1@chromium.org, Sep 28

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

Blocking: 842643
Project Member

Comment 75 by bugdroid1@chromium.org, Oct 4

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

Project Member

Comment 76 by bugdroid1@chromium.org, Oct 5

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

Project Member

Comment 77 by bugdroid1@chromium.org, Oct 11

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

Blockedon: 895411
Project Member

Comment 79 by bugdroid1@chromium.org, Oct 16

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

Project Member

Comment 80 by bugdroid1@chromium.org, Oct 16

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

Project Member

Comment 81 by bugdroid1@chromium.org, Oct 18

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

Cc: dvadym@chromium.org
Issue 498048 has been merged into this issue.
Blocking: 889920
Blocking: -889920
Project Member

Comment 85 by bugdroid1@chromium.org, Nov 7

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

Project Member

Comment 86 by bugdroid1@chromium.org, Nov 7

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

Project Member

Comment 87 by bugdroid1@chromium.org, Nov 8

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

Project Member

Comment 88 by bugdroid1@chromium.org, Nov 12

Labels: merge-merged-3578
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

Labels: Merge-Merged-71-3578
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}
Project Member

Comment 90 by bugdroid1@chromium.org, Nov 13

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}
Project Member

Comment 92 by bugdroid1@chromium.org, Nov 13

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}
Blockedon: 905048
Project Member

Comment 95 by bugdroid1@chromium.org, Nov 15

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

Project Member

Comment 96 by bugdroid1@chromium.org, Nov 15

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

Project Member

Comment 97 by bugdroid1@chromium.org, Nov 16

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

Blockedon: 906253
Blockedon: 906584
Project Member

Comment 100 by bugdroid1@chromium.org, Nov 19

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

Project Member

Comment 101 by bugdroid1@chromium.org, Nov 19

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

Project Member

Comment 102 by bugdroid1@chromium.org, Nov 19

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

Project Member

Comment 103 by bugdroid1@chromium.org, Nov 19

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}
Project Member

Comment 106 by bugdroid1@chromium.org, Nov 20

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}
Project Member

Comment 108 by bugdroid1@chromium.org, Nov 20

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

Blockedon: 907794
Project Member

Comment 110 by bugdroid1@chromium.org, Nov 23

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

Project Member

Comment 111 by bugdroid1@chromium.org, Nov 26

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

Project Member

Comment 112 by bugdroid1@chromium.org, Nov 26

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

Project Member

Comment 113 by bugdroid1@chromium.org, Nov 26

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

Project Member

Comment 114 by bugdroid1@chromium.org, Nov 28

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

Project Member

Comment 115 by bugdroid1@chromium.org, Nov 29

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

Project Member

Comment 116 by bugdroid1@chromium.org, Nov 29

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

Blockedon: 911636
Blockedon: 912134
Project Member

Comment 119 by bugdroid1@chromium.org, Dec 5

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

Blockedon: 912519
Blockedon: 912918
Project Member

Comment 122 by bugdroid1@chromium.org, Dec 7

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

Project Member

Comment 123 by bugdroid1@chromium.org, Dec 8

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

Project Member

Comment 124 by bugdroid1@chromium.org, Dec 10

Labels: merge-merged-3626
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

Project Member

Comment 125 by bugdroid1@chromium.org, Dec 10

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

Project Member

Comment 126 by bugdroid1@chromium.org, Dec 12

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

Project Member

Comment 127 by bugdroid1@chromium.org, Dec 12

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

Project Member

Comment 128 by bugdroid1@chromium.org, Dec 17

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

Project Member

Comment 129 by bugdroid1@chromium.org, Dec 18

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

Labels: Merge-Merged-72-3626
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}
Project Member

Comment 133 by bugdroid1@chromium.org, Dec 21

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

Project Member

Comment 134 by bugdroid1@chromium.org, Dec 27

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}
Project Member

Comment 136 by bugdroid1@chromium.org, Dec 28

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

Project Member

Comment 137 by bugdroid1@chromium.org, Dec 28

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

Project Member

Comment 138 by bugdroid1@chromium.org, Jan 2

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

Project Member

Comment 139 by bugdroid1@chromium.org, Jan 4

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

Project Member

Comment 140 by bugdroid1@chromium.org, Jan 7

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

Project Member

Comment 141 by bugdroid1@chromium.org, Jan 7

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}
Project Member

Comment 143 by bugdroid1@chromium.org, Jan 10

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

Showing comments 44 - 143 of 143 Older

Sign in to add a comment