New issue
Advanced search Search tips

Issue 896438 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

will-change: position should create a containing block for absolutely positioned element.

Project Member Reported by emilio@chromium.org, Oct 17

Issue description

Chrome Version: 69.0.3497.100
OS: All

What steps will reproduce the problem?
(1) open the attached test-case.

What is the expected result?
The orange box is inside the border.

What happens instead?
Not so.

https://drafts.csswg.org/css-will-change/#will-change says:

> If any non-initial value of a property would cause the element to generate a containing block for absolutely positioned elements, specifying that property in will-change must cause the element to generate a containing block for absolutely positioned elements.

And position is such a property.
 
t.html
364 bytes View Download
Cc: atotic@chromium.org ikilpatrick@chromium.org
Status: Available (was: Untriaged)
Owner: atotic@chromium.org
Status: Assigned (was: Available)
📍 Job complete. See results below.
https://pinpoint-dot-chromeperf.appspot.com/job/17102290140000
📍 Job complete. See results below.
https://pinpoint-dot-chromeperf.appspot.com/job/14e5bc4a140000
Project Member

Comment 8 by bugdroid1@chromium.org, Dec 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/11c6ace549bab9d81dfd5949ab4b5d02cb07a54c

commit 11c6ace549bab9d81dfd5949ab4b5d02cb07a54c
Author: Aleks Totic <atotic@chromium.org>
Date: Tue Dec 04 21:17:15 2018

will-change:position is an abspos container

Bug: 896438
Change-Id: I26a2ed961231a38dc0e62ab9ed6db3f80740da10
Reviewed-on: https://chromium-review.googlesource.com/c/1359041
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613695}
[modify] https://crrev.com/11c6ace549bab9d81dfd5949ab4b5d02cb07a54c/third_party/blink/renderer/core/style/computed_style.h
[modify] https://crrev.com/11c6ace549bab9d81dfd5949ab4b5d02cb07a54c/third_party/blink/web_tests/TestExpectations

Status: Fixed (was: Assigned)
This caused a null deref, because we were not creating a stacking context
for LayoutInline:

https://bugs.chromium.org/p/chromium/issues/detail?id=912019#c3
Status: Assigned (was: Fixed)
Reverted the change, there is an outstanding spec discussion.
Cc: emilio@chromium.org
Discussion on whether this is a good change at:

https://chromium-review.googlesource.com/c/chromium/src/+/1363837

Would love to get feedback from emilio@chromium.org,
Commented in there, thanks for the ping :)
Project Member

Comment 14 by bugdroid1@chromium.org, Dec 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/96bc19ca4a12c415f0a2b74ebc8fd9b7a4c3d5fd

commit 96bc19ca4a12c415f0a2b74ebc8fd9b7a4c3d5fd
Author: Aleks Totic <atotic@chromium.org>
Date: Thu Dec 06 20:07:52 2018

Revert "will-change:position is an abspos container"

This reverts commit 11c6ace549bab9d81dfd5949ab4b5d02cb07a54c.

Reason for revert: 
NULL dereference clusterfuzz crashes.
Cause of crash is lack of stacking context for will-change:position.
chrishtr pointed out that position: only creates new stacking context 
when combined with z-index. Discussion at:
https://chromium-review.googlesource.com/c/chromium/src/+/1363837

We need spec clarification on when will-change:position generates a new stacking context.

Original change's description:
> will-change:position is an abspos container
> 
> Bug: 896438
> Change-Id: I26a2ed961231a38dc0e62ab9ed6db3f80740da10
> Reviewed-on: https://chromium-review.googlesource.com/c/1359041
> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
> Reviewed-by: Rune Lillesveen <futhark@chromium.org>
> Commit-Queue: Aleks Totic <atotic@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#613695}

TBR=ikilpatrick@chromium.org,atotic@chromium.org,futhark@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 896438
Change-Id: Iebb7f05ab1bd193c263ddc31becf542320379797
Reviewed-on: https://chromium-review.googlesource.com/c/1365882
Reviewed-by: Aleks Totic <atotic@chromium.org>
Commit-Queue: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614466}
[modify] https://crrev.com/96bc19ca4a12c415f0a2b74ebc8fd9b7a4c3d5fd/third_party/blink/renderer/core/style/computed_style.h
[modify] https://crrev.com/96bc19ca4a12c415f0a2b74ebc8fd9b7a4c3d5fd/third_party/blink/web_tests/TestExpectations

Sign in to add a comment