Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Issue 2597823004: WIP version of new margin collapsing logic + support of empty blocks with floats

Created:
4 years ago by Gleb Lanbin
Modified:
3 years, 11 months ago
Reviewers:
CC:
chromium-reviews, cbiesinger, ojan+watch_chromium.org, szager+layoutwatch_chromium.org, glebl+reviews_chromium.org, atotic+reviews_chromium.org, zoltan1, blink-reviews-layout_chromium.org, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, jchaffraix+rendering, blink-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

WIP version of new margin collapsing logic + support of empty blocks with floats This patch is for *preview* only. High level design overview: - Changed the direction of block offset calculation for fragment(top to bottom approach) - new NGFloatingObject struct that holds pointers to the floating fragment, CS and node needed to position a float. - Floats are bubbled up from empty fragments to be positioned by the next non empty block that can determine its position in space. - Floats' constraint space is modified on their way up so they can be positioned with correct offset when its time. - On their way up floats attached to the 1st parent that has at least one non empty child. Things that are not supported at this moment: - Writing mode. Empty blocks may have different writing mode. - Clearance. - Bunch of other edge cases.... BUG=

Patch Set 1 : fix #

Patch Set 2 : git rebase-update #

Patch Set 3 : update #

Unified diffs Side-by-side diffs Delta from patch set Stats (+413 lines, -422 lines) Patch
M third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h View 1 2 3 chunks +10 lines, -29 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc View 1 2 15 chunks +235 lines, -176 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc View 1 2 22 chunks +48 lines, -38 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_block_node.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_box_fragment.h View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_box_fragment.cc View 1 2 1 chunk +9 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h View 1 2 6 chunks +10 lines, -17 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc View 1 2 3 chunks +9 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.h View 1 2 3 chunks +12 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.cc View 1 2 4 chunks +10 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_floating_object.h View 1 2 2 chunks +3 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.h View 1 2 5 chunks +13 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc View 1 2 3 chunks +9 lines, -16 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_inline_node.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_layout_opportunity_iterator.h View 1 chunk +3 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_layout_opportunity_iterator.cc View 1 2 3 chunks +8 lines, -25 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_physical_box_fragment.h View 1 2 2 chunks +10 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_physical_box_fragment.cc View 1 2 2 chunks +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_physical_fragment.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_units.h View 1 2 3 chunks +9 lines, -26 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_units.cc View 1 2 2 chunks +5 lines, -63 lines 0 comments Download

Messages

Total messages: 3 (3 generated)
Gleb Lanbin
Patchset #1 (id:1) has been deleted
3 years, 11 months ago (2017-01-23 17:17:29 UTC) #1
Gleb Lanbin
Patchset #3 (id:60001) has been deleted
3 years, 11 months ago (2017-01-25 18:18:52 UTC) #2
Gleb Lanbin
3 years, 11 months ago (2017-01-25 18:19:20 UTC) #3
Patchset #3 (id:80001) has been deleted

Powered by Google App Engine
This is Rietveld 408576698