New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 662300 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

getBoundingClientRect returns wrong values when going from 100% zoom to 200%zoom

Reported by vku...@etouch.net, Nov 4 2016

Issue description

Chrome Version: 56.0.2909.0 (Official Build) 57c0a6fdc6a530bcb43f6657a8cf708752adca66-refs/heads/master@{#429737} (32/64 Bit)
OS:Windows (7,8,10)


What steps will reproduce the problem?
(1)Launch chrome and navigate to chrome://md-settings/autofill
(2)Click on 'add address' ,enter any data and click on save button.
(3)Click iron icon to open list,zoom in the page to 200 % 
(4)Now again click on iron icon to open list,observe.

Actual: After clicking on iron icon list appears to be misplaced.(i.e after step 2 & 3)

Expected: After clicking on iron icon list should be properly displayed.

This is a regression issue broken in 'M56' and will soon update other info.

 

Comment 1 by vku...@etouch.net, Nov 4 2016

Labels: -Pri-1 OS-Linux OS-Mac Pri-2
Manual regression range:
Good Build: 56.0.2900.0 
Bad Build:  56.0.2901.4 
Actual_List.mp4
429 KB View Download
Expected_List.mp4
438 KB View Download
Labels: hasbisect-per-revision
Owner: dpa...@chromium.org
Status: Assigned (was: Unconfirmed)
Using the per-revision bisect providing the bisect results,
Good build: 56.0.2900.0 (Revision: 427219).
Bad build: 56.0.2901.4 (Revision: 427541).

You are probably looking for a change made after 427247 (known good), but no later than 427248 (first known bad).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/51e832338dfaeedf418778541a10003fd1feef8b..9811dce8931bffbbdc9ae70e8e362491c3de4157

@dpapad -- Could you please look into the issue, pardon me if it has nothing to do with your changes and if possible please assign it to concern owner.
Thank You.
Labels: Proj-MaterialDesign-WebUI
Labels: -Pri-2 Pri-3
I am able to reproduce this, only when going up to 200%. Also closing the wrongly positioned menu and re-opening it makes it show in the correct location. Guessing it could be a blink bug, but not sure yet. Either way I think it is a P3.
Cc: dbeam@chromium.org
Components: Blink
I confirmed that this is a Blink bug. getBoundingClientRect() is returning wrong values (specifically for 'left') when the zoom level gets to 200% (see screencast for repro).
get_client_rect.mp4
739 KB View Download
Labels: -Pri-3 Pri-2
Summary: getBoundingClientRect returns wrong values when going from 100% zoom to 200%zoom (was: Regression:After clicking on iron icon list appears to be misplaced in chrome://md-settings/autofill)
Components: -Blink Blink>Layout
Cc: dpa...@chromium.org
Owner: ----
Status: Available (was: Assigned)
Un-assigning myself so that someone from the Blink team can pick this up.
Just to update:

Still able to reproduce the issue on mac 10.11.6 chrome version 57.0.2931.0

Could someone from blink team take a look please

Comment 11 by dbeam@chromium.org, Nov 29 2016

Cc: esprehn@chromium.org

Comment 12 by e...@chromium.org, Jan 6 2017

Status: Untriaged (was: Available)
FYI: Please do *not* assign bugs when switching components, that sidesteps the triage process and greatly increases the delay before anyone sees the bug.

Comment 13 by e...@chromium.org, Jan 6 2017

Status: WontFix (was: Untriaged)
When zooming in when the menu is open the menu element is not repositioned but instead hidden but remains in the DOM, it is then re-shown before being repositioned when clicking the three-dot-icon again trigger overflow and in turn scrolling which affects the metrics return by getBoundingClientRect.

This is a bug in the application, not in Chrome.
Always position *before* showing elements to avoid overflow, focus issues and problems like this.

> Always position *before* showing elements to avoid overflow

Can you elaborate a bit on this? The logic in question is at https://cs.chromium.org/chromium/src/ui/webui/resources/cr_elements/cr_action_menu/cr_action_menu.js?q=cr_action_menu.js&sq=package:chromium&dr&l=133,137, where I have to call showModal() on the dialog first, so that I can then use offsetWidth and offsetHeight to position it exactly where it needs to be (otherwise offsetWidth/offsetheight are not populated yet).

Sign in to add a comment