[webkit-changes] [WebKit/WebKit] 6112c5: Remove a float from an element's list even if its ...

Ahmad Saleem noreply at github.com
Mon Dec 5 06:41:33 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6112c5929ca9012278c62ee3b2a0d82d424aad99
      https://github.com/WebKit/WebKit/commit/6112c5929ca9012278c62ee3b2a0d82d424aad99
  Author: Ahmad Saleem <ahmad.saleem792+github at gmail.com>
  Date:   2022-12-05 (Mon, 05 Dec 2022)

  Changed paths:
    A LayoutTests/fast/block/overhanging-float-crashes-when-sibling-becomes-formatting-context-expected.txt
    A LayoutTests/fast/block/overhanging-float-crashes-when-sibling-becomes-formatting-context.html
    M Source/WebCore/rendering/RenderBlockFlow.cpp

  Log Message:
  -----------
  Remove a float from an element's list even if its style suggests it can't contain floats

Remove a float from an element's list even if its style suggests it can't contain floats
https://bugs.webkit.org/show_bug.cgi?id=248487

Reviewed by Alan Baradlay.

Merge - https://src.chromium.org/viewvc/blink?view=revision&revision=190902

The reason we are failing to remove floats here is because we put an element in a
second element's float lists, then put a style on that second element that prevents
it from overlapping with floats in future, and then we assume that because it has
that style it can't contain the float we're destroying in its float lists.

* Source/WebCore/rendering/RenderBlockFlow.cpp:
(RenderBlockFlow::markSiblingsWithFloatsForLayout): Add logic to remove float from an element's list
* LayoutTests/fast/block/overhanging-float-crashes-when-sibling-becomes-formatting-context.html: Add Test Case
* LayoutTests/fast/block/overhanging-float-crashes-when-sibling-becomes-formatting-context-expected.txt: Add Test Case Expectation

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




More information about the webkit-changes mailing list