Title: [239907] trunk
- Revision
- 239907
- Author
- [email protected]
- Date
- 2019-01-13 08:39:36 -0800 (Sun, 13 Jan 2019)
Log Message
[LFC] Adjust assert for statically positioned fixed elements
https://bugs.webkit.org/show_bug.cgi?id=193385
Reviewed by Antti Koivisto.
Source/WebCore:
While computing the static position and traversing the ancestor chain, we can surely hit a positioned container
(since we need to go all the way up to the initial containing block).
* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::staticVerticalPositionForOutOfFlowPositioned):
(WebCore::Layout::staticHorizontalPositionForOutOfFlowPositioned):
Tools:
* LayoutReloaded/misc/LFC-passing-tests.txt:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (239906 => 239907)
--- trunk/Source/WebCore/ChangeLog 2019-01-13 16:06:31 UTC (rev 239906)
+++ trunk/Source/WebCore/ChangeLog 2019-01-13 16:39:36 UTC (rev 239907)
@@ -1,3 +1,17 @@
+2019-01-13 Zalan Bujtas <[email protected]>
+
+ [LFC] Adjust assert for statically positioned fixed elements
+ https://bugs.webkit.org/show_bug.cgi?id=193385
+
+ Reviewed by Antti Koivisto.
+
+ While computing the static position and traversing the ancestor chain, we can surely hit a positioned container
+ (since we need to go all the way up to the initial containing block).
+
+ * layout/FormattingContextGeometry.cpp:
+ (WebCore::Layout::staticVerticalPositionForOutOfFlowPositioned):
+ (WebCore::Layout::staticHorizontalPositionForOutOfFlowPositioned):
+
2019-01-13 Antti Koivisto <[email protected]>
Release assert with <img usemap> in shadow tree
Modified: trunk/Source/WebCore/layout/FormattingContextGeometry.cpp (239906 => 239907)
--- trunk/Source/WebCore/layout/FormattingContextGeometry.cpp 2019-01-13 16:06:31 UTC (rev 239906)
+++ trunk/Source/WebCore/layout/FormattingContextGeometry.cpp 2019-01-13 16:39:36 UTC (rev 239907)
@@ -194,13 +194,13 @@
// Resolve top all the way up to the containing block.
auto* containingBlock = layoutBox.containingBlock();
+ // Start with the parent since we pretend that this box is normal flow.
for (auto* container = layoutBox.parent(); container != containingBlock; container = container->containingBlock()) {
auto& displayBox = layoutState.displayBoxForLayoutBox(*container);
// Display::Box::top is the border box top position in its containing block's coordinate system.
top += displayBox.top();
- ASSERT(!container->isPositioned());
+ ASSERT(!container->isPositioned() || layoutBox.isFixedPositioned());
}
- // FIXME: floatings need to be taken into account.
return top;
}
@@ -215,13 +215,13 @@
// Resolve left all the way up to the containing block.
auto* containingBlock = layoutBox.containingBlock();
+ // Start with the parent since we pretend that this box is normal flow.
for (auto* container = layoutBox.parent(); container != containingBlock; container = container->containingBlock()) {
auto& displayBox = layoutState.displayBoxForLayoutBox(*container);
// Display::Box::left is the border box left position in its containing block's coordinate system.
left += displayBox.left();
- ASSERT(!container->isPositioned());
+ ASSERT(!container->isPositioned() || layoutBox.isFixedPositioned());
}
- // FIXME: floatings need to be taken into account.
return left;
}
Modified: trunk/Tools/ChangeLog (239906 => 239907)
--- trunk/Tools/ChangeLog 2019-01-13 16:06:31 UTC (rev 239906)
+++ trunk/Tools/ChangeLog 2019-01-13 16:39:36 UTC (rev 239907)
@@ -1,3 +1,12 @@
+2019-01-13 Zalan Bujtas <[email protected]>
+
+ [LFC] Adjust assert for statically positioned fixed elements
+ https://bugs.webkit.org/show_bug.cgi?id=193385
+
+ Reviewed by Antti Koivisto.
+
+ * LayoutReloaded/misc/LFC-passing-tests.txt:
+
2019-01-13 Philippe Normand <[email protected]>
[WPE][MiniBrowser] Ephemeral WebContext leaks in automation mode
Modified: trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt (239906 => 239907)
--- trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt 2019-01-13 16:06:31 UTC (rev 239906)
+++ trunk/Tools/LayoutReloaded/misc/LFC-passing-tests.txt 2019-01-13 16:39:36 UTC (rev 239907)
@@ -284,3 +284,22 @@
fast/inline/simple-shrink-to-fit-inline-block.html
fast/inline/skipped-whitespace-boundingBox.html
fast/inline/skipped-whitespace-client-rect.html
+fast/dynamic/004.html
+fast/dynamic/005.html
+fast/dynamic/006.html
+fast/dynamic/009.html
+fast/dynamic/010.html
+fast/dynamic/anonymous-block-layer-lost.html
+fast/dynamic/first-letter-display-change.html
+fast/dynamic/float-no-longer-overhanging.html
+fast/dynamic/float-withdrawal-2.html
+fast/dynamic/hover-style-recalc-crash.html
+fast/dynamic/inline-to-block-crash.html
+fast/dynamic/jQuery-animation-crash.html
+fast/dynamic/link-href-change.html
+fast/dynamic/move-node-with-selection.html
+fast/dynamic/selection-gets-cleared-when-part-of-it-gets-removed.html
+fast/dynamic/staticY.html
+fast/dynamic/subtree-boundary-percent-height.html
+fast/dynamic/subtree-parent-static-y.html
+fast/dynamic/window-scrollbars-test.html
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes