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

Issue 2762233004: Fix autofill popup controller key press callback registration (Closed)

Created:
3 years, 9 months ago by vabr (Chromium)
Modified:
3 years, 8 months ago
Reviewers:
Mathieu, EhsanK, kenrb
CC:
chromium-reviews, rouslan+autofill_chromium.org, rogerm+autofillwatch_chromium.org, sebsg+autofillwatch_chromium.org, mathp+autofillwatch_chromium.org, vabr+watchlistautofill_chromium.org, estade+watch_chromium.org, site-isolation-reviews_chromium.org, kenrb, lfg
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix autofill popup controller key press callback registration Currently, PopupControllerCommon::RegisterKeyPressCallback registers its key press handler via RenderView. This results in broken key handling with site isolation. The fix is to use the focused RenderFrame itself. BUG=688848 Review-Url: https://codereview.chromium.org/2762233004 Cr-Commit-Position: refs/heads/master@{#462381} Committed: https://chromium.googlesource.com/chromium/src/+/6d61e0d262cc02641e963c1fc4fccd374555fad7

Patch Set 1 #

Patch Set 2 : Now with test #

Patch Set 3 : Remove unused fwd decl #

Patch Set 4 : Handle tabs with no focused frame #

Patch Set 5 : Handle null RenderWidgetHostView gracefully #

Total comments: 8

Patch Set 6 : Just rebased #

Patch Set 7 : Address comments #

Total comments: 3

Patch Set 8 : WIP, KeyPressHandlerManager is a TODO #

Patch Set 9 : WIP: No KeyPressHandlerManager test, no compilation #

Patch Set 10 : WIP: No KeyPressHandlerManager test, but compiles #

Patch Set 11 : WIP: unittest ready, but browsertest failures not addressed #

Patch Set 12 : Fixed browsertests #

Total comments: 6

Patch Set 13 : Fix typo #

Unified diffs Side-by-side diffs Delta from patch set Stats (+438 lines, -142 lines) Patch
M chrome/browser/autofill/autofill_interactive_uitest.cc View 1 2 3 4 5 6 6 chunks +88 lines, -7 lines 0 comments Download
M chrome/browser/ui/autofill/autofill_popup_controller_impl.h View 1 2 3 4 5 6 7 8 9 3 chunks +6 lines, -3 lines 0 comments Download
M chrome/browser/ui/autofill/autofill_popup_controller_impl.cc View 1 2 3 4 5 6 7 8 9 6 chunks +15 lines, -19 lines 0 comments Download
M chrome/browser/ui/autofill/password_generation_popup_controller_impl.h View 1 2 3 4 5 6 7 8 9 3 chunks +4 lines, -7 lines 0 comments Download
M chrome/browser/ui/autofill/password_generation_popup_controller_impl.cc View 1 2 3 4 5 6 7 8 9 8 chunks +15 lines, -16 lines 0 comments Download
M chrome/browser/ui/autofill/password_generation_popup_view_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +5 lines, -1 line 0 comments Download
M chrome/browser/ui/autofill/popup_controller_common.h View 1 2 3 4 5 6 7 1 chunk +8 lines, -50 lines 0 comments Download
M chrome/browser/ui/autofill/popup_controller_common.cc View 1 2 3 4 5 6 7 8 9 1 chunk +5 lines, -35 lines 0 comments Download
A chrome/test/data/autofill/cross_origin_iframe.html View 1 1 chunk +11 lines, -0 lines 0 comments Download
M components/autofill/content/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 2 chunks +3 lines, -0 lines 0 comments Download
M components/autofill/content/browser/content_autofill_driver.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +16 lines, -1 line 0 comments Download
M components/autofill/content/browser/content_autofill_driver.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +27 lines, -0 lines 0 comments Download
A components/autofill/content/browser/key_press_handler_manager.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +47 lines, -0 lines 0 comments Download
A components/autofill/content/browser/key_press_handler_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +37 lines, -0 lines 0 comments Download
A components/autofill/content/browser/key_press_handler_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +113 lines, -0 lines 0 comments Download
M components/autofill/core/browser/autofill_external_delegate.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M components/autofill/core/browser/autofill_external_delegate.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M components/autofill/core/browser/autofill_popup_delegate.h View 1 2 3 4 5 6 7 8 9 2 chunks +5 lines, -0 lines 0 comments Download
M components/password_manager/content/browser/content_password_manager_driver.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M components/password_manager/content/browser/content_password_manager_driver.cc View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M components/password_manager/core/browser/password_autofill_manager.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M components/password_manager/core/browser/password_autofill_manager.cc View 1 2 3 4 5 6 7 8 9 3 chunks +6 lines, -3 lines 0 comments Download
M components/password_manager/core/browser/password_manager_driver.h View 1 2 3 4 5 6 7 8 9 2 chunks +4 lines, -0 lines 0 comments Download
M components/password_manager/core/browser/stub_password_manager_driver.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M components/password_manager/core/browser/stub_password_manager_driver.cc View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download
M ios/chrome/browser/passwords/ios_chrome_password_manager_driver.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M ios/chrome/browser/passwords/ios_chrome_password_manager_driver.mm View 1 2 3 4 5 6 7 8 9 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 51 (35 generated)
vabr (Chromium)
Hi all! mathp@ -- Could you please review this as the code owner? ekaramad@ -- ...
3 years, 9 months ago (2017-03-25 17:41:28 UTC) #19
Mathieu
Thanks Vaclav, very cool tests! One question https://codereview.chromium.org/2762233004/diff/80001/chrome/browser/autofill/autofill_interactive_uitest.cc File chrome/browser/autofill/autofill_interactive_uitest.cc (right): https://codereview.chromium.org/2762233004/diff/80001/chrome/browser/autofill/autofill_interactive_uitest.cc#newcode1799 chrome/browser/autofill/autofill_interactive_uitest.cc:1799: // Focuss ...
3 years, 9 months ago (2017-03-26 02:03:51 UTC) #20
vabr (Chromium)
Thanks, Mathieu! https://codereview.chromium.org/2762233004/diff/80001/chrome/browser/autofill/autofill_interactive_uitest.cc File chrome/browser/autofill/autofill_interactive_uitest.cc (right): https://codereview.chromium.org/2762233004/diff/80001/chrome/browser/autofill/autofill_interactive_uitest.cc#newcode1799 chrome/browser/autofill/autofill_interactive_uitest.cc:1799: // Focuss the form in the iframe ...
3 years, 9 months ago (2017-03-26 03:25:40 UTC) #23
Mathieu
lgtm
3 years, 9 months ago (2017-03-26 13:01:01 UTC) #26
kenrb
I've had a look from an OOPIF perspective, and lgtm. The one thing that I ...
3 years, 8 months ago (2017-03-27 19:07:40 UTC) #28
EhsanK
LGTM but there seems to be a minor bug with frame focus + setting and ...
3 years, 8 months ago (2017-03-27 19:35:09 UTC) #29
vabr (Chromium)
Thanks for the detailed review! I am not sure about the guarantees on the order ...
3 years, 8 months ago (2017-03-27 20:28:53 UTC) #30
vabr (Chromium)
So I do see a way to scope the PopupControllerCommon instance to a frame/driver: the ...
3 years, 8 months ago (2017-03-27 20:44:59 UTC) #31
EhsanK
On 2017/03/27 20:28:53, vabr (Chromium) wrote: > Thanks for the detailed review! > > I ...
3 years, 8 months ago (2017-03-27 21:25:21 UTC) #32
vabr (Chromium)
Just a clarification -- patch 8 is a new approach (more details on the bug), ...
3 years, 8 months ago (2017-04-05 09:03:40 UTC) #33
vabr (Chromium)
Hi all, Thanks for your patience, the CL is now redone. The autofill_interactive_uitest.cc and cross_origin_iframe.html ...
3 years, 8 months ago (2017-04-05 14:53:34 UTC) #40
EhsanK
Thanks Vaclav! LGTM. https://codereview.chromium.org/2762233004/diff/220001/components/autofill/content/browser/content_autofill_driver.cc File components/autofill/content/browser/content_autofill_driver.cc (right): https://codereview.chromium.org/2762233004/diff/220001/components/autofill/content/browser/content_autofill_driver.cc#newcode272 components/autofill/content/browser/content_autofill_driver.cc:272: void ContentAutofillDriver::RegisterKeyPressHandler( I believe this is ...
3 years, 8 months ago (2017-04-05 17:21:53 UTC) #43
Mathieu
Good job, Vaclav! lgtm https://codereview.chromium.org/2762233004/diff/220001/components/autofill/content/browser/key_press_handler_manager.cc File components/autofill/content/browser/key_press_handler_manager.cc (right): https://codereview.chromium.org/2762233004/diff/220001/components/autofill/content/browser/key_press_handler_manager.cc#newcode17 components/autofill/content/browser/key_press_handler_manager.cc:17: // same function with the ...
3 years, 8 months ago (2017-04-05 18:58:21 UTC) #44
vabr (Chromium)
Thanks for the quick reviews! I am sending to the CQ now. Cheers, Vaclav https://codereview.chromium.org/2762233004/diff/220001/components/autofill/content/browser/content_autofill_driver.cc ...
3 years, 8 months ago (2017-04-06 05:39:59 UTC) #45
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/2762233004/240001
3 years, 8 months ago (2017-04-06 05:40:18 UTC) #48
commit-bot: I haz the power
3 years, 8 months ago (2017-04-06 07:07:53 UTC) #51
Message was sent while issue was closed.
Committed patchset #13 (id:240001) as
https://chromium.googlesource.com/chromium/src/+/6d61e0d262cc02641e963c1fc4fc...

Powered by Google App Engine
This is Rietveld 408576698