Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b424c89ef6900030cc7298e28909b1f826bbb25f
      
https://github.com/WebKit/WebKit/commit/b424c89ef6900030cc7298e28909b1f826bbb25f
  Author: Alan Baradlay <za...@apple.com>
  Date:   2024-06-09 (Sun, 09 Jun 2024)

  Changed paths:
    A LayoutTests/fast/block/float/non-intrusive-float-overlap-expected.html
    A LayoutTests/fast/block/float/non-intrusive-float-overlap.html
    M Source/WebCore/layout/floats/FloatingContext.cpp
    M Source/WebCore/layout/floats/FloatingContext.h

  Log Message:
  -----------
  neowin.net: 'share' drop-down layout is broken and overlaps
https://bugs.webkit.org/show_bug.cgi?id=275290
<rdar://problem/129445546>

Reviewed by Antti Koivisto.

Floats, somewhat surprisingly may overlap each other, but only when an already 
placed float coming from outside of
the current containing block does not overlap the containing block's content 
box.
In such cases, newly placed floats may overlap such non-intrusive floats at 
their non-floating side.

e.g.

F - float box
C - containing block for (F)
N - non-overlapping box, sibling of C, also float but not overlapping C's 
content box.

 <div id=N style="width: 20px; float: left"></div>
 <div id=C style="width: 100px; padding-left: 20px">
   <div id=F style="width: 200px; float: right">

  _____
 |N    |  This is where (C)'s content box starts (see padding-left: 20px)
 |_____|_|____________________
 |C ___|_|__________________ |
 | |   | |                 F||
 | |   | |                  ||
 | |   | |                  ||
 | |___|_|__________________||
 |_____|_|___________________|
 |     |
 |_____|

Note that (F) float box overlaps (N -also float) with its non-floating (left) 
side.

* Source/WebCore/layout/floats/FloatingContext.cpp:
(WebCore::Layout::findAvailablePosition):
(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::positionForNonFloatingFloatAvoider const):
(WebCore::Layout::FloatingContext::findPositionForFormattingContextRoot const):
* Source/WebCore/layout/floats/FloatingContext.h:

Canonical link: https://commits.webkit.org/279867@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to