New issue
Advanced search Search tips

Issue 846694 link

Starred by 3 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Implement requirement specs for password generation

Project Member Reported by battre@chromium.org, May 25 2018

Issue description

The purpose of this bug is to allow us to specify rules for generating passwords (e.g. the requirement to have number / symbols in a password).
 
Project Member

Comment 1 by bugdroid1@chromium.org, May 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6c2f759a676b9b9e52bbd33a94483207d6808cfa

commit 6c2f759a676b9b9e52bbd33a94483207d6808cfa
Author: Dominic Battre <battre@chromium.org>
Date: Mon May 28 08:38:46 2018

Rename password_generator.* to password_generator_fips181.*

This CL just renames the current password generator to make room for a new one.
I don't delete the current password generator because I consider to continue
supporting it for simple cases. Pronouncable passwords are kind of nice.

Bug: 846694
Change-Id: I12e3369cde365252342987bd97241631f86ee047
Reviewed-on: https://chromium-review.googlesource.com/1073228
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org>
Commit-Queue: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562209}
[modify] https://crrev.com/6c2f759a676b9b9e52bbd33a94483207d6808cfa/chrome/browser/password_manager/chrome_password_manager_client.cc
[modify] https://crrev.com/6c2f759a676b9b9e52bbd33a94483207d6808cfa/chrome/browser/ui/autofill/password_generation_popup_controller_impl.cc
[modify] https://crrev.com/6c2f759a676b9b9e52bbd33a94483207d6808cfa/chrome/browser/ui/autofill/password_generation_popup_controller_impl.h
[modify] https://crrev.com/6c2f759a676b9b9e52bbd33a94483207d6808cfa/components/autofill/core/browser/BUILD.gn
[rename] https://crrev.com/6c2f759a676b9b9e52bbd33a94483207d6808cfa/components/autofill/core/browser/password_generator_fips181.cc
[rename] https://crrev.com/6c2f759a676b9b9e52bbd33a94483207d6808cfa/components/autofill/core/browser/password_generator_fips181.h
[rename] https://crrev.com/6c2f759a676b9b9e52bbd33a94483207d6808cfa/components/autofill/core/browser/password_generator_fips181_unittest.cc

Project Member

Comment 2 by bugdroid1@chromium.org, May 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f5071d7e1124a71380c2740defa0a578f27b805d

commit f5071d7e1124a71380c2740defa0a578f27b805d
Author: Dominic Battre <battre@chromium.org>
Date: Tue May 29 13:59:23 2018

Add password_requirements.proto

This adds a protobuf for password requirements according to which we can
generate passwords. The language is fairly expressive but not capable of
expressing every imaginable constraint.

Bug: 846694
Change-Id: I36b5ea52c68d29fc8e20e2bc73b4404697753b34
Reviewed-on: https://chromium-review.googlesource.com/1073229
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562411}
[modify] https://crrev.com/f5071d7e1124a71380c2740defa0a578f27b805d/components/autofill/core/browser/proto/BUILD.gn
[add] https://crrev.com/f5071d7e1124a71380c2740defa0a578f27b805d/components/autofill/core/browser/proto/password_requirements.proto
[modify] https://crrev.com/f5071d7e1124a71380c2740defa0a578f27b805d/components/autofill/core/browser/proto/server.proto

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f03746c7b7e825184503f0a65b9fadd606689a4a

commit f03746c7b7e825184503f0a65b9fadd606689a4a
Author: Dominic Battre <battre@chromium.org>
Date: Fri Jun 01 08:40:58 2018

New password generator

This CL implements a new password generator that does not care for
pronounceable passwords but can support various requirements on character
classes (e.g. it can generate passwords with at least 3 digits and 1 special
character that is chosen from [#$%]).

The new password generator is not hooked up to the rest of the password
generation framework yet.

Bug: 846694
Change-Id: Iac1a17c8abbd350fe7347478167753c51dd16748
Reviewed-on: https://chromium-review.googlesource.com/1073587
Reviewed-by: Maxim Kolosovskiy <kolos@chromium.org>
Reviewed-by: Dominic Battré <battre@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Commit-Queue: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563564}
[modify] https://crrev.com/f03746c7b7e825184503f0a65b9fadd606689a4a/components/autofill/core/browser/BUILD.gn
[add] https://crrev.com/f03746c7b7e825184503f0a65b9fadd606689a4a/components/autofill/core/browser/password_generator.cc
[add] https://crrev.com/f03746c7b7e825184503f0a65b9fadd606689a4a/components/autofill/core/browser/password_generator.h
[add] https://crrev.com/f03746c7b7e825184503f0a65b9fadd606689a4a/components/autofill/core/browser/password_generator_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Jun 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/96943a2f3b5386508fb544bf3b2678e21628eb81

commit 96943a2f3b5386508fb544bf3b2678e21628eb81
Author: Dominic Battre <battre@chromium.org>
Date: Fri Jun 01 10:38:06 2018

PasswordRequirementsSpecFetcher base

This CL implements a first version of PasswordRequirementsSpecFetcher that
can trigger network requests to gstatic to fetch specs for password
requirements. It does not contain any logic for parsing the response yet as
that can be factored out into a separate CL.

Bug: 846694
Change-Id: Ifcc58a2716ee81fe803e164278d535287da3f0d5
Reviewed-on: https://chromium-review.googlesource.com/1075530
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Ramin Halavati <rhalavati@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563581}
[modify] https://crrev.com/96943a2f3b5386508fb544bf3b2678e21628eb81/components/autofill/core/browser/BUILD.gn
[modify] https://crrev.com/96943a2f3b5386508fb544bf3b2678e21628eb81/components/autofill/core/browser/DEPS
[modify] https://crrev.com/96943a2f3b5386508fb544bf3b2678e21628eb81/components/autofill/core/browser/password_generator.h
[modify] https://crrev.com/96943a2f3b5386508fb544bf3b2678e21628eb81/components/autofill/core/browser/password_generator_unittest.cc
[add] https://crrev.com/96943a2f3b5386508fb544bf3b2678e21628eb81/components/autofill/core/browser/password_requirements_spec_fetcher.cc
[add] https://crrev.com/96943a2f3b5386508fb544bf3b2678e21628eb81/components/autofill/core/browser/password_requirements_spec_fetcher.h
[add] https://crrev.com/96943a2f3b5386508fb544bf3b2678e21628eb81/components/autofill/core/browser/password_requirements_spec_fetcher_unittest.cc
[modify] https://crrev.com/96943a2f3b5386508fb544bf3b2678e21628eb81/tools/traffic_annotation/summary/annotations.xml

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b118c83577aa29047ee11fa48ef870af3af48324

commit b118c83577aa29047ee11fa48ef870af3af48324
Author: Dominic Battre <battre@chromium.org>
Date: Tue Jun 05 13:45:00 2018

Add parsing of password requirements shards

Bug: 846694
Change-Id: I3c556d2406bc023fe69c246b8fb9069c31ea1378
Reviewed-on: https://chromium-review.googlesource.com/1082317
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Commit-Queue: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564475}
[modify] https://crrev.com/b118c83577aa29047ee11fa48ef870af3af48324/components/autofill/core/browser/password_requirements_spec_fetcher.cc
[modify] https://crrev.com/b118c83577aa29047ee11fa48ef870af3af48324/components/autofill/core/browser/password_requirements_spec_fetcher.h
[modify] https://crrev.com/b118c83577aa29047ee11fa48ef870af3af48324/components/autofill/core/browser/password_requirements_spec_fetcher_unittest.cc
[modify] https://crrev.com/b118c83577aa29047ee11fa48ef870af3af48324/components/autofill/core/browser/proto/BUILD.gn
[add] https://crrev.com/b118c83577aa29047ee11fa48ef870af3af48324/components/autofill/core/browser/proto/password_requirements_shard.proto
[modify] https://crrev.com/b118c83577aa29047ee11fa48ef870af3af48324/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/b118c83577aa29047ee11fa48ef870af3af48324/tools/metrics/histograms/histograms.xml

Project Member

Comment 6 by bugdroid1@chromium.org, Jun 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1357ff2d5613973145c7dc6328530fffbff020f3

commit 1357ff2d5613973145c7dc6328530fffbff020f3
Author: Dominic Battre <battre@chromium.org>
Date: Thu Jun 07 11:09:07 2018

Interface-ify the PasswordRequirementsSpecFetcher for mocking

TBR=rhalavati@chromium.org

Bug: 846694
Change-Id: Iea9e6daba5933cb7ccb2af897bdddb137943007b
Reviewed-on: https://chromium-review.googlesource.com/1088914
Reviewed-by: Ramin Halavati <rhalavati@chromium.org>
Reviewed-by: Dominic Battré <battre@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Commit-Queue: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565227}
[modify] https://crrev.com/1357ff2d5613973145c7dc6328530fffbff020f3/components/autofill/core/browser/BUILD.gn
[modify] https://crrev.com/1357ff2d5613973145c7dc6328530fffbff020f3/components/autofill/core/browser/password_requirements_spec_fetcher.h
[rename] https://crrev.com/1357ff2d5613973145c7dc6328530fffbff020f3/components/autofill/core/browser/password_requirements_spec_fetcher_impl.cc
[add] https://crrev.com/1357ff2d5613973145c7dc6328530fffbff020f3/components/autofill/core/browser/password_requirements_spec_fetcher_impl.h
[modify] https://crrev.com/1357ff2d5613973145c7dc6328530fffbff020f3/components/autofill/core/browser/password_requirements_spec_fetcher_unittest.cc
[modify] https://crrev.com/1357ff2d5613973145c7dc6328530fffbff020f3/tools/traffic_annotation/summary/annotations.xml

Project Member

Comment 7 by bugdroid1@chromium.org, Jun 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c07e9f464695f95b29a9eb3085719b2b8ba5c853

commit c07e9f464695f95b29a9eb3085719b2b8ba5c853
Author: Dominic Battre <battre@chromium.org>
Date: Fri Jun 08 08:17:23 2018

Enable interleaved fetching of specs with reuse

This CL enables the PasswordRequirementsSpecFetcherImpl to deal with
interleaved requests: For example during browser startup there may be may
lookups to the same destination that are triggered before the server can
respond. This CL ensures that only one request is sent per destination.

Bug: 846694
Change-Id: If1a8df39b2f32945f7fb6eb24374d0db2f1de8e9
Reviewed-on: https://chromium-review.googlesource.com/1090715
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Reviewed-by: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565587}
[modify] https://crrev.com/c07e9f464695f95b29a9eb3085719b2b8ba5c853/components/autofill/core/browser/password_requirements_spec_fetcher.h
[modify] https://crrev.com/c07e9f464695f95b29a9eb3085719b2b8ba5c853/components/autofill/core/browser/password_requirements_spec_fetcher_impl.cc
[modify] https://crrev.com/c07e9f464695f95b29a9eb3085719b2b8ba5c853/components/autofill/core/browser/password_requirements_spec_fetcher_impl.h
[modify] https://crrev.com/c07e9f464695f95b29a9eb3085719b2b8ba5c853/components/autofill/core/browser/password_requirements_spec_fetcher_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Jun 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6aaf5e25b40e681c6078bc2380ba88f2f7b34cc6

commit 6aaf5e25b40e681c6078bc2380ba88f2f7b34cc6
Author: Dominic Battre <battre@chromium.org>
Date: Mon Jun 11 22:57:36 2018

Move URLLoaderFactory from Fetch() to constructor

This is a refactoring in preparation for introducing a longer lived service
that takes care of fetching and storing specs. There is not need to get the
URLLoaderFactory from the browser context each time a form is discovered.

Bug: 846694
Change-Id: Ib0ee24d59a9c1cfc3a7df07d73faf92e2cbd763a
Reviewed-on: https://chromium-review.googlesource.com/1090846
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566188}
[modify] https://crrev.com/6aaf5e25b40e681c6078bc2380ba88f2f7b34cc6/components/autofill/core/browser/BUILD.gn
[modify] https://crrev.com/6aaf5e25b40e681c6078bc2380ba88f2f7b34cc6/components/autofill/core/browser/password_requirements_spec_fetcher.h
[modify] https://crrev.com/6aaf5e25b40e681c6078bc2380ba88f2f7b34cc6/components/autofill/core/browser/password_requirements_spec_fetcher_impl.cc
[modify] https://crrev.com/6aaf5e25b40e681c6078bc2380ba88f2f7b34cc6/components/autofill/core/browser/password_requirements_spec_fetcher_impl.h
[modify] https://crrev.com/6aaf5e25b40e681c6078bc2380ba88f2f7b34cc6/components/autofill/core/browser/password_requirements_spec_fetcher_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/676a3ff61e1a1b5c75c9dbe359b9cb38cb23b286

commit 676a3ff61e1a1b5c75c9dbe359b9cb38cb23b286
Author: Dominic Battre <battre@chromium.org>
Date: Tue Jun 12 07:01:26 2018

Support that no URLLoaderFactory is passed

For incognito mode we probably don't want to send pings. This CL enables the
PasswordRequirementsSpecFetcherImpl to deal with a situation where it has no
URLLoaderFactory. In case no network communication can happen, it just returns
an empty spec.

Bug: 846694
Change-Id: I039f168e4d5ea0c5b4676938475236292af1d554
Reviewed-on: https://chromium-review.googlesource.com/1090924
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566344}
[modify] https://crrev.com/676a3ff61e1a1b5c75c9dbe359b9cb38cb23b286/components/autofill/core/browser/password_requirements_spec_fetcher_impl.cc
[modify] https://crrev.com/676a3ff61e1a1b5c75c9dbe359b9cb38cb23b286/components/autofill/core/browser/password_requirements_spec_fetcher_impl.h
[modify] https://crrev.com/676a3ff61e1a1b5c75c9dbe359b9cb38cb23b286/components/autofill/core/browser/password_requirements_spec_fetcher_unittest.cc
[modify] https://crrev.com/676a3ff61e1a1b5c75c9dbe359b9cb38cb23b286/tools/metrics/histograms/enums.xml

Project Member

Comment 10 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/29d7535b65e4eb97945cd01e3317949334d4f69a

commit 29d7535b65e4eb97945cd01e3317949334d4f69a
Author: Dominic Battre <battre@chromium.org>
Date: Tue Jun 12 09:03:28 2018

Removed visually non-distinct characters from password generator

This CL removes the following characters from generated passwords as they are
visually not easy to distinguish and users may still need to type a generated
password from time to time:

- l (lowercase L)
- I (capital i)
- 1 (one)
- O (capital o)
- 0 (zero)
- o (lowercase O)

Bug: 846694
Change-Id: Iea1a62abf6565bcad74a2ff762c0ad69bb36eba0
Reviewed-on: https://chromium-review.googlesource.com/1096756
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Commit-Queue: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566361}
[modify] https://crrev.com/29d7535b65e4eb97945cd01e3317949334d4f69a/components/autofill/core/browser/password_generator.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8dd3ab36f76482bcc9b791c390aefd38792f562d

commit 8dd3ab36f76482bcc9b791c390aefd38792f562d
Author: Dominic Battre <battre@chromium.org>
Date: Tue Jun 12 13:39:12 2018

Implement a service that delivers password generation requirements


Bug: 846694
Change-Id: Iecf328d8a43c96dd6772b48d0f0f80760a8a51e1
Reviewed-on: https://chromium-review.googlesource.com/1093096
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566399}
[modify] https://crrev.com/8dd3ab36f76482bcc9b791c390aefd38792f562d/components/password_manager/content/browser/BUILD.gn
[modify] https://crrev.com/8dd3ab36f76482bcc9b791c390aefd38792f562d/components/password_manager/content/browser/DEPS
[add] https://crrev.com/8dd3ab36f76482bcc9b791c390aefd38792f562d/components/password_manager/content/browser/password_requirements_service_factory.cc
[add] https://crrev.com/8dd3ab36f76482bcc9b791c390aefd38792f562d/components/password_manager/content/browser/password_requirements_service_factory.h
[modify] https://crrev.com/8dd3ab36f76482bcc9b791c390aefd38792f562d/components/password_manager/core/browser/BUILD.gn
[add] https://crrev.com/8dd3ab36f76482bcc9b791c390aefd38792f562d/components/password_manager/core/browser/password_requirements_service.cc
[add] https://crrev.com/8dd3ab36f76482bcc9b791c390aefd38792f562d/components/password_manager/core/browser/password_requirements_service.h
[add] https://crrev.com/8dd3ab36f76482bcc9b791c390aefd38792f562d/components/password_manager/core/browser/password_requirements_service_unittest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1e530e24ab5330683eff7315a55afed65ca7c851

commit 1e530e24ab5330683eff7315a55afed65ca7c851
Author: Dominic Battre <battre@chromium.org>
Date: Tue Jun 12 16:31:01 2018

Wire up password requirements

This CL wires up the logic for fetching password requirements to password
generation.

NOTRY=true

Bug: 846694
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I2e7c770ddbc422b0f7b30001a6b615e799c165f5
Reviewed-on: https://chromium-review.googlesource.com/1095106
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Mathieu Perreault <mathp@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566455}
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/chrome/browser/password_manager/chrome_password_manager_client.cc
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/chrome/browser/password_manager/chrome_password_manager_client.h
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/chrome/browser/ui/autofill/chrome_autofill_client.cc
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/chrome/browser/ui/passwords/password_generation_popup_controller_impl.cc
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/chrome/browser/ui/passwords/password_generation_popup_controller_impl.h
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/chrome/browser/ui/passwords/password_generation_popup_view_browsertest.cc
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/components/autofill/core/browser/autofill_field.cc
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/components/autofill/core/browser/autofill_field.h
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/components/autofill/core/browser/form_structure.cc
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/components/password_manager/content/browser/content_password_manager_driver.cc
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/components/password_manager/core/browser/password_generation_manager.cc
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/components/password_manager/core/browser/password_generation_manager.h
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/components/password_manager/core/browser/password_generation_manager_unittest.cc
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/components/password_manager/core/browser/password_manager_client.cc
[modify] https://crrev.com/1e530e24ab5330683eff7315a55afed65ca7c851/components/password_manager/core/browser/password_manager_client.h

Project Member

Comment 13 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c

commit d5ecd79b3f854b1995e2a2f48bd7dfdba099384c
Author: Dominic Battre <battre@chromium.org>
Date: Tue Jun 12 17:35:18 2018

Rename PasswordSyncState to SyncState

This CL renames password_manager::PasswordSyncState to
password_manager::SyncState and password_manager::NOT_SYNCING_PASSWORDS to
password_manager::NOT_SYNCING. This rename generalizes the concept and allows
us to reuse the enum for the sync state of browsing history.

Domain password requirements are only fetched if browsing history is synced
without encryption.

TBR=dullweber@chromium.org

Bug: 846694
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I9a9d87fffd9fd5310f1e0a363efdf14e7f61d0fd
Reviewed-on: https://chromium-review.googlesource.com/1097329
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566486}
[modify] https://crrev.com/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c/chrome/browser/password_manager/chrome_password_manager_client.cc
[modify] https://crrev.com/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c/chrome/browser/password_manager/chrome_password_manager_client.h
[modify] https://crrev.com/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c/chrome/browser/password_manager/chrome_password_manager_client_unittest.cc
[modify] https://crrev.com/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c/components/browsing_data/core/counters/passwords_counter.cc
[modify] https://crrev.com/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c/components/password_manager/core/browser/password_generation_manager.cc
[modify] https://crrev.com/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c/components/password_manager/core/browser/password_generation_manager_unittest.cc
[modify] https://crrev.com/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c/components/password_manager/core/browser/password_manager_client.cc
[modify] https://crrev.com/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c/components/password_manager/core/browser/password_manager_client.h
[modify] https://crrev.com/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c/components/password_manager/core/browser/password_manager_util.cc
[modify] https://crrev.com/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c/components/password_manager/core/browser/password_manager_util.h
[modify] https://crrev.com/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c/ios/chrome/browser/passwords/ios_chrome_password_manager_client.h
[modify] https://crrev.com/d5ecd79b3f854b1995e2a2f48bd7dfdba099384c/ios/chrome/browser/passwords/ios_chrome_password_manager_client.mm

Project Member

Comment 14 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e660c4c597fe622baafc43ef57f021210cd35c01

commit e660c4c597fe622baafc43ef57f021210cd35c01
Author: Dominic Battre <battre@chromium.org>
Date: Tue Jun 12 20:16:17 2018

VLOG debug for password requirements

This CL adds some VLOG debug statements that help us identify problems in case
they arise during launch. They turned out to be useful while working on a finch
config. They won't replace debug data in chrome://password-manager-internals,
though. But that will be based on the serialization introduced here.

Bug: 846694
Change-Id: I20e8c1826cc8fa00860bfbeccaf832e93a0bb125
Reviewed-on: https://chromium-review.googlesource.com/1097086
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Commit-Queue: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566547}
[modify] https://crrev.com/e660c4c597fe622baafc43ef57f021210cd35c01/components/autofill/core/browser/BUILD.gn
[modify] https://crrev.com/e660c4c597fe622baafc43ef57f021210cd35c01/components/autofill/core/browser/password_requirements_spec_fetcher_impl.cc
[add] https://crrev.com/e660c4c597fe622baafc43ef57f021210cd35c01/components/autofill/core/browser/password_requirements_spec_printer.cc
[add] https://crrev.com/e660c4c597fe622baafc43ef57f021210cd35c01/components/autofill/core/browser/password_requirements_spec_printer.h
[modify] https://crrev.com/e660c4c597fe622baafc43ef57f021210cd35c01/components/password_manager/core/browser/password_requirements_service.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Jun 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c05dc8b3b129c451b7dd4cbcbae1249d8da8fda5

commit c05dc8b3b129c451b7dd4cbcbae1249d8da8fda5
Author: Dominic Battre <battre@chromium.org>
Date: Wed Jun 13 07:47:22 2018

Introduce finch parameters for password requirements

This CL introduces two features that are purely meant as kill switches until
the feature have proven stable:

- PasswordGenerationRequirements controlls whether Chrome attempts to generate
  passwords that meet the requirements of a website. If enabled, Chrome will use
  the requirements from Autofill server responses to generate passwords.
- PasswordGenerationRequirementsDomainOverrides builds on top of that. If set
  an extra request will be sent to gstatic.com to fetch requirements for the
  main frame domain for which the password will be generated.

These are separated into different features for to allow for disabling only the
second part in case it should turn out to create problems (not expected).

On top of that, three field trial parameters are defined:

- PasswordGenerationRequirements/version
- PasswordGenerationRequirements/prefix_length
- PasswordGenerationRequirements/timeout

The first two parameters control the file name that will be downloaded from
gstatic. These are meant to stay in Chrome unless we decide to kill the
service. They are used to scale the service: If few overrides are necessary,
they all fit into one file that can be downloaded on demand. If more overrides
become necessary, we may want to split that into multiple files. The
prefix_length indicates the hash prefix lengh used for sharding data into
files. The version parameter allows two things:
1) gradual rollouts to a new version while measuring that nothing breaks.
2) ensuring an atomic switch to a new prefix_length (e.g. version 1 might have
   a prefix length of 0, version 2 might have a prefix length of 4 -> the
   version parameter ensures that files are fetched from a directory that
   contains prefixes of the corresponding length).

The purpose of the timeout parameter is to see whether a 5 second timeout
works. We may remove that parameter if it turns out to be non-necessary. But we
may also increase it from the server if necessary.

Bug: 846694
Change-Id: I451b45b04eecfac609cb2400bb5281839578c628
Reviewed-on: https://chromium-review.googlesource.com/1097317
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Gayane Petrosyan <gayane@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566753}
[modify] https://crrev.com/c05dc8b3b129c451b7dd4cbcbae1249d8da8fda5/components/password_manager/content/browser/password_requirements_service_factory.cc
[modify] https://crrev.com/c05dc8b3b129c451b7dd4cbcbae1249d8da8fda5/components/password_manager/core/browser/password_requirements_service.cc
[modify] https://crrev.com/c05dc8b3b129c451b7dd4cbcbae1249d8da8fda5/components/password_manager/core/browser/password_requirements_service.h
[modify] https://crrev.com/c05dc8b3b129c451b7dd4cbcbae1249d8da8fda5/components/password_manager/core/common/password_manager_features.cc
[modify] https://crrev.com/c05dc8b3b129c451b7dd4cbcbae1249d8da8fda5/components/password_manager/core/common/password_manager_features.h
[modify] https://crrev.com/c05dc8b3b129c451b7dd4cbcbae1249d8da8fda5/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 16 by bugdroid1@chromium.org, Jun 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6cb392eb972e2be1408ba98e9c371de926402f51

commit 6cb392eb972e2be1408ba98e9c371de926402f51
Author: Dominic Battre <battre@chromium.org>
Date: Wed Jun 13 08:06:47 2018

Disable requirements fetching if browsing history is not synced

This CL disables password requirements fetching from gstatic unless the user
syncs browsing history without a custom passphrase.

NOTRY=true

Bug: 846694
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: If500c349d4fcbc94c3fe8b6c74aec1f9a2403420
Reviewed-on: https://chromium-review.googlesource.com/1097411
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566756}
[modify] https://crrev.com/6cb392eb972e2be1408ba98e9c371de926402f51/chrome/browser/password_manager/chrome_password_manager_client.cc
[modify] https://crrev.com/6cb392eb972e2be1408ba98e9c371de926402f51/chrome/browser/password_manager/chrome_password_manager_client.h
[modify] https://crrev.com/6cb392eb972e2be1408ba98e9c371de926402f51/components/autofill/core/browser/password_requirements_spec_fetcher_impl.cc
[modify] https://crrev.com/6cb392eb972e2be1408ba98e9c371de926402f51/components/password_manager/core/browser/password_generation_manager.cc
[modify] https://crrev.com/6cb392eb972e2be1408ba98e9c371de926402f51/components/password_manager/core/browser/password_generation_manager.h
[modify] https://crrev.com/6cb392eb972e2be1408ba98e9c371de926402f51/components/password_manager/core/browser/password_generation_manager_unittest.cc
[modify] https://crrev.com/6cb392eb972e2be1408ba98e9c371de926402f51/components/password_manager/core/browser/password_manager_client.cc
[modify] https://crrev.com/6cb392eb972e2be1408ba98e9c371de926402f51/components/password_manager/core/browser/password_manager_client.h
[modify] https://crrev.com/6cb392eb972e2be1408ba98e9c371de926402f51/components/password_manager/core/browser/password_manager_util.cc
[modify] https://crrev.com/6cb392eb972e2be1408ba98e9c371de926402f51/components/password_manager/core/browser/password_manager_util.h
[modify] https://crrev.com/6cb392eb972e2be1408ba98e9c371de926402f51/ios/chrome/browser/passwords/ios_chrome_password_manager_client.h
[modify] https://crrev.com/6cb392eb972e2be1408ba98e9c371de926402f51/ios/chrome/browser/passwords/ios_chrome_password_manager_client.mm

Project Member

Comment 17 by bugdroid1@chromium.org, Jun 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/abced152261cf10ee286a62177285bd0f5814506

commit abced152261cf10ee286a62177285bd0f5814506
Author: Dominic Battre <battre@chromium.org>
Date: Wed Jun 13 09:52:01 2018

Annotate boolean parameter in function call

This is just a tiny cleanup that has been suggested on a previous CL.

Bug: 846694
Change-Id: I0462c6b6a88d434ccbd4f41fa11513628b0e7ea7
Reviewed-on: https://chromium-review.googlesource.com/1098662
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Commit-Queue: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566780}
[modify] https://crrev.com/abced152261cf10ee286a62177285bd0f5814506/components/password_manager/content/browser/content_password_manager_driver.cc
[modify] https://crrev.com/abced152261cf10ee286a62177285bd0f5814506/components/password_manager/core/browser/password_generation_manager.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Jun 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/db099a978deae0d362e1fedf1f6518ffd004b617

commit db099a978deae0d362e1fedf1f6518ffd004b617
Author: Dominic Battre <battre@chromium.org>
Date: Wed Jun 13 16:43:44 2018

Fix parsing for field trial parameters

base::StringToInt(text, &target) modifies target even if it fails to parse text.

NOTRY=true

Bug: 846694
Change-Id: Id0efd9886e3eb7abdea4ca979d50a444424724fb
Reviewed-on: https://chromium-review.googlesource.com/1098922
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Dominic Battré <battre@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566864}
[modify] https://crrev.com/db099a978deae0d362e1fedf1f6518ffd004b617/components/password_manager/content/browser/password_requirements_service_factory.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Jun 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/416dec0b1a611ba5eb46e4455cd5cd1be63164f3

commit 416dec0b1a611ba5eb46e4455cd5cd1be63164f3
Author: Dominic Battre <battre@chromium.org>
Date: Thu Jun 14 08:28:33 2018

Enable password requirements spec fetching for ExperimentalUi flag

This CL enables the spec fetching if you enable the ExperimentalUi. If you have
to manually enable the feature, this probably means that you did not get a
proper finch config, so a good default is set that exercises the new code.

Bug: 846694
Change-Id: I072e7c3b1977bd654949e2244873a48fb5a551ee
Reviewed-on: https://chromium-review.googlesource.com/1100458
Reviewed-by: Dominic Battré <battre@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Commit-Queue: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567191}
[modify] https://crrev.com/416dec0b1a611ba5eb46e4455cd5cd1be63164f3/components/password_manager/content/browser/password_requirements_service_factory.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Jun 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/010b2e586cd30695118ccaed236fdd3c37f104c1

commit 010b2e586cd30695118ccaed236fdd3c37f104c1
Author: Dominic Battre <battre@chromium.org>
Date: Thu Jun 14 19:47:28 2018

Record UKMs for password generation

Record UKMs for instances when the user generates a password and instances when
the user modifies a generated password.

Bug: 846694
Change-Id: I032a5f45823b4aa68b6b190ef24e7472b6ad44bf
Reviewed-on: https://chromium-review.googlesource.com/1099242
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Dominic Battré <battre@chromium.org>
Reviewed-by: Vadym Doroshenko <dvadym@chromium.org>
Commit-Queue: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567373}
[modify] https://crrev.com/010b2e586cd30695118ccaed236fdd3c37f104c1/components/password_manager/core/browser/password_form_manager.cc
[modify] https://crrev.com/010b2e586cd30695118ccaed236fdd3c37f104c1/components/password_manager/core/browser/password_form_manager.h
[modify] https://crrev.com/010b2e586cd30695118ccaed236fdd3c37f104c1/components/password_manager/core/browser/password_form_manager_unittest.cc
[modify] https://crrev.com/010b2e586cd30695118ccaed236fdd3c37f104c1/components/password_manager/core/browser/password_form_metrics_recorder.cc
[modify] https://crrev.com/010b2e586cd30695118ccaed236fdd3c37f104c1/components/password_manager/core/browser/password_form_metrics_recorder.h
[modify] https://crrev.com/010b2e586cd30695118ccaed236fdd3c37f104c1/tools/metrics/ukm/ukm.xml

Project Member

Comment 21 by bugdroid1@chromium.org, Jun 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0a4eb15d5bdbd16d6dedde8cfcd80ca79db53ebb

commit 0a4eb15d5bdbd16d6dedde8cfcd80ca79db53ebb
Author: Dominic Battre <battre@chromium.org>
Date: Thu Jun 14 22:51:17 2018

Record UKMs if a password generation popup is shown and why

Bug: 846694
Change-Id: Ib34a6256bbd7bc5358497101968839d26b5051ff
Reviewed-on: https://chromium-review.googlesource.com/1100821
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Vadym Doroshenko <dvadym@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567456}
[modify] https://crrev.com/0a4eb15d5bdbd16d6dedde8cfcd80ca79db53ebb/components/password_manager/core/browser/password_form_manager.cc
[modify] https://crrev.com/0a4eb15d5bdbd16d6dedde8cfcd80ca79db53ebb/components/password_manager/core/browser/password_form_manager.h
[modify] https://crrev.com/0a4eb15d5bdbd16d6dedde8cfcd80ca79db53ebb/components/password_manager/core/browser/password_form_manager_unittest.cc
[modify] https://crrev.com/0a4eb15d5bdbd16d6dedde8cfcd80ca79db53ebb/components/password_manager/core/browser/password_form_metrics_recorder.cc
[modify] https://crrev.com/0a4eb15d5bdbd16d6dedde8cfcd80ca79db53ebb/components/password_manager/core/browser/password_form_metrics_recorder.h
[modify] https://crrev.com/0a4eb15d5bdbd16d6dedde8cfcd80ca79db53ebb/components/password_manager/core/browser/password_manager.cc
[modify] https://crrev.com/0a4eb15d5bdbd16d6dedde8cfcd80ca79db53ebb/tools/metrics/ukm/ukm.xml

Project Member

Comment 22 by bugdroid1@chromium.org, Jun 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/39ffd677d20620019fae476801bd915069303973

commit 39ffd677d20620019fae476801bd915069303973
Author: Dominic Battre <battre@chromium.org>
Date: Fri Jun 15 05:29:13 2018

Collect network metrics of PasswordRequirementsSpecFetcher

This CL introduces metrics to learn about problems with fetching the password
requirements from gstatic.com. They will be used to see whether the current
timeout is reasonable and to set up alerting in case something breaks.

NOTRY=true

Bug: 846694
Change-Id: I3e23944b3d638aab483169eb78f657dc3ab7588f
Reviewed-on: https://chromium-review.googlesource.com/1100460
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Reviewed-by: Gayane Petrosyan <gayane@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567555}
[modify] https://crrev.com/39ffd677d20620019fae476801bd915069303973/components/autofill/core/browser/password_requirements_spec_fetcher_impl.cc
[modify] https://crrev.com/39ffd677d20620019fae476801bd915069303973/components/autofill/core/browser/password_requirements_spec_fetcher_impl.h
[modify] https://crrev.com/39ffd677d20620019fae476801bd915069303973/tools/metrics/histograms/histograms.xml

Project Member

Comment 23 by bugdroid1@chromium.org, Jun 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f6bbe88884a3ef22d3edc91307b212e041e1956

commit 5f6bbe88884a3ef22d3edc91307b212e041e1956
Author: Dominic Battre <battre@chromium.org>
Date: Fri Jun 15 14:08:20 2018

Increase password readability

This CL increases password readablity by preventing sequences of -- and __
which are rendered as long strokes in some fonts. At the same time it adds some
new special characters that are "not scary" ('!' and ':').

Bug: 846694
Change-Id: I19d5b9007725943ac8eafe512339ef85a8c232e5
Reviewed-on: https://chromium-review.googlesource.com/1101208
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567632}
[modify] https://crrev.com/5f6bbe88884a3ef22d3edc91307b212e041e1956/components/autofill/core/browser/password_generator.cc

Project Member

Comment 24 by bugdroid1@chromium.org, Jul 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3692637e5fe9508374a4a42641adccbe48d24f4e

commit 3692637e5fe9508374a4a42641adccbe48d24f4e
Author: Dominic Battre <battre@chromium.org>
Date: Mon Jul 02 11:48:41 2018

Report priority of PasswordGenerationRequirementsSpec

Report the priority of a PasswordGenerationRequirementsSpec for a
generated password. This can be used for debugging as a 0 means that no
spec was used, a 10 means that the spec came from autofill and was crowd
sourced, a 20 means that it was overrideen per domain and a 30 means that
is was overridden for the form.

Bug: 846694
Change-Id: Ic64433d23dece4f9d6d511254cc85fdb2a746646
Reviewed-on: https://chromium-review.googlesource.com/1101211
Commit-Queue: Dominic Battré <battre@chromium.org>
Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Vadym Doroshenko <dvadym@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571865}
[modify] https://crrev.com/3692637e5fe9508374a4a42641adccbe48d24f4e/chrome/browser/password_manager/password_accessory_controller.cc
[modify] https://crrev.com/3692637e5fe9508374a4a42641adccbe48d24f4e/chrome/browser/password_manager/password_accessory_controller_unittest.cc
[modify] https://crrev.com/3692637e5fe9508374a4a42641adccbe48d24f4e/chrome/browser/ui/passwords/password_generation_popup_controller_impl.cc
[modify] https://crrev.com/3692637e5fe9508374a4a42641adccbe48d24f4e/components/password_manager/core/browser/password_form_metrics_recorder.cc
[modify] https://crrev.com/3692637e5fe9508374a4a42641adccbe48d24f4e/components/password_manager/core/browser/password_form_metrics_recorder.h
[modify] https://crrev.com/3692637e5fe9508374a4a42641adccbe48d24f4e/components/password_manager/core/browser/password_generation_manager.cc
[modify] https://crrev.com/3692637e5fe9508374a4a42641adccbe48d24f4e/components/password_manager/core/browser/password_generation_manager.h
[modify] https://crrev.com/3692637e5fe9508374a4a42641adccbe48d24f4e/components/password_manager/core/browser/password_manager.cc
[modify] https://crrev.com/3692637e5fe9508374a4a42641adccbe48d24f4e/components/password_manager/core/browser/password_manager.h
[modify] https://crrev.com/3692637e5fe9508374a4a42641adccbe48d24f4e/tools/metrics/ukm/ukm.xml

Project Member

Comment 25 by bugdroid1@chromium.org, Aug 8

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/124d20060037a0679de09e56e7794f247e6499c1

commit 124d20060037a0679de09e56e7794f247e6499c1
Author: Vadym Doroshenko <dvadym@chromium.org>
Date: Wed Aug 08 16:32:45 2018

Change parameter in PasswordGenerationRequirements experiment.

This experiment is going to be launched with version=1. This CL updates
version param in testing finch to reflect this.

Bug: 846694
Change-Id: If5de8925dceb2481388082fe48099fe02767977d
Reviewed-on: https://chromium-review.googlesource.com/1167192
Commit-Queue: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581589}
[modify] https://crrev.com/124d20060037a0679de09e56e7794f247e6499c1/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 26 by bugdroid1@chromium.org, Aug 14

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d487ef0c64e2a0c5ce8ea2914c062d8483069688

commit d487ef0c64e2a0c5ce8ea2914c062d8483069688
Author: Dominic Battre <battre@chromium.org>
Date: Tue Aug 14 14:45:58 2018

Don't delay password requirements fetching after autofill responds

Chrome used to fetch password requirements specifications once the Autofill
server responded. This means that two network round trips were necessary until
the data was available.

With this change, the requirements are fetched every time the renderer reports
that password forms were found, which moves the lookup to an earlier point.

As this reporting can happen multiple times through the life-cycle of a site,
the CL also introduces an extra in-memory cache lookup that prevents further
processing if the requirements have been fetched already.

Bug: 873653, 846694
Change-Id: Id1bdd575fa659fcf05b40a937cb6aa00206e8965
Reviewed-on: https://chromium-review.googlesource.com/1172972
Reviewed-by: Vadym Doroshenko <dvadym@chromium.org>
Commit-Queue: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582912}
[modify] https://crrev.com/d487ef0c64e2a0c5ce8ea2914c062d8483069688/components/password_manager/core/browser/password_generation_manager.cc
[modify] https://crrev.com/d487ef0c64e2a0c5ce8ea2914c062d8483069688/components/password_manager/core/browser/password_generation_manager.h
[modify] https://crrev.com/d487ef0c64e2a0c5ce8ea2914c062d8483069688/components/password_manager/core/browser/password_generation_manager_unittest.cc
[modify] https://crrev.com/d487ef0c64e2a0c5ce8ea2914c062d8483069688/components/password_manager/core/browser/password_manager.cc
[modify] https://crrev.com/d487ef0c64e2a0c5ce8ea2914c062d8483069688/components/password_manager/core/browser/password_requirements_service.cc
[modify] https://crrev.com/d487ef0c64e2a0c5ce8ea2914c062d8483069688/components/password_manager/core/browser/password_requirements_service.h
[modify] https://crrev.com/d487ef0c64e2a0c5ce8ea2914c062d8483069688/components/password_manager/core/browser/password_requirements_service_unittest.cc

I'm wondering if we should remove the FIPS181 generator and the FIPS181 library, now that r566455 stopped using it in production?
Yes, we should remove it. I was about to file a Good-First-Bug, but then we would also delete password_generator_fips181_fuzzer.cc which could serve as a template for fuzzing the new generator. WDYT?
Thanks for the consideration!
Luckily, the fuzzer for the new generator was already written (https://crbug.com/847200#c13), so the old one can be removed.
Project Member

Comment 30 by bugdroid1@chromium.org, Sep 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f9f1d9cdbd2ad9ed243b967cfa14164d00709803

commit f9f1d9cdbd2ad9ed243b967cfa14164d00709803
Author: Vaclav Brozek <vabr@chromium.org>
Date: Thu Sep 20 11:14:58 2018

Amend comment for autofill::kDefaultPasswordLength

https://crrev.com/c/1230064 added a comment pointing out the
dependency between autofill::kDefaultPasswordLength and the autofill
server code. However, the detail was mostly given in the CL commit
message instead of the comment itself.

This CL attempts to bring more of the information into the comment to
spare going through "git blame" in the future.

Bug: 846694
Change-Id: I0db135e31da59a5c6bacba7c2de602a7581166b5
Reviewed-on: https://chromium-review.googlesource.com/1235574
Reviewed-by: Christos Froussios <cfroussios@chromium.org>
Commit-Queue: Vaclav Brozek <vabr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592754}
[modify] https://crrev.com/f9f1d9cdbd2ad9ed243b967cfa14164d00709803/components/autofill/core/browser/password_generator.cc

Project Member

Comment 31 by bugdroid1@chromium.org, Sep 24

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bc52dca3f85df70b5340f6f5e71ee810f24b569e

commit bc52dca3f85df70b5340f6f5e71ee810f24b569e
Author: Dominic Battre <battre@chromium.org>
Date: Mon Sep 24 17:25:24 2018

Change default parameters for password generation

This CL changes the default parameters for password generation so that we don't
need a configuration on the server unless anything changes. It also removes the
PasswordGenerationRequirements feature which was only implemented as an early
kill switch in case of crashes and is not necessary anymore.
PasswordGenerationRequirementsDomainOverrides remains as a feature that is
enabled by default in case some distribution wants to disable this feature that
talks to Google.

Bug: 846694
Change-Id: I32bd06ef908f16c189cd0fa2a376d490c6fe20d0
Reviewed-on: https://chromium-review.googlesource.com/1233740
Reviewed-by: Dominic Battré <battre@chromium.org>
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Commit-Queue: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593581}
[modify] https://crrev.com/bc52dca3f85df70b5340f6f5e71ee810f24b569e/components/password_manager/content/browser/password_requirements_service_factory.cc
[modify] https://crrev.com/bc52dca3f85df70b5340f6f5e71ee810f24b569e/components/password_manager/core/common/password_manager_features.cc
[modify] https://crrev.com/bc52dca3f85df70b5340f6f5e71ee810f24b569e/components/password_manager/core/common/password_manager_features.h
[modify] https://crrev.com/bc52dca3f85df70b5340f6f5e71ee810f24b569e/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 32 by bugdroid1@chromium.org, Oct 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b9b956df43b9b9316361abcf2b3e5b940bb7c9a8

commit b9b956df43b9b9316361abcf2b3e5b940bb7c9a8
Author: Dominic Battre <battre@chromium.org>
Date: Sun Oct 21 23:02:20 2018

Re-enable requirements fetching if browsing history is not synced

The privacy team considered the precondition to have browsing history syncing
enabled in order to fetch password requirements files as arbitrary as Google
cannot learn what sites you visit from the spec fetching (only a very short
hash prefix is sent, currently this has size 0). They asked to remove that
precondition, which is happening with this CL.

This is largely a revert of crrev.com/566756.

Bug: 846694
Change-Id: I65ad40758d81de7ba6ab816be8e874e561b06a8b
Reviewed-on: https://chromium-review.googlesource.com/c/1292051
Reviewed-by: Vaclav Brozek <vabr@chromium.org>
Commit-Queue: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601460}
[modify] https://crrev.com/b9b956df43b9b9316361abcf2b3e5b940bb7c9a8/chrome/browser/password_manager/chrome_password_manager_client.cc
[modify] https://crrev.com/b9b956df43b9b9316361abcf2b3e5b940bb7c9a8/chrome/browser/password_manager/chrome_password_manager_client.h
[modify] https://crrev.com/b9b956df43b9b9316361abcf2b3e5b940bb7c9a8/components/password_manager/core/browser/password_generation_manager.cc
[modify] https://crrev.com/b9b956df43b9b9316361abcf2b3e5b940bb7c9a8/components/password_manager/core/browser/password_generation_manager.h
[modify] https://crrev.com/b9b956df43b9b9316361abcf2b3e5b940bb7c9a8/components/password_manager/core/browser/password_generation_manager_unittest.cc
[modify] https://crrev.com/b9b956df43b9b9316361abcf2b3e5b940bb7c9a8/components/password_manager/core/browser/password_manager_client.cc
[modify] https://crrev.com/b9b956df43b9b9316361abcf2b3e5b940bb7c9a8/components/password_manager/core/browser/password_manager_client.h
[modify] https://crrev.com/b9b956df43b9b9316361abcf2b3e5b940bb7c9a8/components/password_manager/core/browser/password_manager_util.cc
[modify] https://crrev.com/b9b956df43b9b9316361abcf2b3e5b940bb7c9a8/components/password_manager/core/browser/password_manager_util.h
[modify] https://crrev.com/b9b956df43b9b9316361abcf2b3e5b940bb7c9a8/ios/chrome/browser/passwords/ios_chrome_password_manager_client.h
[modify] https://crrev.com/b9b956df43b9b9316361abcf2b3e5b940bb7c9a8/ios/chrome/browser/passwords/ios_chrome_password_manager_client.mm

Cc: maxwalker@chromium.org vabr@chromium.org kolos@chromium.org dvadym@chromium.org
 Issue 783099  has been merged into this issue.
Cc: -vabr@chromium.org
vabr going hobby only -> reducing involvement.
Please contact me directly in urgent matters.

Sign in to add a comment