Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(161)

Issue 2878463003: Introduce SuppressedHTTPSFormFetcher. (Closed)

Created:
3 years, 7 months ago by engedy
Modified:
3 years, 7 months ago
Reviewers:
kolos1, dvadym
CC:
chromium-reviews, gcasto+watchlist_chromium.org, vabr+watchlistpasswordmanager_chromium.org, asvitkine+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Introduce SuppressedHTTPSFormFetcher. SuppressedHTTPSFormFetcher is a helper used by FormFetcherImpl to fetch credentials stored for the HTTPS counterpart of a non-secure (i.e HTTP) origin, when the FormFetcherImpl itself is created for an HTTP origin. The suppressed forms are fetched asynchronously, without blocking Consumer::ProcessMatches. This data will be used to measure how often HTTPS credentials cannot be filled on HTTP sites. When no matching HTTP credentials exist for a non-secure origin, but there are suppressed HTTPS credentials, that could indicate a premature `move-to-HTTPS` migration, or simply that the site serves its sign-up or some of its sign-in forms over HTTPS, while others still over HTTP. BUG=720599 Review-Url: https://codereview.chromium.org/2878463003 Cr-Commit-Position: refs/heads/master@{#473725} Committed: https://chromium.googlesource.com/chromium/src/+/70cb0b5541ede847097e9b0ce639f9b382e12d1a

Patch Set 1 #

Patch Set 2 : Polish. #

Total comments: 6

Patch Set 3 : Rebase. #

Patch Set 4 : Rebase. #

Patch Set 5 : Make histogram more detailed, add generated/manual suffixes. #

Total comments: 6

Patch Set 6 : Refactored FormFetcher API, added almost all tests. #

Patch Set 7 : Addressed comments. #

Patch Set 8 : Part 1 of 2. #

Patch Set 9 : Polish, test for simultaneous behavior. #

Total comments: 5

Patch Set 10 : Split tests into bite-sized chunks. #

Patch Set 11 : Polish. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+601 lines, -20 lines) Patch
M components/password_manager/content/browser/credential_manager_impl.cc View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -2 lines 0 comments Download
M components/password_manager/core/browser/BUILD.gn View 1 2 3 4 5 2 chunks +3 lines, -0 lines 0 comments Download
M components/password_manager/core/browser/fake_form_fetcher.h View 1 2 3 4 5 6 7 8 2 chunks +17 lines, -0 lines 0 comments Download
M components/password_manager/core/browser/fake_form_fetcher.cc View 1 2 3 4 5 6 7 8 1 chunk +9 lines, -0 lines 0 comments Download
M components/password_manager/core/browser/form_fetcher.h View 1 2 3 4 5 6 7 8 1 chunk +17 lines, -0 lines 0 comments Download
M components/password_manager/core/browser/form_fetcher_impl.h View 1 2 3 4 5 6 7 8 6 chunks +30 lines, -2 lines 0 comments Download
M components/password_manager/core/browser/form_fetcher_impl.cc View 1 2 3 4 5 6 7 8 5 chunks +37 lines, -3 lines 0 comments Download
M components/password_manager/core/browser/form_fetcher_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 10 chunks +220 lines, -7 lines 0 comments Download
M components/password_manager/core/browser/password_form_manager.cc View 1 2 3 4 5 6 7 1 chunk +7 lines, -6 lines 0 comments Download
A components/password_manager/core/browser/suppressed_https_form_fetcher.h View 1 2 3 4 5 6 7 8 1 chunk +62 lines, -0 lines 0 comments Download
A components/password_manager/core/browser/suppressed_https_form_fetcher.cc View 1 2 3 4 5 6 7 8 1 chunk +47 lines, -0 lines 0 comments Download
A components/password_manager/core/browser/suppressed_https_form_fetcher_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +148 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 37 (19 generated)
engedy
Maxim, Vadym, please take an initial look at the overall approach. Recording just impressions seems ...
3 years, 7 months ago (2017-05-10 19:50:35 UTC) #3
engedy
> Recording just impressions seems not all that useful in itself, because without > a ...
3 years, 7 months ago (2017-05-10 19:51:27 UTC) #4
engedy
Also, I'll probably need to do some refactoring to test this properly, so tests are ...
3 years, 7 months ago (2017-05-10 19:52:24 UTC) #5
dvadym
Thanks Balazs, it looks great! Yeah, it's a little bit complicated, but having more dimensions ...
3 years, 7 months ago (2017-05-11 11:59:07 UTC) #6
engedy
> I would prefer to know not only about not filling HTTPS credentials into HTTP ...
3 years, 7 months ago (2017-05-11 12:53:05 UTC) #7
kolos1
On 2017/05/11 12:53:05, engedy wrote: > > I would prefer to know not only about ...
3 years, 7 months ago (2017-05-12 14:08:30 UTC) #8
kolos1
https://codereview.chromium.org/2878463003/diff/20001/components/password_manager/core/browser/password_form_manager.cc File components/password_manager/core/browser/password_form_manager.cc (right): https://codereview.chromium.org/2878463003/diff/20001/components/password_manager/core/browser/password_form_manager.cc#newcode312 components/password_manager/core/browser/password_form_manager.cc:312: if (https_near_matches_.has_value() && !https_near_matches_->empty()) Have some questions about this ...
3 years, 7 months ago (2017-05-15 08:27:29 UTC) #9
engedy
This CL now distinguishes between generated/manual passwords, and adds a few more dimensions. PTAL while ...
3 years, 7 months ago (2017-05-19 13:22:08 UTC) #12
kolos1
Thanks Balazs. LGTM with few comments. Looking forward to review tests. Please also test the ...
3 years, 7 months ago (2017-05-19 14:45:03 UTC) #13
engedy
Actually, this has grown significantly thanks to the tests, let me split this into two. ...
3 years, 7 months ago (2017-05-22 08:19:10 UTC) #18
engedy
Maxim, Vadym, please take a final look.
3 years, 7 months ago (2017-05-22 09:37:47 UTC) #20
dvadym
LGTM, thanks! https://codereview.chromium.org/2878463003/diff/200001/components/password_manager/core/browser/suppressed_https_form_fetcher.cc File components/password_manager/core/browser/suppressed_https_form_fetcher.cc (right): https://codereview.chromium.org/2878463003/diff/200001/components/password_manager/core/browser/suppressed_https_form_fetcher.cc#newcode41 components/password_manager/core/browser/suppressed_https_form_fetcher.cc:41: return form->is_public_suffix_match || form->is_affiliation_based_match; Just wondering, why ...
3 years, 7 months ago (2017-05-22 09:58:50 UTC) #25
engedy
https://codereview.chromium.org/2878463003/diff/200001/components/password_manager/core/browser/suppressed_https_form_fetcher.cc File components/password_manager/core/browser/suppressed_https_form_fetcher.cc (right): https://codereview.chromium.org/2878463003/diff/200001/components/password_manager/core/browser/suppressed_https_form_fetcher.cc#newcode41 components/password_manager/core/browser/suppressed_https_form_fetcher.cc:41: return form->is_public_suffix_match || form->is_affiliation_based_match; On 2017/05/22 09:58:50, dvadym wrote: ...
3 years, 7 months ago (2017-05-22 10:32:28 UTC) #26
kolos1
LGTM https://codereview.chromium.org/2878463003/diff/200001/components/password_manager/core/browser/form_fetcher_impl_unittest.cc File components/password_manager/core/browser/form_fetcher_impl_unittest.cc (right): https://codereview.chromium.org/2878463003/diff/200001/components/password_manager/core/browser/form_fetcher_impl_unittest.cc#newcode599 components/password_manager/core/browser/form_fetcher_impl_unittest.cc:599: Could we split this test into 3 test?
3 years, 7 months ago (2017-05-22 12:35:07 UTC) #29
dvadym
Still LGTM https://codereview.chromium.org/2878463003/diff/200001/components/password_manager/core/browser/suppressed_https_form_fetcher.cc File components/password_manager/core/browser/suppressed_https_form_fetcher.cc (right): https://codereview.chromium.org/2878463003/diff/200001/components/password_manager/core/browser/suppressed_https_form_fetcher.cc#newcode41 components/password_manager/core/browser/suppressed_https_form_fetcher.cc:41: return form->is_public_suffix_match || form->is_affiliation_based_match; On 2017/05/22 10:32:28, ...
3 years, 7 months ago (2017-05-22 12:42:26 UTC) #30
engedy
https://codereview.chromium.org/2878463003/diff/200001/components/password_manager/core/browser/form_fetcher_impl_unittest.cc File components/password_manager/core/browser/form_fetcher_impl_unittest.cc (right): https://codereview.chromium.org/2878463003/diff/200001/components/password_manager/core/browser/form_fetcher_impl_unittest.cc#newcode599 components/password_manager/core/browser/form_fetcher_impl_unittest.cc:599: On 2017/05/22 12:35:07, kolos1 wrote: > Could we split ...
3 years, 7 months ago (2017-05-22 20:20:19 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2878463003/240001
3 years, 7 months ago (2017-05-22 20:21:03 UTC) #34
commit-bot: I haz the power
3 years, 7 months ago (2017-05-22 22:23:34 UTC) #37
Message was sent while issue was closed.
Committed patchset #11 (id:240001) as
https://chromium.googlesource.com/chromium/src/+/70cb0b5541ede847097e9b0ce639...

Powered by Google App Engine
This is Rietveld 408576698