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

Issue 1156303012: Use the container() chain when locating the containing flow thread. (Closed)

Created:
5 years, 6 months ago by mstensho (USE GERRIT)
Modified:
5 years, 6 months ago
Reviewers:
dsinclair, esprehn, ojan
CC:
blink-reviews, blink-reviews-rendering, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/remotes/origin/master
Project:
blink
Visibility:
Public.

Description

Use the container() chain when locating the containing flow thread. Using containingBlock() caused us to miss relatively positioned inlines (that serve as containing blocks for absolutely positioned descendants), and, more dangerously (this bug), we'd miss absolutely positioned non-LayoutBlock ancestors, causing us to find the ancestral flow thread, even though we were not contained by it. This would in turn make us assume that the multicol container had column content, which in turn would make us just blindly assume that there was a column set object there. A video element establishes a shadow DOM, and if the video was absolutely positioned, the elements in there would erroneously find the flow thread, because we skipped the absolutely positioned ancestral video, because it is not a LayoutBlock. While bug 496421 is listed as one of the bugs fixed here, it should be pointed out that the fix is rather speculative in that regard, since since it's fixing different but rather related crash than the one in the original report. The crash was triggered by the same TC, though. BUG=496421, 497524, 497435 R=dsinclair@chromium.org,esprehn@chromium.org Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=196745

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+22 lines, -2 lines) Patch
A LayoutTests/fast/multicol/dynamic/block-with-abspos-video-becomes-multicol-crash.html View 1 chunk +15 lines, -0 lines 0 comments Download
A LayoutTests/fast/multicol/dynamic/block-with-abspos-video-becomes-multicol-crash-expected.txt View 1 chunk +5 lines, -0 lines 0 comments Download
M Source/core/layout/LayoutObject.cpp View 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 8 (2 generated)
mstensho (USE GERRIT)
5 years, 6 months ago (2015-06-05 10:47:17 UTC) #1
mstensho (USE GERRIT)
5 years, 6 months ago (2015-06-08 19:40:11 UTC) #2
ojan
lgtm It's so hard to be sure this is correct. containingBlock and container are so ...
5 years, 6 months ago (2015-06-08 23:51:23 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1156303012/1
5 years, 6 months ago (2015-06-09 07:22:33 UTC) #6
mstensho (USE GERRIT)
On 2015/06/08 23:51:23, ojan wrote: > lgtm > > It's so hard to be sure ...
5 years, 6 months ago (2015-06-09 07:38:12 UTC) #7
commit-bot: I haz the power
5 years, 6 months ago (2015-06-09 08:30:40 UTC) #8
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://src.chromium.org/viewvc/blink?view=rev&revision=196745

Powered by Google App Engine
This is Rietveld 408576698