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

Issue 666487 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Use other robhogan account instead.
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

A non-bfc box prevents the content of following bfc to be position higher

Reported by fremycom...@yahoo.fr, Nov 17 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36

Steps to reproduce the problem:
1. https://jsfiddle.net/ofsej6e3/2/ (Edge/FF vs Chrome)
2. Compare with https://jsfiddle.net/ofsej6e3/1/ (all browsers agree)

What is the expected behavior?
The empty div should have no impact on the layout.
The CC text should still find room next to the float and be positioned there.

What went wrong?
The div prevents the CC text from being position prior to the position of the div, which in turns changes the size of the bfc element because text now starts at a location where the float has no impact (though the bfc itself still seem to).

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 54.0.2840.99  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 23.0 r0
 
temp.html
669 bytes View Download

Comment 1 by ajha@chromium.org, Nov 18 2016

Labels: M-54
Components: Blink>JavaScript
Labels: Needs-Triage-M54
Cc: e...@chromium.org
Labels: -OS-Windows -Arch-x86_64 -M-54 -Via-Wizard-API -Needs-Triage-M54 Hotlist-Interop OS-All
Status: Untriaged (was: Unconfirmed)
+Hotlist-Interop, cc:eae

// Francois is a fellow Edge PM
Components: -Blink>JavaScript Blink>DOM
Not JavaScript/V8 related.

Comment 5 by tkent@chromium.org, Nov 24 2016

Components: -Blink>DOM Blink>Layout

Comment 6 by e...@chromium.org, Nov 25 2016

Cc: cbiesin...@chromium.org robho...@gmail.com
Status: Available (was: Untriaged)
Rob/Christian, do either of you have the bandwidth to take this on?
Cc: -robho...@gmail.com
Owner: robhogan@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 8 by bugdroid1@chromium.org, Dec 1 2016

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

commit 3c8d298acf826fc5337c526b1016a03b37c2656a
Author: robhogan <robhogan@gmail.com>
Date: Thu Dec 01 00:38:00 2016

Detect floats to avoid or clear due to negative margin top

When a negative margin top pushes a block back up into its previous siblings
we need to check for any floats in those siblings it now needs to avoid or clear.

Previously we were just looking at its neighbour, we need to keep looking until
we reach a sibling that we don't overlap.

BUG= 666487 

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

[modify] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-2-expected.txt
[add] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-2.html
[add] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-3-expected.txt
[add] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-3.html
[add] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-4-expected.txt
[add] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-4.html
[add] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-5-expected.txt
[add] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-5.html
[add] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-6-expected.txt
[add] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-6.html
[add] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-expected.txt
[add] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top.html
[modify] https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 8 2016

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

commit 24f05ee67737fcb83104ae4c033f87d5703ff703
Author: pdr <pdr@chromium.org>
Date: Thu Dec 08 06:19:04 2016

Revert: Detect floats to avoid or clear due to negative margin top (and followup)

This patch reverts the following two patches:
1) Detect floats to avoid or clear due to negative margin top
https://crrev.com/3c8d298acf826fc5337c526b1016a03b37c2656a
2) Stop searching for overhanging floats when the sibling's floats no longer overlap
https://crrev.com/eb8f963f9a5030c0007500620eefaad7c2c2c490

This revert is due to a perf regression in the layout of floats. A followup
patch will unskip the mossiella perf test that was skipped due to this
regression.

BUG= 671645 ,670325, 666487 
TBR=robhogan@chromium.org

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

[modify] https://crrev.com/24f05ee67737fcb83104ae4c033f87d5703ff703/third_party/WebKit/LayoutTests/TestExpectations
[delete] https://crrev.com/f05414aa1d1379f03644218dd8421d860234d0a3/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-2-expected.txt
[delete] https://crrev.com/f05414aa1d1379f03644218dd8421d860234d0a3/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-2.html
[delete] https://crrev.com/f05414aa1d1379f03644218dd8421d860234d0a3/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-3-expected.txt
[delete] https://crrev.com/f05414aa1d1379f03644218dd8421d860234d0a3/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-3.html
[delete] https://crrev.com/f05414aa1d1379f03644218dd8421d860234d0a3/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-4-expected.txt
[delete] https://crrev.com/f05414aa1d1379f03644218dd8421d860234d0a3/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-4.html
[delete] https://crrev.com/f05414aa1d1379f03644218dd8421d860234d0a3/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-5-expected.txt
[delete] https://crrev.com/f05414aa1d1379f03644218dd8421d860234d0a3/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-5.html
[delete] https://crrev.com/f05414aa1d1379f03644218dd8421d860234d0a3/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-6-expected.txt
[delete] https://crrev.com/f05414aa1d1379f03644218dd8421d860234d0a3/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-6.html
[delete] https://crrev.com/f05414aa1d1379f03644218dd8421d860234d0a3/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-expected.txt
[delete] https://crrev.com/f05414aa1d1379f03644218dd8421d860234d0a3/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top.html
[modify] https://crrev.com/24f05ee67737fcb83104ae4c033f87d5703ff703/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 12 2016

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

commit 5c6452a360ed086b96680a2cad532e2be7d68385
Author: robhogan <robhogan@gmail.com>
Date: Mon Dec 12 23:20:15 2016

Re-land "Detect floats to avoid or clear due to negative margin top (and followup)"

Re-land https://codereview.chromium.org/2531953002 and
https://codereview.chromium.org/2547933003.

When a negative margin top pushes a block back up into its previous siblings
we need to check for any floats in those siblings it now needs to avoid or clear.

Previously we were just looking at its neighbour, we need to keep looking until
we reach a sibling that we don't overlap.

Fix the performance regression on mossiella.com in page_cycler_v2.tough_layout_cases
by only looking for floats if margin collapsing has actually moved the child up.

BUG= 671645 , 670325,  666487 

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

[modify] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-2-expected.txt
[add] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-2.html
[add] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-3-expected.txt
[add] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-3.html
[add] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-4-expected.txt
[add] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-4.html
[add] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-5-expected.txt
[add] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-5.html
[add] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-6-expected.txt
[add] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-6.html
[add] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top-expected.txt
[add] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/LayoutTests/fast/block/float/avoid-floats-when-negative-margin-top.html
[modify] https://crrev.com/5c6452a360ed086b96680a2cad532e2be7d68385/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment