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

Issue 1526263003: Position autofill popup widgets correctly under --site-per-process (Closed)

Created:
5 years ago by kenrb
Modified:
4 years, 11 months ago
CC:
chromium-reviews, creis+watch_chromium.org, yusukes+watch_chromium.org, nona+watch_chromium.org, rouslan+autofill_chromium.org, jam, nasko+codewatch_chromium.org, browser-components-watch_chromium.org, jdonnelly+autofillwatch_chromium.org, bondd+autofillwatch_chromium.org, darin-cc_chromium.org, shuchen+watch_chromium.org, vabr+watchlistautofill_chromium.org, estade+watch_chromium.org, James Su, site-isolation-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Position autofill popup widgets correctly under --site-per-process When a AutofillHostMsg_QueryFormFieldAutofill message is sent from an out-of-process iframe, its screen coordinates are relative to the subframe's rect and not the top-level frame's viewport. This CL exposes a facility in the content API to perform the necessary transformation, particularly: - it promotes GetView() from RenderFrameHostImpl to RenderFrameHost, so the RenderWidgetHostView becomes available to the embedder, and - it promotes TransformPointToRootCoordSpace from RenderWidgetHostViewBase to RenderWidgetHostView, so that chrome/ or components/ code that directly receives coordinates from a renderer process can ensure they properly transformed Finally, it causes the ContentAutofillDriver to use the exposed methods to transform received autofill popup coordinates in order for them to display in the correct position. BUG=554119 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/015b5b5829406934f9863c73f931815ae5007e8f Cr-Commit-Position: refs/heads/master@{#371519}

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Bug fix #

Patch Set 4 : Better bug fix #

Patch Set 5 : Fix Bling breakage #

Patch Set 6 : Another fix, + rebase #

Patch Set 7 : Mo IOS fixin #

Total comments: 26

Patch Set 8 : Review comments addressed #

Total comments: 3

Patch Set 9 : Rebase to fix merge conflicts #

Patch Set 10 : Fixed merge error #

Patch Set 11 : Fixed incorrect cast #

Unified diffs Side-by-side diffs Delta from patch set Stats (+96 lines, -37 lines) Patch
M components/autofill/content/browser/content_autofill_driver.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M components/autofill/content/browser/content_autofill_driver.cc View 1 2 3 4 5 6 7 2 chunks +15 lines, -0 lines 0 comments Download
M components/autofill/core/browser/autofill_driver.h View 1 2 3 4 5 6 7 2 chunks +10 lines, -0 lines 0 comments Download
M components/autofill/core/browser/autofill_manager.cc View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -1 line 0 comments Download
M components/autofill/core/browser/test_autofill_driver.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M components/autofill/core/browser/test_autofill_driver.cc View 1 2 3 4 5 6 7 2 chunks +6 lines, -0 lines 0 comments Download
M components/autofill/ios/browser/autofill_driver_ios.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M components/autofill/ios/browser/autofill_driver_ios.mm View 1 2 3 4 5 6 7 2 chunks +6 lines, -0 lines 0 comments Download
M content/browser/frame_host/cross_process_frame_connector.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -3 lines 0 comments Download
M content/browser/frame_host/cross_process_frame_connector.cc View 1 2 3 4 5 6 7 1 chunk +5 lines, -5 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.h View 1 2 3 4 5 6 7 8 2 chunks +1 line, -3 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -3 lines 0 comments Download
M content/browser/frame_host/render_widget_host_view_child_frame.h View 1 2 3 4 5 6 7 1 chunk +1 line, -2 lines 0 comments Download
M content/browser/frame_host/render_widget_host_view_child_frame.cc View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -7 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_base.h View 1 2 3 4 5 6 7 2 chunks +6 lines, -9 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_base.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +10 lines, -4 lines 0 comments Download
M content/public/browser/render_frame_host.h View 1 2 3 4 5 6 7 8 9 2 chunks +5 lines, -0 lines 0 comments Download
M content/public/browser/render_widget_host_view.h View 1 2 3 4 5 6 7 1 chunk +13 lines, -0 lines 0 comments Download

Messages

Total messages: 21 (8 generated)
kenrb
PTAL? - Ilya for components/autofill and the autofill driver - Charlie for content/, in particular ...
4 years, 11 months ago (2016-01-20 21:38:43 UTC) #3
Ilya Sherman
Thanks for the CL! https://codereview.chromium.org/1526263003/diff/120001/components/autofill/content/browser/content_autofill_driver.cc File components/autofill/content/browser/content_autofill_driver.cc (right): https://codereview.chromium.org/1526263003/diff/120001/components/autofill/content/browser/content_autofill_driver.cc#newcode157 components/autofill/content/browser/content_autofill_driver.cc:157: orig_point, &transformed_point); On 2016/01/20 21:38:43, ...
4 years, 11 months ago (2016-01-20 23:12:15 UTC) #4
Charlie Reis
Mostly nits, with one sanity check question about the API. https://codereview.chromium.org/1526263003/diff/120001/components/autofill/core/browser/test_autofill_driver.cc File components/autofill/core/browser/test_autofill_driver.cc (right): https://codereview.chromium.org/1526263003/diff/120001/components/autofill/core/browser/test_autofill_driver.cc#newcode75 ...
4 years, 11 months ago (2016-01-21 00:33:03 UTC) #5
kenrb
Thanks for the reviews. Updated... PTAL? https://codereview.chromium.org/1526263003/diff/120001/components/autofill/content/browser/content_autofill_driver.cc File components/autofill/content/browser/content_autofill_driver.cc (right): https://codereview.chromium.org/1526263003/diff/120001/components/autofill/content/browser/content_autofill_driver.cc#newcode157 components/autofill/content/browser/content_autofill_driver.cc:157: orig_point, &transformed_point); On ...
4 years, 11 months ago (2016-01-22 18:33:59 UTC) #7
Charlie Reis
content/ LGTM once the cast is fixed. https://codereview.chromium.org/1526263003/diff/120001/components/autofill/core/browser/test_autofill_driver.cc File components/autofill/core/browser/test_autofill_driver.cc (right): https://codereview.chromium.org/1526263003/diff/120001/components/autofill/core/browser/test_autofill_driver.cc#newcode75 components/autofill/core/browser/test_autofill_driver.cc:75: gfx::RectF TestAutofillDriver::TransformBoundingBox( ...
4 years, 11 months ago (2016-01-22 23:04:54 UTC) #8
Ilya Sherman
autofill LGTM -- thanks
4 years, 11 months ago (2016-01-23 01:06:12 UTC) #9
kenrb
https://codereview.chromium.org/1526263003/diff/140001/content/browser/renderer_host/render_widget_host_view_base.cc File content/browser/renderer_host/render_widget_host_view_base.cc (right): https://codereview.chromium.org/1526263003/diff/140001/content/browser/renderer_host/render_widget_host_view_base.cc#newcode693 content/browser/renderer_host/render_widget_host_view_base.cc:693: return (gfx::PointF)TransformPointToRootCoordSpace( On 2016/01/22 23:04:54, Charlie Reis wrote: > ...
4 years, 11 months ago (2016-01-25 22:41:40 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1526263003/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1526263003/200001
4 years, 11 months ago (2016-01-25 22:44:31 UTC) #12
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 11 months ago (2016-01-26 00:09:23 UTC) #14
Charlie Reis
https://codereview.chromium.org/1526263003/diff/140001/content/browser/renderer_host/render_widget_host_view_base.cc File content/browser/renderer_host/render_widget_host_view_base.cc (right): https://codereview.chromium.org/1526263003/diff/140001/content/browser/renderer_host/render_widget_host_view_base.cc#newcode693 content/browser/renderer_host/render_widget_host_view_base.cc:693: return (gfx::PointF)TransformPointToRootCoordSpace( On 2016/01/25 22:41:40, kenrb wrote: > On ...
4 years, 11 months ago (2016-01-26 04:51:24 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1526263003/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1526263003/200001
4 years, 11 months ago (2016-01-26 15:53:06 UTC) #18
commit-bot: I haz the power
Committed patchset #11 (id:200001)
4 years, 11 months ago (2016-01-26 15:58:05 UTC) #19
commit-bot: I haz the power
4 years, 11 months ago (2016-01-26 15:59:24 UTC) #21
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/015b5b5829406934f9863c73f931815ae5007e8f
Cr-Commit-Position: refs/heads/master@{#371519}

Powered by Google App Engine
This is Rietveld 408576698