New issue
Advanced search Search tips

Issue 646397 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Relative positioned element with top set to 50% not rendered in correct place

Reported by richard....@gmail.com, Sep 13 2016

Issue description

Chrome Version       : 53.0.2785.101 m (64-bit)
URLs (if applicable) :
Other browsers tested:
  Add OK or FAIL, along with the version, after other browsers where you
have tested this issue:
     Safari:
    Firefox: OK
         IE: OK
    Chrome 52: OK


What steps will reproduce the problem?
(1)Run the attached test.html test file

What is the expected result?
The label element should appear vertically centred within the container element. (50% from the top)


What happens instead?
The element is rendered outside the container element. It appears to be rendered at 50% from the top of the document, not the container.

This code worked fine on Chrome up to version 53. This code still works as expected on IE and Firefox


Please provide any additional information below. Attach a screenshot if
possible.

Screen shots are attached of the various browsers.
 
test.html
830 bytes View Download
Firefox.PNG
171 KB View Download
IE11.PNG
39.7 KB View Download
chrome53.PNG
15.1 KB View Download

Comment 1 by ajha@chromium.org, Sep 15 2016

Cc: gov...@chromium.org ajha@chromium.org
Components: Blink>Layout
Labels: -Type-Bug -Pri-3 hasbisect-per-revison M-53 OS-Linux OS-Mac OS-Windows Pri-1 Type-Bug-Regression
Owner: cbiesin...@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on the latest canary(55.0.2861.0), beta(54.0.2840.27) and the latest stable(53.0.2785.116) on Windows-7, Mac OS 10.11.6 and Linux Ubuntu 14.04.

M-52(52.0.2743.82) shows the label element inside the box(screenshot attached) hence considering that as Good behavior, bisected this on Linux.

Last good build: 53.0.2769.0
First bad build: 53.0.2770.0

Changelog:
=========
https://chromium.googlesource.com/chromium/src/+log/95d55a4f8ca7f2088cd31cba4b0cba2643e94f84..aaffb0ea84732045f9151c5ce7c43d92bf0c5f35

cbiesinger@: Could you please take a look at this.

Thank you!
M_52_646397.png
56.1 KB View Download

Comment 2 by ajha@chromium.org, Sep 15 2016

Labels: ReleaseBlock-Stable
Marking this as stable blocker for M-53 in case there is any stable refresh. Feel free to adjust the blocker label if this should not be blocking for M-53.
Labels: -M-53 M-54
As we have no reports of real websites being broken, I would not block the 53 rollout on this. I'll investigate today for a fix in 54.
Not sure what you mean by "real websites". We have a web application that is now unusable on this build of Chrome. We are now having to rush out a patch release to all our clients. 
A prompt fixing of this issue would be very much appreciated.
M54 Stable release is scheduled for the first week of OCT, please have the fix baked/verified in canary and request a merge to M54 ASAP.
Hm, that would've been good to know. But even so -- I am close to a fix for this issue, but it is a bit risky for landing it on a branch immediately before release, and it sounds like you have a workaround. So, I'll just fix for M54 as mentioned in comment 5.

In the future, I would suggest testing your websites in Chrome Beta / Canary so you can find bugs earlier
Project Member

Comment 8 by bugdroid1@chromium.org, Sep 16 2016

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

commit 95c34ae1ef40f8aff3f8c718dcdbdeb65d8431ae
Author: cbiesinger <cbiesinger@chromium.org>
Date: Fri Sep 16 20:31:01 2016

availableLogicalHeightUsing needs to take flexbox stretched heights into account

This function is used to calculate percentage positions for relative-
positioned boxes in LayoutBoxModelObject::relativePositionOffset and thus needs
to check childLogicalHeightForPercentageResolution.

BUG= 646397 
R=eae@chromium.org,dgrogan@chromium.org

Review-Url: https://codereview.chromium.org/2349803002
Cr-Commit-Position: refs/heads/master@{#419271}

[add] https://crrev.com/95c34ae1ef40f8aff3f8c718dcdbdeb65d8431ae/third_party/WebKit/LayoutTests/css3/flexbox/relpos-with-percentage-top.html
[modify] https://crrev.com/95c34ae1ef40f8aff3f8c718dcdbdeb65d8431ae/third_party/WebKit/Source/core/layout/LayoutBox.cpp

Labels: Merge-Request-54
Status: Fixed (was: Assigned)

Comment 10 by dimu@chromium.org, Sep 17 2016

Labels: -Merge-Request-54 Merge-Approved-54 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M54 (branch: 2840)
Project Member

Comment 11 by bugdroid1@chromium.org, Sep 19 2016

Labels: -merge-approved-54 merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b24eb40e25e1aa31444c99b2915cd9eea641d71d

commit b24eb40e25e1aa31444c99b2915cd9eea641d71d
Author: Christian Biesinger <cbiesinger@chromium.org>
Date: Mon Sep 19 14:55:46 2016

availableLogicalHeightUsing needs to take flexbox stretched heights into account

This function is used to calculate percentage positions for relative-
positioned boxes in LayoutBoxModelObject::relativePositionOffset and thus needs
to check childLogicalHeightForPercentageResolution.

BUG= 646397 
R=eae@chromium.org,dgrogan@chromium.org

Review-Url: https://codereview.chromium.org/2349803002
Cr-Commit-Position: refs/heads/master@{#419271}
(cherry picked from commit 95c34ae1ef40f8aff3f8c718dcdbdeb65d8431ae)

Review URL: https://codereview.chromium.org/2355473002 .

Cr-Commit-Position: refs/branch-heads/2840@{#409}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[add] https://crrev.com/b24eb40e25e1aa31444c99b2915cd9eea641d71d/third_party/WebKit/LayoutTests/css3/flexbox/relpos-with-percentage-top.html
[modify] https://crrev.com/b24eb40e25e1aa31444c99b2915cd9eea641d71d/third_party/WebKit/Source/core/layout/LayoutBox.cpp

Comment 12 by ajha@chromium.org, Sep 21 2016

Labels: TE-Verified-54.0.2840.34 TE-Verified-M54
Verified the merge on the latest M-54(54.0.2840.34) on Windows-10, Mac OS 10.11.6 and Linux Ubuntu 14.04. This is working as intended. Attached is the screen-shot of the same.
646397.png
74.8 KB View Download
Project Member

Comment 13 by bugdroid1@chromium.org, Oct 27 2016

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

commit b24eb40e25e1aa31444c99b2915cd9eea641d71d
Author: Christian Biesinger <cbiesinger@chromium.org>
Date: Mon Sep 19 14:55:46 2016

availableLogicalHeightUsing needs to take flexbox stretched heights into account

This function is used to calculate percentage positions for relative-
positioned boxes in LayoutBoxModelObject::relativePositionOffset and thus needs
to check childLogicalHeightForPercentageResolution.

BUG= 646397 
R=eae@chromium.org,dgrogan@chromium.org

Review-Url: https://codereview.chromium.org/2349803002
Cr-Commit-Position: refs/heads/master@{#419271}
(cherry picked from commit 95c34ae1ef40f8aff3f8c718dcdbdeb65d8431ae)

Review URL: https://codereview.chromium.org/2355473002 .

Cr-Commit-Position: refs/branch-heads/2840@{#409}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[add] https://crrev.com/b24eb40e25e1aa31444c99b2915cd9eea641d71d/third_party/WebKit/LayoutTests/css3/flexbox/relpos-with-percentage-top.html
[modify] https://crrev.com/b24eb40e25e1aa31444c99b2915cd9eea641d71d/third_party/WebKit/Source/core/layout/LayoutBox.cpp

Sign in to add a comment