12021-05-16 Tim Nguyen <ntim@apple.com>
2
3 will-change: position should not create a containing block for position: fixed elements
4 https://bugs.webkit.org/show_bug.cgi?id=225443
5
6 Reviewed by NOBODY (OOPS!).
7
8 This partially undoes r276627 which made will-change: position create a CB for all out-of-flow elements:
9
10 - Removed CSSPropertyPosition from createsContainingBlockForOutOfFlowPositioned() to not create a containing block
11 for position: fixed; children.
12 - Added createsContainingBlockForAbsolutelyPositioned() with CSSPropertyPosition to still create a containing block
13 for position: absolute; children.
14
15 Enabled WPT (which covers both cases): css/css-will-change/will-change-fixpos-cb-position-1.html
16
17 * rendering/RenderElement.h:
18 (WebCore::RenderElement::canContainAbsolutelyPositionedObjects const):
19 * rendering/style/WillChangeData.cpp:
20 (WebCore::WillChangeData::createsContainingBlockForAbsolutelyPositioned const):
21 (WebCore::WillChangeData::createsContainingBlockForOutOfFlowPositioned const):
22 * rendering/style/WillChangeData.h:
23