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

Issue 1395753004: A new LayoutState should never locate a containing flow thread on its own. (Closed)

Created:
5 years, 2 months ago by mstensho (USE GERRIT)
Modified:
5 years, 2 months ago
CC:
blink-reviews, blink-reviews-layout_chromium.org, chromium-reviews, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, mstensho (USE GERRIT), pdr+renderingwatchlist_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

A new LayoutState should never locate a containing flow thread on its own. If the parent (m_next) LayoutState doesn't have a containing flow thread set, and the child doesn't establish one, the child shouldn't have one either. This is crucial when doing subtree layouts directly from a FrameView, skipping any ancestor fragmentation contexts that might be there. Changing the contents of an INPUT element triggers this. The bottom line here is: If we really want to re-lay out parts of a multicol container, we better pretend that we're not inside a fragmentation context at all. This is perfectly safe, as long as the object we're laying out is unsplittable and hasn't changed its own dimensions (which is true when changing the value of an INPUT element). We have been doing this for a long time, but there was a bug hidden in there, that got more easily exposed by https://codereview.chromium.org/1387553002 , where we disallow strut propagation to flex boxes, and INPUT type="number" is implemented using flexbox. R=leviw@chromium.org Committed: https://crrev.com/0c6ee20854e81554570cf439836af9f9be9c9ce5 Cr-Commit-Position: refs/heads/master@{#353291}

Patch Set 1 #

Patch Set 2 : code review. More ahem, more hotpink, slightly less random numbers. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+24 lines, -1 line) Patch
A third_party/WebKit/LayoutTests/fast/multicol/input-type-number.html View 1 1 chunk +14 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/input-type-number-expected.html View 1 1 chunk +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutState.cpp View 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 7 (2 generated)
mstensho (USE GERRIT)
5 years, 2 months ago (2015-10-09 12:58:37 UTC) #1
leviw_travelin_and_unemployed
Your random width/top/height values disturb me, but I'll allow it. LGTM.
5 years, 2 months ago (2015-10-09 13:18:49 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1395753004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1395753004/20001
5 years, 2 months ago (2015-10-09 14:04:32 UTC) #5
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 2 months ago (2015-10-09 15:05:35 UTC) #6
commit-bot: I haz the power
5 years, 2 months ago (2015-10-09 15:07:17 UTC) #7
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/0c6ee20854e81554570cf439836af9f9be9c9ce5
Cr-Commit-Position: refs/heads/master@{#353291}

Powered by Google App Engine
This is Rietveld 408576698