Commit c5bc50c2 authored by Morten Stenshorne's avatar Morten Stenshorne Committed by Commit Bot

[LayoutNG] Parameterize scroll anchoring unit tests.

We want to test this with LayoutNG.
Skip failing tests on NG (there are two).

Bug: 889449
Change-Id: I3b80eb07d9dc359d24ab63417c3ca2ac228c1496
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Reviewed-on: https://chromium-review.googlesource.com/1245793Reviewed-by: default avatarSteve Kobes <skobes@chromium.org>
Reviewed-by: default avatarMorten Stenshorne <mstensho@chromium.org>
Reviewed-by: default avatarEmil A Eklund <eae@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594378}
parent c2505bdb
...@@ -19,9 +19,11 @@ namespace blink { ...@@ -19,9 +19,11 @@ namespace blink {
using Corner = ScrollAnchor::Corner; using Corner = ScrollAnchor::Corner;
class ScrollAnchorTest : public RenderingTest { class ScrollAnchorTest : public testing::WithParamInterface<bool>,
private ScopedLayoutNGForTest,
public RenderingTest {
public: public:
ScrollAnchorTest() {} ScrollAnchorTest() : ScopedLayoutNGForTest(GetParam()) {}
protected: protected:
void Update() { void Update() {
...@@ -78,9 +80,11 @@ class ScrollAnchorTest : public RenderingTest { ...@@ -78,9 +80,11 @@ class ScrollAnchorTest : public RenderingTest {
} }
}; };
INSTANTIATE_TEST_CASE_P(All, ScrollAnchorTest, testing::Bool());
// TODO(ymalik): Currently, this should be the first test in the file to avoid // TODO(ymalik): Currently, this should be the first test in the file to avoid
// failure when running with other tests. Dig into this more and fix. // failure when running with other tests. Dig into this more and fix.
TEST_F(ScrollAnchorTest, UMAMetricUpdated) { TEST_P(ScrollAnchorTest, UMAMetricUpdated) {
HistogramTester histogram_tester; HistogramTester histogram_tester;
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> body { height: 1000px } div { height: 100px } </style> <style> body { height: 1000px } div { height: 100px } </style>
...@@ -145,7 +149,7 @@ TEST_F(ScrollAnchorTest, UMAMetricUpdated) { ...@@ -145,7 +149,7 @@ TEST_F(ScrollAnchorTest, UMAMetricUpdated) {
// TODO(skobes): Convert this to web-platform-tests when visual viewport API is // TODO(skobes): Convert this to web-platform-tests when visual viewport API is
// launched (http://crbug.com/635031). // launched (http://crbug.com/635031).
TEST_F(ScrollAnchorTest, VisualViewportAnchors) { TEST_P(ScrollAnchorTest, VisualViewportAnchors) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
* { font-size: 1.2em; font-family: sans-serif; } * { font-size: 1.2em; font-family: sans-serif; }
...@@ -185,7 +189,7 @@ TEST_F(ScrollAnchorTest, VisualViewportAnchors) { ...@@ -185,7 +189,7 @@ TEST_F(ScrollAnchorTest, VisualViewportAnchors) {
// Test that a non-anchoring scroll on scroller clears scroll anchors for all // Test that a non-anchoring scroll on scroller clears scroll anchors for all
// parent scrollers. // parent scrollers.
TEST_F(ScrollAnchorTest, ClearScrollAnchorsOnAncestors) { TEST_P(ScrollAnchorTest, ClearScrollAnchorsOnAncestors) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px } div { height: 200px } body { height: 1000px } div { height: 200px }
...@@ -212,7 +216,7 @@ TEST_F(ScrollAnchorTest, ClearScrollAnchorsOnAncestors) { ...@@ -212,7 +216,7 @@ TEST_F(ScrollAnchorTest, ClearScrollAnchorsOnAncestors) {
EXPECT_EQ(nullptr, GetScrollAnchor(viewport).AnchorObject()); EXPECT_EQ(nullptr, GetScrollAnchor(viewport).AnchorObject());
} }
TEST_F(ScrollAnchorTest, AncestorClearingWithSiblingReference) { TEST_P(ScrollAnchorTest, AncestorClearingWithSiblingReference) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
.scroller { .scroller {
...@@ -254,7 +258,7 @@ TEST_F(ScrollAnchorTest, AncestorClearingWithSiblingReference) { ...@@ -254,7 +258,7 @@ TEST_F(ScrollAnchorTest, AncestorClearingWithSiblingReference) {
Update(); Update();
} }
TEST_F(ScrollAnchorTest, FractionalOffsetsAreRoundedBeforeComparing) { TEST_P(ScrollAnchorTest, FractionalOffsetsAreRoundedBeforeComparing) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> body { height: 1000px } </style> <style> body { height: 1000px } </style>
<div id='block1' style='height: 50.4px'>abc</div> <div id='block1' style='height: 50.4px'>abc</div>
...@@ -271,7 +275,7 @@ TEST_F(ScrollAnchorTest, FractionalOffsetsAreRoundedBeforeComparing) { ...@@ -271,7 +275,7 @@ TEST_F(ScrollAnchorTest, FractionalOffsetsAreRoundedBeforeComparing) {
EXPECT_EQ(101, viewport->ScrollOffsetInt().Height()); EXPECT_EQ(101, viewport->ScrollOffsetInt().Height());
} }
TEST_F(ScrollAnchorTest, AvoidStickyAnchorWhichMovesWithScroll) { TEST_P(ScrollAnchorTest, AvoidStickyAnchorWhichMovesWithScroll) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> body { height: 1000px } </style> <style> body { height: 1000px } </style>
<div id='block1' style='height: 50px'>abc</div> <div id='block1' style='height: 50px'>abc</div>
...@@ -289,7 +293,7 @@ TEST_F(ScrollAnchorTest, AvoidStickyAnchorWhichMovesWithScroll) { ...@@ -289,7 +293,7 @@ TEST_F(ScrollAnchorTest, AvoidStickyAnchorWhichMovesWithScroll) {
EXPECT_EQ(60, viewport->ScrollOffsetInt().Height()); EXPECT_EQ(60, viewport->ScrollOffsetInt().Height());
} }
TEST_F(ScrollAnchorTest, AnchorWithLayerInScrollingDiv) { TEST_P(ScrollAnchorTest, AnchorWithLayerInScrollingDiv) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
#scroller { overflow: scroll; width: 500px; height: 400px; } #scroller { overflow: scroll; width: 500px; height: 400px; }
...@@ -325,7 +329,7 @@ TEST_F(ScrollAnchorTest, AnchorWithLayerInScrollingDiv) { ...@@ -325,7 +329,7 @@ TEST_F(ScrollAnchorTest, AnchorWithLayerInScrollingDiv) {
// Verify that a nested scroller with a div that has its own PaintLayer can be // Verify that a nested scroller with a div that has its own PaintLayer can be
// removed without causing a crash. This test passes if it doesn't crash. // removed without causing a crash. This test passes if it doesn't crash.
TEST_F(ScrollAnchorTest, RemoveScrollerWithLayerInScrollingDiv) { TEST_P(ScrollAnchorTest, RemoveScrollerWithLayerInScrollingDiv) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 2000px } body { height: 2000px }
...@@ -366,7 +370,7 @@ TEST_F(ScrollAnchorTest, RemoveScrollerWithLayerInScrollingDiv) { ...@@ -366,7 +370,7 @@ TEST_F(ScrollAnchorTest, RemoveScrollerWithLayerInScrollingDiv) {
Update(); Update();
} }
TEST_F(ScrollAnchorTest, FlexboxDelayedClampingAlsoDelaysAdjustment) { TEST_P(ScrollAnchorTest, FlexboxDelayedClampingAlsoDelaysAdjustment) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
html { overflow: hidden; } html { overflow: hidden; }
...@@ -397,7 +401,7 @@ TEST_F(ScrollAnchorTest, FlexboxDelayedClampingAlsoDelaysAdjustment) { ...@@ -397,7 +401,7 @@ TEST_F(ScrollAnchorTest, FlexboxDelayedClampingAlsoDelaysAdjustment) {
EXPECT_EQ(150, ScrollerForElement(scroller)->ScrollOffsetInt().Height()); EXPECT_EQ(150, ScrollerForElement(scroller)->ScrollOffsetInt().Height());
} }
TEST_F(ScrollAnchorTest, FlexboxDelayedAdjustmentRespectsSANACLAP) { TEST_P(ScrollAnchorTest, FlexboxDelayedAdjustmentRespectsSANACLAP) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
html { overflow: hidden; } html { overflow: hidden; }
...@@ -431,7 +435,11 @@ TEST_F(ScrollAnchorTest, FlexboxDelayedAdjustmentRespectsSANACLAP) { ...@@ -431,7 +435,11 @@ TEST_F(ScrollAnchorTest, FlexboxDelayedAdjustmentRespectsSANACLAP) {
// TODO(skobes): Convert this to web-platform-tests when document.rootScroller // TODO(skobes): Convert this to web-platform-tests when document.rootScroller
// is launched (http://crbug.com/505516). // is launched (http://crbug.com/505516).
TEST_F(ScrollAnchorTest, NonDefaultRootScroller) { TEST_P(ScrollAnchorTest, NonDefaultRootScroller) {
// TODO(crbug.com/889449): The test fails in LayoutNG mode.
if (RuntimeEnabledFeatures::LayoutNGEnabled())
return;
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
::-webkit-scrollbar { ::-webkit-scrollbar {
...@@ -489,7 +497,7 @@ TEST_F(ScrollAnchorTest, NonDefaultRootScroller) { ...@@ -489,7 +497,7 @@ TEST_F(ScrollAnchorTest, NonDefaultRootScroller) {
// This test verifies that scroll anchoring is disabled when the document is in // This test verifies that scroll anchoring is disabled when the document is in
// printing mode. // printing mode.
TEST_F(ScrollAnchorTest, AnchoringDisabledForPrinting) { TEST_P(ScrollAnchorTest, AnchoringDisabledForPrinting) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> body { height: 1000px } div { height: 100px } </style> <style> body { height: 1000px } div { height: 100px } </style>
<div id='block1'>abc</div> <div id='block1'>abc</div>
...@@ -506,7 +514,7 @@ TEST_F(ScrollAnchorTest, AnchoringDisabledForPrinting) { ...@@ -506,7 +514,7 @@ TEST_F(ScrollAnchorTest, AnchoringDisabledForPrinting) {
EXPECT_EQ(nullptr, GetScrollAnchor(viewport).AnchorObject()); EXPECT_EQ(nullptr, GetScrollAnchor(viewport).AnchorObject());
} }
TEST_F(ScrollAnchorTest, SerializeAnchorSimple) { TEST_P(ScrollAnchorTest, SerializeAnchorSimple) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -519,7 +527,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorSimple) { ...@@ -519,7 +527,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorSimple) {
ValidateSerializedAnchor("#block2", LayoutPoint(0, -50)); ValidateSerializedAnchor("#block2", LayoutPoint(0, -50));
} }
TEST_F(ScrollAnchorTest, SerializeAnchorUsesTagname) { TEST_P(ScrollAnchorTest, SerializeAnchorUsesTagname) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -534,7 +542,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorUsesTagname) { ...@@ -534,7 +542,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorUsesTagname) {
ValidateSerializedAnchor("#ancestor>span", LayoutPoint(0, -50)); ValidateSerializedAnchor("#ancestor>span", LayoutPoint(0, -50));
} }
TEST_F(ScrollAnchorTest, SerializeAnchorSetsIsAnchorBit) { TEST_P(ScrollAnchorTest, SerializeAnchorSetsIsAnchorBit) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -562,7 +570,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorSetsIsAnchorBit) { ...@@ -562,7 +570,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorSetsIsAnchorBit) {
ScrollLayoutViewport(ScrollOffset(0, 25)); ScrollLayoutViewport(ScrollOffset(0, 25));
} }
TEST_F(ScrollAnchorTest, SerializeAnchorSetsSavedRelativeOffset) { TEST_P(ScrollAnchorTest, SerializeAnchorSetsSavedRelativeOffset) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -579,7 +587,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorSetsSavedRelativeOffset) { ...@@ -579,7 +587,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorSetsSavedRelativeOffset) {
EXPECT_EQ(LayoutViewport()->ScrollOffsetInt().Height(), 250); EXPECT_EQ(LayoutViewport()->ScrollOffsetInt().Height(), 250);
} }
TEST_F(ScrollAnchorTest, SerializeAnchorUsesClassname) { TEST_P(ScrollAnchorTest, SerializeAnchorUsesClassname) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -594,7 +602,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorUsesClassname) { ...@@ -594,7 +602,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorUsesClassname) {
ValidateSerializedAnchor("#ancestor>.barbaz", LayoutPoint(0, -50)); ValidateSerializedAnchor("#ancestor>.barbaz", LayoutPoint(0, -50));
} }
TEST_F(ScrollAnchorTest, SerializeAnchorUsesNthChild) { TEST_P(ScrollAnchorTest, SerializeAnchorUsesNthChild) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -609,7 +617,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorUsesNthChild) { ...@@ -609,7 +617,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorUsesNthChild) {
ValidateSerializedAnchor("#ancestor>:nth-child(2)", LayoutPoint(0, -50)); ValidateSerializedAnchor("#ancestor>:nth-child(2)", LayoutPoint(0, -50));
} }
TEST_F(ScrollAnchorTest, SerializeAnchorUsesLeastSpecificSelector) { TEST_P(ScrollAnchorTest, SerializeAnchorUsesLeastSpecificSelector) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -631,7 +639,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorUsesLeastSpecificSelector) { ...@@ -631,7 +639,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorUsesLeastSpecificSelector) {
LayoutPoint(0, -50)); LayoutPoint(0, -50));
} }
TEST_F(ScrollAnchorTest, SerializeAnchorWithNoIdAttribute) { TEST_P(ScrollAnchorTest, SerializeAnchorWithNoIdAttribute) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -653,7 +661,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorWithNoIdAttribute) { ...@@ -653,7 +661,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorWithNoIdAttribute) {
LayoutPoint(0, -50)); LayoutPoint(0, -50));
} }
TEST_F(ScrollAnchorTest, SerializeAnchorChangesWithScroll) { TEST_P(ScrollAnchorTest, SerializeAnchorChangesWithScroll) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -677,7 +685,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorChangesWithScroll) { ...@@ -677,7 +685,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorChangesWithScroll) {
ValidateSerializedAnchor("#ancestor>.foobar", LayoutPoint(0, -1)); ValidateSerializedAnchor("#ancestor>.foobar", LayoutPoint(0, -1));
} }
TEST_F(ScrollAnchorTest, SerializeAnchorVerticalWritingMode) { TEST_P(ScrollAnchorTest, SerializeAnchorVerticalWritingMode) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { body {
...@@ -702,7 +710,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorVerticalWritingMode) { ...@@ -702,7 +710,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorVerticalWritingMode) {
ValidateSerializedAnchor("html>body>.barbaz", LayoutPoint(-50, 0)); ValidateSerializedAnchor("html>body>.barbaz", LayoutPoint(-50, 0));
} }
TEST_F(ScrollAnchorTest, SerializeAnchorQualifiedTagName) { TEST_P(ScrollAnchorTest, SerializeAnchorQualifiedTagName) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -716,7 +724,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorQualifiedTagName) { ...@@ -716,7 +724,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorQualifiedTagName) {
ValidateSerializedAnchor("html>body>ns\\:div", LayoutPoint(0, -50)); ValidateSerializedAnchor("html>body>ns\\:div", LayoutPoint(0, -50));
} }
TEST_F(ScrollAnchorTest, SerializeAnchorLimitsSelectorLength) { TEST_P(ScrollAnchorTest, SerializeAnchorLimitsSelectorLength) {
StringBuilder builder; StringBuilder builder;
builder.Append("<style> body { height: 1000px; margin: 0; }</style>"); builder.Append("<style> body { height: 1000px; margin: 0; }</style>");
builder.Append("<div style='height:100px'>foobar</div>"); builder.Append("<div style='height:100px'>foobar</div>");
...@@ -733,7 +741,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorLimitsSelectorLength) { ...@@ -733,7 +741,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorLimitsSelectorLength) {
EXPECT_FALSE(serialized.IsValid()); EXPECT_FALSE(serialized.IsValid());
} }
TEST_F(ScrollAnchorTest, SerializeAnchorIgnoresDuplicatedId) { TEST_P(ScrollAnchorTest, SerializeAnchorIgnoresDuplicatedId) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -751,7 +759,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorIgnoresDuplicatedId) { ...@@ -751,7 +759,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorIgnoresDuplicatedId) {
LayoutPoint(0, -50)); LayoutPoint(0, -50));
} }
TEST_F(ScrollAnchorTest, SerializeAnchorFailsForPseudoElement) { TEST_P(ScrollAnchorTest, SerializeAnchorFailsForPseudoElement) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -765,7 +773,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorFailsForPseudoElement) { ...@@ -765,7 +773,7 @@ TEST_F(ScrollAnchorTest, SerializeAnchorFailsForPseudoElement) {
EXPECT_FALSE(GetScrollAnchor(LayoutViewport()).AnchorObject()); EXPECT_FALSE(GetScrollAnchor(LayoutViewport()).AnchorObject());
} }
TEST_F(ScrollAnchorTest, RestoreAnchorSimple) { TEST_P(ScrollAnchorTest, RestoreAnchorSimple) {
SetBodyInnerHTML( SetBodyInnerHTML(
"<style> body { height: 1000px; margin: 0; } div { height: 100px } " "<style> body { height: 1000px; margin: 0; } div { height: 100px } "
"</style>" "</style>"
...@@ -787,7 +795,7 @@ TEST_F(ScrollAnchorTest, RestoreAnchorSimple) { ...@@ -787,7 +795,7 @@ TEST_F(ScrollAnchorTest, RestoreAnchorSimple) {
EXPECT_EQ(LayoutViewport()->ScrollOffsetInt().Height(), 50); EXPECT_EQ(LayoutViewport()->ScrollOffsetInt().Height(), 50);
} }
TEST_F(ScrollAnchorTest, RestoreAnchorNonTrivialSelector) { TEST_P(ScrollAnchorTest, RestoreAnchorNonTrivialSelector) {
SetBodyInnerHTML(R"HTML( SetBodyInnerHTML(R"HTML(
<style> <style>
body { height: 1000px; margin: 0; } body { height: 1000px; margin: 0; }
...@@ -817,7 +825,7 @@ TEST_F(ScrollAnchorTest, RestoreAnchorNonTrivialSelector) { ...@@ -817,7 +825,7 @@ TEST_F(ScrollAnchorTest, RestoreAnchorNonTrivialSelector) {
EXPECT_EQ(LayoutViewport()->ScrollOffsetInt().Height(), 450); EXPECT_EQ(LayoutViewport()->ScrollOffsetInt().Height(), 450);
} }
TEST_F(ScrollAnchorTest, RestoreAnchorFailsForInvalidSelectors) { TEST_P(ScrollAnchorTest, RestoreAnchorFailsForInvalidSelectors) {
SetBodyInnerHTML( SetBodyInnerHTML(
"<style> body { height: 1000px; margin: 0; } div { height: 100px } " "<style> body { height: 1000px; margin: 0; } div { height: 100px } "
"</style>" "</style>"
...@@ -845,7 +853,11 @@ TEST_F(ScrollAnchorTest, RestoreAnchorFailsForInvalidSelectors) { ...@@ -845,7 +853,11 @@ TEST_F(ScrollAnchorTest, RestoreAnchorFailsForInvalidSelectors) {
// Ensure that when the serialized selector refers to a non-box, non-text // Ensure that when the serialized selector refers to a non-box, non-text
// element(meaning its corresponding LayoutObject can't be the anchor object) // element(meaning its corresponding LayoutObject can't be the anchor object)
// that restoration will still succeed. // that restoration will still succeed.
TEST_F(ScrollAnchorTest, RestoreAnchorSucceedsForNonBoxNonTextElement) { TEST_P(ScrollAnchorTest, RestoreAnchorSucceedsForNonBoxNonTextElement) {
// TODO(crbug.com/889449): The test fails in LayoutNG mode.
if (RuntimeEnabledFeatures::LayoutNGEnabled())
return;
SetBodyInnerHTML( SetBodyInnerHTML(
"<style> body { height: 1000px; margin: 0; } div { height: 100px } " "<style> body { height: 1000px; margin: 0; } div { height: 100px } "
"</style>" "</style>"
...@@ -869,7 +881,7 @@ TEST_F(ScrollAnchorTest, RestoreAnchorSucceedsForNonBoxNonTextElement) { ...@@ -869,7 +881,7 @@ TEST_F(ScrollAnchorTest, RestoreAnchorSucceedsForNonBoxNonTextElement) {
ValidateSerializedAnchor("html>body>code", LayoutPoint(0, 0)); ValidateSerializedAnchor("html>body>code", LayoutPoint(0, 0));
} }
TEST_F(ScrollAnchorTest, RestoreAnchorSucceedsWhenScriptForbidden) { TEST_P(ScrollAnchorTest, RestoreAnchorSucceedsWhenScriptForbidden) {
SetBodyInnerHTML( SetBodyInnerHTML(
"<style> body { height: 1000px; margin: 0; } div { height: 100px } " "<style> body { height: 1000px; margin: 0; } div { height: 100px } "
"</style>" "</style>"
...@@ -886,7 +898,7 @@ TEST_F(ScrollAnchorTest, RestoreAnchorSucceedsWhenScriptForbidden) { ...@@ -886,7 +898,7 @@ TEST_F(ScrollAnchorTest, RestoreAnchorSucceedsWhenScriptForbidden) {
EXPECT_EQ(LayoutViewport()->ScrollOffsetInt().Height(), 100); EXPECT_EQ(LayoutViewport()->ScrollOffsetInt().Height(), 100);
} }
TEST_F(ScrollAnchorTest, RestoreAnchorSucceedsWithExistingAnchorObject) { TEST_P(ScrollAnchorTest, RestoreAnchorSucceedsWithExistingAnchorObject) {
SetBodyInnerHTML( SetBodyInnerHTML(
"<style> body { height: 1000px; margin: 0; } div { height: 100px } " "<style> body { height: 1000px; margin: 0; } div { height: 100px } "
"</style>" "</style>"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment