| Differences between
and this patch
- a/Source/WebCore/ChangeLog +21 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2022-02-07  Antti Koivisto  <antti@apple.com>
2
3
        [CSS Container Queries] Add ContainerQueryEvaluator
4
        https://bugs.webkit.org/show_bug.cgi?id=236096
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        Add ContainerQueryEvaluator. Initially it evaluates simple min/max-width/height queries.
9
10
        * Sources.txt:
11
        * WebCore.xcodeproj/project.pbxproj:
12
        * style/ContainerQueryEvaluator.h: Added.
13
        * style/ContainerQueryEvaluator.cpp: Added.
14
        (WebCore::Style::ContainerQueryEvaluator::ContainerQueryEvaluator):
15
        (WebCore::Style::computeLength):
16
        (WebCore::Style::ContainerQueryEvaluator::evaluate const):
17
        * style/ElementRuleCollector.cpp:
18
        (WebCore::Style::ElementRuleCollector::containerQueryMatches):
19
20
        Start to actually evaluate container queries.
21
1
2022-02-03  Andres Gonzalez  <andresg_22@apple.com>
22
2022-02-03  Andres Gonzalez  <andresg_22@apple.com>
2
23
3
        Crash in AXIsolatedObject::associatedAXObject.
24
        Crash in AXIsolatedObject::associatedAXObject.
- a/Source/WebCore/Sources.txt +1 lines
Lines 2554-2559 storage/StorageQuotaManager.cpp a/Source/WebCore/Sources.txt_sec1
2554
style/AttributeChangeInvalidation.cpp
2554
style/AttributeChangeInvalidation.cpp
2555
style/ChildChangeInvalidation.cpp
2555
style/ChildChangeInvalidation.cpp
2556
style/ClassChangeInvalidation.cpp
2556
style/ClassChangeInvalidation.cpp
2557
style/ContainerQueryEvaluator.cpp
2557
style/ElementRuleCollector.cpp
2558
style/ElementRuleCollector.cpp
2558
style/HasSelectorFilter.cpp
2559
style/HasSelectorFilter.cpp
2559
style/IdChangeInvalidation.cpp
2560
style/IdChangeInvalidation.cpp
- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj +6 lines
Lines 5377-5382 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec1
5377
		E4A814DA1C70E10D00BF85AC /* AttributeChangeInvalidation.h in Headers */ = {isa = PBXBuildFile; fileRef = E4A814D91C70E10D00BF85AC /* AttributeChangeInvalidation.h */; };
5377
		E4A814DA1C70E10D00BF85AC /* AttributeChangeInvalidation.h in Headers */ = {isa = PBXBuildFile; fileRef = E4A814D91C70E10D00BF85AC /* AttributeChangeInvalidation.h */; };
5378
		E4A814E01C7338EB00BF85AC /* IdChangeInvalidation.h in Headers */ = {isa = PBXBuildFile; fileRef = E4A814DF1C7338EB00BF85AC /* IdChangeInvalidation.h */; };
5378
		E4A814E01C7338EB00BF85AC /* IdChangeInvalidation.h in Headers */ = {isa = PBXBuildFile; fileRef = E4A814DF1C7338EB00BF85AC /* IdChangeInvalidation.h */; };
5379
		E4A8D21622578DB700A8463C /* EventRegion.h in Headers */ = {isa = PBXBuildFile; fileRef = E4A8D21422578DA000A8463C /* EventRegion.h */; settings = {ATTRIBUTES = (Private, ); }; };
5379
		E4A8D21622578DB700A8463C /* EventRegion.h in Headers */ = {isa = PBXBuildFile; fileRef = E4A8D21422578DA000A8463C /* EventRegion.h */; settings = {ATTRIBUTES = (Private, ); }; };
5380
		E4AAB38727AA95D7009F5899 /* ContainerQueryEvaluator.h in Headers */ = {isa = PBXBuildFile; fileRef = E4AAB38527AA95D7009F5899 /* ContainerQueryEvaluator.h */; };
5380
		E4ABABDD236088FE00FA4345 /* LayoutIntegrationLineLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = E4ABABDB236088FD00FA4345 /* LayoutIntegrationLineLayout.h */; settings = {ATTRIBUTES = (Private, ); }; };
5381
		E4ABABDD236088FE00FA4345 /* LayoutIntegrationLineLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = E4ABABDB236088FD00FA4345 /* LayoutIntegrationLineLayout.h */; settings = {ATTRIBUTES = (Private, ); }; };
5381
		E4ABABE42361A32900FA4345 /* PropertyCascade.h in Headers */ = {isa = PBXBuildFile; fileRef = E4ABABE22361A32900FA4345 /* PropertyCascade.h */; };
5382
		E4ABABE42361A32900FA4345 /* PropertyCascade.h in Headers */ = {isa = PBXBuildFile; fileRef = E4ABABE22361A32900FA4345 /* PropertyCascade.h */; };
5382
		E4ABABF32368B95900FA4345 /* StyleBuilderState.h in Headers */ = {isa = PBXBuildFile; fileRef = E4ABABF22368B95800FA4345 /* StyleBuilderState.h */; };
5383
		E4ABABF32368B95900FA4345 /* StyleBuilderState.h in Headers */ = {isa = PBXBuildFile; fileRef = E4ABABF22368B95800FA4345 /* StyleBuilderState.h */; };
Lines 17497-17502 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec2
17497
		E4A814DF1C7338EB00BF85AC /* IdChangeInvalidation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IdChangeInvalidation.h; sourceTree = "<group>"; };
17498
		E4A814DF1C7338EB00BF85AC /* IdChangeInvalidation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IdChangeInvalidation.h; sourceTree = "<group>"; };
17498
		E4A8D21422578DA000A8463C /* EventRegion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventRegion.h; sourceTree = "<group>"; };
17499
		E4A8D21422578DA000A8463C /* EventRegion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventRegion.h; sourceTree = "<group>"; };
17499
		E4A8D21522578DA000A8463C /* EventRegion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventRegion.cpp; sourceTree = "<group>"; };
17500
		E4A8D21522578DA000A8463C /* EventRegion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventRegion.cpp; sourceTree = "<group>"; };
17501
		E4AAB38527AA95D7009F5899 /* ContainerQueryEvaluator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContainerQueryEvaluator.h; sourceTree = "<group>"; };
17502
		E4AAB38827AA95E0009F5899 /* ContainerQueryEvaluator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContainerQueryEvaluator.cpp; sourceTree = "<group>"; };
17500
		E4ABABDB236088FD00FA4345 /* LayoutIntegrationLineLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayoutIntegrationLineLayout.h; sourceTree = "<group>"; };
17503
		E4ABABDB236088FD00FA4345 /* LayoutIntegrationLineLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayoutIntegrationLineLayout.h; sourceTree = "<group>"; };
17501
		E4ABABDE2360893D00FA4345 /* LayoutIntegrationLineLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayoutIntegrationLineLayout.cpp; sourceTree = "<group>"; };
17504
		E4ABABDE2360893D00FA4345 /* LayoutIntegrationLineLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayoutIntegrationLineLayout.cpp; sourceTree = "<group>"; };
17502
		E4ABABE22361A32900FA4345 /* PropertyCascade.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PropertyCascade.h; sourceTree = "<group>"; };
17505
		E4ABABE22361A32900FA4345 /* PropertyCascade.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PropertyCascade.h; sourceTree = "<group>"; };
Lines 31268-31273 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec3
31268
				E4C4C61827452A7900A040E7 /* ChildChangeInvalidation.h */,
31271
				E4C4C61827452A7900A040E7 /* ChildChangeInvalidation.h */,
31269
				E4A814D51C6DEE8D00BF85AC /* ClassChangeInvalidation.cpp */,
31272
				E4A814D51C6DEE8D00BF85AC /* ClassChangeInvalidation.cpp */,
31270
				E4A814D31C6DEC4000BF85AC /* ClassChangeInvalidation.h */,
31273
				E4A814D31C6DEC4000BF85AC /* ClassChangeInvalidation.h */,
31274
				E4AAB38827AA95E0009F5899 /* ContainerQueryEvaluator.cpp */,
31275
				E4AAB38527AA95D7009F5899 /* ContainerQueryEvaluator.h */,
31271
				FBDB619A16D6032A00BB3394 /* ElementRuleCollector.cpp */,
31276
				FBDB619A16D6032A00BB3394 /* ElementRuleCollector.cpp */,
31272
				FBDB619E16D6036500BB3394 /* ElementRuleCollector.h */,
31277
				FBDB619E16D6036500BB3394 /* ElementRuleCollector.h */,
31273
				E4ED3ECD2768A68800F17AC8 /* HasSelectorFilter.cpp */,
31278
				E4ED3ECD2768A68800F17AC8 /* HasSelectorFilter.cpp */,
Lines 33821-33826 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec4
33821
				E596DD352519041400C275A7 /* ContactsSelectOptions.h in Headers */,
33826
				E596DD352519041400C275A7 /* ContactsSelectOptions.h in Headers */,
33822
				A818721C0977D3C0005826D9 /* ContainerNode.h in Headers */,
33827
				A818721C0977D3C0005826D9 /* ContainerNode.h in Headers */,
33823
				E1A1470811102B1500EEC0F3 /* ContainerNodeAlgorithms.h in Headers */,
33828
				E1A1470811102B1500EEC0F3 /* ContainerNodeAlgorithms.h in Headers */,
33829
				E4AAB38727AA95D7009F5899 /* ContainerQueryEvaluator.h in Headers */,
33824
				6FB5E214221F2453003989CF /* ContentChangeObserver.h in Headers */,
33830
				6FB5E214221F2453003989CF /* ContentChangeObserver.h in Headers */,
33825
				BC5EB9810E82072500B25965 /* ContentData.h in Headers */,
33831
				BC5EB9810E82072500B25965 /* ContentData.h in Headers */,
33826
				51B45D211AB8D1E200117CD2 /* ContentExtension.h in Headers */,
33832
				51B45D211AB8D1E200117CD2 /* ContentExtension.h in Headers */,
- a/Source/WebCore/style/ContainerQueryEvaluator.cpp +167 lines
Line 0 a/Source/WebCore/style/ContainerQueryEvaluator.cpp_sec1
1
/*
2
 * Copyright (C) 2021 Apple Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions
6
 * are met:
7
 * 1.  Redistributions of source code must retain the above copyright
8
 *     notice, this list of conditions and the following disclaimer.
9
 * 2.  Redistributions in binary form must reproduce the above copyright
10
 *     notice, this list of conditions and the following disclaimer in the
11
 *     documentation and/or other materials provided with the distribution.
12
 *
13
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
14
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16
 * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
17
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
 */
24
25
#include "config.h"
26
#include "ContainerQueryEvaluator.h"
27
28
#include "CSSToLengthConversionData.h"
29
#include "Document.h"
30
#include "MediaFeatureNames.h"
31
#include "MediaQuery.h"
32
#include "RenderView.h"
33
34
namespace WebCore::Style {
35
36
ContainerQueryEvaluator::ContainerQueryEvaluator(const Vector<Ref<const Element>>& containers)
37
    : m_containers(containers)
38
{
39
}
40
41
static std::optional<LayoutUnit> computeLength(CSSValue* value, const CSSToLengthConversionData& conversionData)
42
{
43
    if (!is<CSSPrimitiveValue>(value))
44
        return { };
45
46
    auto& primitiveValue = downcast<CSSPrimitiveValue>(*value);
47
    if (primitiveValue.isNumberOrInteger()) {
48
        if (primitiveValue.doubleValue())
49
            return { };
50
        return 0_lu;
51
    }
52
53
    if (!primitiveValue.isLength())
54
        return { };
55
    return primitiveValue.computeLength<LayoutUnit>(conversionData);
56
}
57
58
enum class Comparator { Lesser, Greater, LesserOrEqual, GreaterOrEqual, Equal };
59
60
bool ContainerQueryEvaluator::evaluate(const ContainerQuery& containerQuery) const
61
{
62
    if (m_containers.isEmpty())
63
        return false;
64
65
    // FIXME: Match the container selector.
66
    auto* renderer = m_containers.last()->renderer();
67
    if (!renderer)
68
        return false;
69
70
    auto& view = renderer->view();
71
    CSSToLengthConversionData conversionData { &renderer->style(), &view.style(), nullptr, &view, 1 };
72
73
    auto evaluateSize = [&](const MediaQueryExpression& expression, std::optional<Comparator> comparator, auto&& sizeGetter)
74
    {
75
        if (!is<RenderBox>(renderer))
76
            return false;
77
78
        std::optional<LayoutUnit> comparisonSize;
79
80
        if (!comparator) {
81
            if (expression.value())
82
                comparator = Comparator::Equal;
83
            else {
84
                comparator = Comparator::Greater;
85
                comparisonSize = 0_lu;
86
            }
87
        }
88
89
        if (!comparisonSize) {
90
            comparisonSize = computeLength(expression.value(), conversionData);
91
            if (!comparisonSize)
92
                return false;
93
        }
94
95
        auto size = sizeGetter(downcast<RenderBox>(*renderer));
96
97
        switch (*comparator) {
98
        case Comparator::Lesser:
99
            return size < *comparisonSize;
100
        case Comparator::Greater:
101
            return size > *comparisonSize;
102
        case Comparator::LesserOrEqual:
103
            return size <= *comparisonSize;
104
        case Comparator::GreaterOrEqual:
105
            return size >= *comparisonSize;
106
        case Comparator::Equal:
107
            return size == *comparisonSize;
108
        }
109
    };
110
111
    auto evaluateWidth = [&](const MediaQueryExpression& expression, std::optional<Comparator> comparator)
112
    {
113
        return evaluateSize(expression, comparator, [&](const RenderBox& renderer) {
114
            return renderer.width();
115
        });
116
    };
117
118
    auto evaluateHeight = [&](const MediaQueryExpression& expression, std::optional<Comparator> comparator)
119
    {
120
        return evaluateSize(expression, comparator, [&](const RenderBox& renderer) {
121
            return renderer.height();
122
        });
123
    };
124
125
    bool result = false;
126
127
    // FIXME: This is very rudimentary.
128
    auto& queries = containerQuery.query->queryVector();
129
    for (auto& query : queries) {
130
        for (auto& expression : query.expressions()) {
131
            if (expression.mediaFeature() == MediaFeatureNames::minWidth) {
132
                if (evaluateWidth(expression, Comparator::GreaterOrEqual))
133
                    result = true;
134
                continue;
135
            }
136
            if (expression.mediaFeature() == MediaFeatureNames::maxWidth) {
137
                if (evaluateWidth(expression, Comparator::LesserOrEqual))
138
                    result = true;
139
                continue;
140
            }
141
            if (expression.mediaFeature() == MediaFeatureNames::width) {
142
                if (evaluateWidth(expression, { }))
143
                    result = true;
144
                continue;
145
            }
146
            if (expression.mediaFeature() == MediaFeatureNames::minHeight) {
147
                if (evaluateHeight(expression, Comparator::GreaterOrEqual))
148
                    result = true;
149
                continue;
150
            }
151
            if (expression.mediaFeature() == MediaFeatureNames::maxHeight) {
152
                if (evaluateHeight(expression, Comparator::LesserOrEqual))
153
                    result = true;
154
                continue;
155
            }
156
            if (expression.mediaFeature() == MediaFeatureNames::height) {
157
                if (evaluateHeight(expression, { }))
158
                    result = true;
159
                continue;
160
            }
161
        }
162
    }
163
164
    return result;
165
}
166
167
}
- a/Source/WebCore/style/ContainerQueryEvaluator.h +44 lines
Line 0 a/Source/WebCore/style/ContainerQueryEvaluator.h_sec1
1
/*
2
 * Copyright (C) 2021 Apple Inc. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions
6
 * are met:
7
 * 1.  Redistributions of source code must retain the above copyright
8
 *     notice, this list of conditions and the following disclaimer.
9
 * 2.  Redistributions in binary form must reproduce the above copyright
10
 *     notice, this list of conditions and the following disclaimer in the
11
 *     documentation and/or other materials provided with the distribution.
12
 *
13
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
14
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16
 * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
17
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
 */
24
25
#pragma once
26
27
namespace WebCore {
28
29
class Element;
30
31
namespace Style {
32
33
class ContainerQueryEvaluator {
34
public:
35
    ContainerQueryEvaluator(const Vector<Ref<const Element>>& containers);
36
37
    bool evaluate(const ContainerQuery&) const;
38
39
private:
40
    const Vector<Ref<const Element>> m_containers;
41
};
42
43
}
44
}
- a/Source/WebCore/style/ElementRuleCollector.cpp -3 / +5 lines
Lines 32-37 a/Source/WebCore/style/ElementRuleCollector.cpp_sec1
32
#include "CSSRuleList.h"
32
#include "CSSRuleList.h"
33
#include "CSSSelector.h"
33
#include "CSSSelector.h"
34
#include "CSSValueKeywords.h"
34
#include "CSSValueKeywords.h"
35
#include "ContainerQueryEvaluator.h"
35
#include "ElementInlines.h"
36
#include "ElementInlines.h"
36
#include "HTMLElement.h"
37
#include "HTMLElement.h"
37
#include "HTMLSlotElement.h"
38
#include "HTMLSlotElement.h"
Lines 504-515 void ElementRuleCollector::collectMatchingRulesForList(const RuleSet::RuleDataVe a/Source/WebCore/style/ElementRuleCollector.cpp_sec2
504
    }
505
    }
505
}
506
}
506
507
507
bool ElementRuleCollector::containerQueryMatches(const ContainerQuery&)
508
bool ElementRuleCollector::containerQueryMatches(const ContainerQuery& query)
508
{
509
{
509
    if (!m_selectorMatchingState)
510
    if (!m_selectorMatchingState)
510
        return true;
511
        return true;
511
    // FIXME: The actual matching.
512
512
    return !m_selectorMatchingState->queryContainers.isEmpty();
513
    ContainerQueryEvaluator evaluator(m_selectorMatchingState->queryContainers);
514
    return evaluator.evaluate(query);
513
}
515
}
514
516
515
static inline bool compareRules(MatchedRule r1, MatchedRule r2)
517
static inline bool compareRules(MatchedRule r1, MatchedRule r2)
- a/LayoutTests/ChangeLog +9 lines
Lines 1-3 a/LayoutTests/ChangeLog_sec1
1
2022-02-07  Antti Koivisto  <antti@apple.com>
2
3
        [CSS Container Queries] Add ContainerQueryEvaluator
4
        https://bugs.webkit.org/show_bug.cgi?id=236096
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * TestExpectations:
9
1
2022-02-03  Martin Robinson  <mrobinson@webkit.org>
10
2022-02-03  Martin Robinson  <mrobinson@webkit.org>
2
11
3
        Transform interpolation should blend between shared transform function primitives
12
        Transform interpolation should blend between shared transform function primitives
- a/LayoutTests/imported/w3c/ChangeLog +39 lines
Lines 1-3 a/LayoutTests/imported/w3c/ChangeLog_sec1
1
2022-02-07  Antti Koivisto  <antti@apple.com>
2
3
        [CSS Container Queries] Add ContainerQueryEvaluator
4
        https://bugs.webkit.org/show_bug.cgi?id=236096
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * web-platform-tests/css/css-contain/container-queries/animation-container-type-dynamic-expected.txt:
9
        * web-platform-tests/css/css-contain/container-queries/animation-nested-animation-expected.txt:
10
        * web-platform-tests/css/css-contain/container-queries/animation-nested-transition-expected.txt:
11
        * web-platform-tests/css/css-contain/container-queries/aspect-ratio-feature-evaluation-expected.txt:
12
        * web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
13
        * web-platform-tests/css/css-contain/container-queries/auto-scrollbars-expected.txt:
14
        * web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom.tentative-expected.txt:
15
        * web-platform-tests/css/css-contain/container-queries/container-name-invalidation-expected.txt:
16
        * web-platform-tests/css/css-contain/container-queries/container-selection-expected.txt:
17
        * web-platform-tests/css/css-contain/container-queries/container-size-invalidation-expected.txt:
18
        * web-platform-tests/css/css-contain/container-queries/container-type-invalidation-expected.txt:
19
        * web-platform-tests/css/css-contain/container-queries/display-contents-expected.txt:
20
        * web-platform-tests/css/css-contain/container-queries/display-none-expected.txt:
21
        * web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt:
22
        * web-platform-tests/css/css-contain/container-queries/font-relative-units-expected.txt:
23
        * web-platform-tests/css/css-contain/container-queries/get-animations-expected.txt:
24
        * web-platform-tests/css/css-contain/container-queries/iframe-invalidation-expected.txt:
25
        * web-platform-tests/css/css-contain/container-queries/inline-size-containment-expected.txt:
26
        * web-platform-tests/css/css-contain/container-queries/inline-size-containment-vertical-rl-expected.txt:
27
        * web-platform-tests/css/css-contain/container-queries/orthogonal-wm-container-query-expected.txt:
28
        * web-platform-tests/css/css-contain/container-queries/percentage-padding-orthogonal-expected.txt:
29
        * web-platform-tests/css/css-contain/container-queries/query-content-box-expected.txt:
30
        * web-platform-tests/css/css-contain/container-queries/query-evaluation-expected.txt:
31
        * web-platform-tests/css/css-contain/container-queries/reattach-container-with-dirty-child-expected.txt:
32
        * web-platform-tests/css/css-contain/container-queries/size-container-no-principal-box-expected.txt:
33
        * web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
34
        * web-platform-tests/css/css-contain/container-queries/top-layer-dialog-expected.txt:
35
        * web-platform-tests/css/css-contain/container-queries/top-layer-nested-dialog-expected.txt:
36
        * web-platform-tests/css/css-contain/container-queries/transition-scrollbars-expected.txt:
37
        * web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt:
38
        * web-platform-tests/css/css-contain/container-queries/viewport-units-expected.txt:
39
1
2022-02-03  Martin Robinson  <mrobinson@webkit.org>
40
2022-02-03  Martin Robinson  <mrobinson@webkit.org>
2
41
3
        Transform interpolation should blend between shared transform function primitives
42
        Transform interpolation should blend between shared transform function primitives
- a/LayoutTests/TestExpectations -2 / +1 lines
Lines 4749-4756 imported/w3c/web-platform-tests/css/css-contain/contain-html-overflow-004.html [ a/LayoutTests/TestExpectations_sec1
4749
# Container queries
4749
# Container queries
4750
webkit.org/b/229659 imported/w3c/web-platform-tests/css/css-contain/container-queries/display-in-container.html [ ImageOnlyFailure ]
4750
webkit.org/b/229659 imported/w3c/web-platform-tests/css/css-contain/container-queries/display-in-container.html [ ImageOnlyFailure ]
4751
webkit.org/b/229659 imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-elements-002.tentative.html [ ImageOnlyFailure ]
4751
webkit.org/b/229659 imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-elements-002.tentative.html [ ImageOnlyFailure ]
4752
webkit.org/b/229659 imported/w3c/web-platform-tests/css/css-contain/container-queries/inline-size-bfc-floats.html [ ImageOnlyFailure ]
4752
webkit.org/b/229659 imported/w3c/web-platform-tests/css/css-contain/container-queries/multicol-inside-container.html [ ImageOnlyFailure ]
4753
webkit.org/b/229659 imported/w3c/web-platform-tests/css/css-contain/container-queries/whitespace-update-after-removal.html [ ImageOnlyFailure ]
4754
4753
4755
# Flaky css-contain test
4754
# Flaky css-contain test
4756
imported/w3c/web-platform-tests/css/css-contain/content-visibility/animation-display-lock.html [ Failure Pass ]
4755
imported/w3c/web-platform-tests/css/css-contain/content-visibility/animation-display-lock.html [ Failure Pass ]
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/animation-container-type-dynamic-expected.txt -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/animation-container-type-dynamic-expected.txt_sec1
1
Test
1
Test
2
2
3
FAIL Animated container creating new container assert_equals: expected "rgb(0, 0, 255)" but got "rgb(0, 128, 0)"
3
FAIL Animated container creating new container assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 255)"
4
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/animation-nested-animation-expected.txt -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/animation-nested-animation-expected.txt_sec1
1
Test
1
Test
2
2
3
FAIL Animated container can create inner animation assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 255)"
3
FAIL Animated container can create inner animation assert_equals: expected "rgb(0, 0, 255)" but got "rgb(0, 128, 0)"
4
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/animation-nested-transition-expected.txt -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/animation-nested-transition-expected.txt_sec1
1
Test
1
Test
2
2
3
FAIL Animated container size triggers transition assert_equals: expected "rgb(100, 100, 100)" but got "rgb(200, 200, 200)"
3
FAIL Animated container size triggers transition assert_equals: expected "rgb(150, 150, 150)" but got "rgb(100, 100, 100)"
4
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/aspect-ratio-feature-evaluation-expected.txt -2 / +2 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/aspect-ratio-feature-evaluation-expected.txt_sec1
1
1
2
FAIL @container queries with aspect-ratio and size containment assert_equals: Should not match for inline-size containment expected "rgb(255, 0, 0)" but got "rgb(0, 128, 0)"
2
FAIL @container queries with aspect-ratio and size containment assert_equals: Should match for block-size containment expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
3
PASS @container query with aspect-ratio change after resize
3
FAIL @container query with aspect-ratio change after resize assert_equals: Should match 2/1 min-ratio expected "rgb(0, 255, 0)" but got "rgba(0, 0, 0, 0)"
4
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt -34 / +34 lines
Lines 1-38 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt_sec1
1
1
2
PASS size(width)
2
FAIL size(width) assert_equals: expected "true" but got ""
3
PASS size(min-width: 0px)
3
FAIL size(min-width: 0px) assert_equals: expected "true" but got ""
4
PASS size(max-width: 0px)
4
FAIL size(max-width: 0px) assert_equals: expected "true" but got ""
5
PASS size(height)
5
FAIL size(height) assert_equals: expected "true" but got ""
6
PASS size(min-height: 0px)
6
FAIL size(min-height: 0px) assert_equals: expected "true" but got ""
7
PASS size(max-height: 0px)
7
FAIL size(max-height: 0px) assert_equals: expected "true" but got ""
8
PASS size(aspect-ratio)
8
FAIL size(aspect-ratio) assert_equals: expected "true" but got ""
9
PASS size(min-aspect-ratio: 1/2)
9
FAIL size(min-aspect-ratio: 1/2) assert_equals: expected "true" but got ""
10
PASS size(max-aspect-ratio: 1/2)
10
FAIL size(max-aspect-ratio: 1/2) assert_equals: expected "true" but got ""
11
PASS size(orientation: portrait)
11
FAIL size(orientation: portrait) assert_equals: expected "true" but got ""
12
PASS size(inline-size)
12
FAIL size(inline-size) assert_equals: expected "true" but got ""
13
PASS size(min-inline-size: 0px)
13
FAIL size(min-inline-size: 0px) assert_equals: expected "true" but got ""
14
PASS size(max-inline-size: 0px)
14
FAIL size(max-inline-size: 0px) assert_equals: expected "true" but got ""
15
PASS size(block-size)
15
FAIL size(block-size) assert_equals: expected "true" but got ""
16
PASS size(min-block-size: 0px)
16
FAIL size(min-block-size: 0px) assert_equals: expected "true" but got ""
17
PASS size(max-block-size: 0px)
17
FAIL size(max-block-size: 0px) assert_equals: expected "true" but got ""
18
PASS size(width: 100px)
18
FAIL size(width: 100px) assert_equals: expected "true" but got ""
19
PASS size((width: 100px))
19
FAIL size((width: 100px)) assert_equals: expected "true" but got ""
20
PASS size(not (width: 100px))
20
FAIL size(not (width: 100px)) assert_equals: expected "true" but got ""
21
PASS size((width: 100px) and (height: 100px))
21
FAIL size((width: 100px) and (height: 100px)) assert_equals: expected "true" but got ""
22
PASS size((width: 50px) or (height: 100px))
22
FAIL size((width: 50px) or (height: 100px)) assert_equals: expected "true" but got ""
23
PASS size(width < 100px)
23
FAIL size(width < 100px) assert_equals: expected "true" but got ""
24
PASS size(100px < width)
24
FAIL size(100px < width) assert_equals: expected "true" but got ""
25
PASS size(100px < width < 200px)
25
FAIL size(100px < width < 200px) assert_equals: expected "true" but got ""
26
FAIL foo(width) assert_equals: expected "" but got "true"
26
PASS foo(width)
27
FAIL size(asdf) assert_equals: expected "" but got "true"
27
PASS size(asdf)
28
FAIL size(resolution > 100dpi) assert_equals: expected "" but got "true"
28
PASS size(resolution > 100dpi)
29
FAIL size(resolution: 150dpi) assert_equals: expected "" but got "true"
29
PASS size(resolution: 150dpi)
30
FAIL size(color) assert_equals: expected "" but got "true"
30
PASS size(color)
31
FAIL size(min-color: 1) assert_equals: expected "" but got "true"
31
PASS size(min-color: 1)
32
FAIL size(color-index >= 1) assert_equals: expected "" but got "true"
32
PASS size(color-index >= 1)
33
FAIL (color-index >= 1) assert_equals: expected "" but got "true"
33
PASS (color-index >= 1)
34
FAIL size(grid) assert_equals: expected "" but got "true"
34
PASS size(grid)
35
FAIL (grid) assert_equals: expected "" but got "true"
35
PASS (grid)
36
PASS screen
36
PASS screen
37
PASS print
37
PASS print
38
PASS not print
38
PASS not print
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/auto-scrollbars-expected.txt -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/auto-scrollbars-expected.txt_sec1
1
1
2
FAIL Initial layout - expecting a scrollbar without overflowing content instead of overflowing content without a scrollbar assert_less_than: Expects a vertical scrollbar expected a number less than 100 but got 100
2
FAIL Initial layout - expecting a scrollbar without overflowing content instead of overflowing content without a scrollbar assert_equals: Layout with a scrollbar means the container query applies expected "50px" but got "100px"
3
FAIL Same result after a reflow assert_less_than: Expects a vertical scrollbar expected a number less than 100 but got 100
3
FAIL Same result after a reflow assert_less_than: Expects a vertical scrollbar expected a number less than 100 but got 100
4
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom.tentative-expected.txt -1 / +1 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom.tentative-expected.txt_sec1
1
1
2
FAIL Match container in outer tree null is not an object (evaluating 'document.querySelector("#inclusive-ancestor-across-root > div").shadowRoot.querySelector')
2
FAIL Match container in outer tree null is not an object (evaluating 'document.querySelector("#inclusive-ancestor-across-root > div").shadowRoot.querySelector')
3
PASS Match container in same tree, not walking flat tree ancestors
3
FAIL Match container in same tree, not walking flat tree ancestors assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 0)"
4
FAIL Match container in ::slotted selector's originating element tree assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 0)"
4
FAIL Match container in ::slotted selector's originating element tree assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 0)"
5
FAIL Match container in outer tree for :host assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 0)"
5
FAIL Match container in outer tree for :host assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 0)"
6
FAIL Match container in ::part selector's originating element tree null is not an object (evaluating 'document.querySelector("#inclusive-ancestor-part > div").shadowRoot.querySelector')
6
FAIL Match container in ::part selector's originating element tree null is not an object (evaluating 'document.querySelector("#inclusive-ancestor-part > div").shadowRoot.querySelector')
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-invalidation-expected.txt -2 / +2 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-invalidation-expected.txt_sec1
1
Test
1
Test
2
2
3
FAIL Changing a named container invalidates relevant descendants assert_equals: expected "rgb(0, 0, 0)" but got "rgb(0, 128, 0)"
3
FAIL Changing a named container invalidates relevant descendants assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 0)"
4
FAIL Changing container-name invalidates relevant descendants assert_equals: expected "rgb(0, 0, 0)" but got "rgb(0, 128, 0)"
4
FAIL Changing container-name invalidates relevant descendants assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 0)"
5
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-selection-expected.txt -16 / +16 lines
Lines 3-27 PASS size(width: 16px) for .size > .inline > span a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-selection-expected.txt_sec1
3
PASS size(height: 16px) for .inline > .size > span
3
PASS size(height: 16px) for .inline > .size > span
4
PASS size(width: 16px) for .inline > .size > span
4
PASS size(width: 16px) for .inline > .size > span
5
FAIL size(height) for .size > .inline > span assert_equals: expected "" but got "true"
5
FAIL size(height) for .size > .inline > span assert_equals: expected "" but got "true"
6
PASS type(inline-size) size(width: 16px) for .inline > .size > span
6
FAIL type(inline-size) size(width: 16px) for .inline > .size > span assert_equals: expected "true" but got ""
7
PASS type(inline-size) size(width: 16px) for .size > .inline > span
7
FAIL type(inline-size) size(width: 16px) for .size > .inline > span assert_equals: expected "true" but got ""
8
PASS type(size) size(height: 16px) for .inline > .size > span
8
FAIL type(size) size(height: 16px) for .inline > .size > span assert_equals: expected "true" but got ""
9
PASS type(size) size(height: 32px) for .size > .inline > span
9
FAIL type(size) size(height: 32px) for .size > .inline > span assert_equals: expected "true" but got ""
10
FAIL type(size) size(height) for .inline > .inline > span assert_equals: expected "" but got "true"
10
PASS type(size) size(height) for .inline > .inline > span
11
PASS name(a) size(width: 32px) for .a-size > .b-size > span
11
FAIL name(a) size(width: 32px) for .a-size > .b-size > span assert_equals: expected "true" but got ""
12
PASS name(b) size(width: 16px) for .a-size > .b-size > span
12
FAIL name(b) size(width: 16px) for .a-size > .b-size > span assert_equals: expected "true" but got ""
13
FAIL name(c) size(width) for .a-size > .b-size > span assert_equals: expected "" but got "true"
13
PASS name(c) size(width) for .a-size > .b-size > span
14
PASS name(a) size(width: 16px) for .a-size > .a-size > span
14
FAIL name(a) size(width: 16px) for .a-size > .a-size > span assert_equals: expected "true" but got ""
15
PASS a size(width: 32px) for .a-size > .b-size > span
15
FAIL a size(width: 32px) for .a-size > .b-size > span assert_equals: expected "true" but got ""
16
PASS b size(width: 16px) for .a-size > .b-size > span
16
PASS b size(width: 16px) for .a-size > .b-size > span
17
FAIL c size(width) for .a-size > .b-size > span assert_equals: expected "" but got "true"
17
FAIL c size(width) for .a-size > .b-size > span assert_equals: expected "" but got "true"
18
PASS a size(width: 16px) for .a-size > .a-size > span
18
PASS a size(width: 16px) for .a-size > .a-size > span
19
PASS a size(width: 32px) for .a-size > .a > span
19
PASS a size(width: 32px) for .a-size > .a > span
20
PASS name(a) type(inline-size) size(width: 8px) for .a-size > .b-size > .a-inline > span
20
FAIL name(a) type(inline-size) size(width: 8px) for .a-size > .b-size > .a-inline > span assert_equals: expected "true" but got ""
21
PASS name(b) type(inline-size) size(width: 16px) for .a-size > .b-size > .a-inline > span
21
FAIL name(b) type(inline-size) size(width: 16px) for .a-size > .b-size > .a-inline > span assert_equals: expected "true" but got ""
22
PASS name(a) type(size) size(width: 32px) for .a-size > .b-size > .a-inline > span
22
FAIL name(a) type(size) size(width: 32px) for .a-size > .b-size > .a-inline > span assert_equals: expected "true" but got ""
23
PASS name(b) type(size) size(width: 16px) for .a-size > .b-size > .a-inline > span
23
FAIL name(b) type(size) size(width: 16px) for .a-size > .b-size > .a-inline > span assert_equals: expected "true" but got ""
24
PASS name(a) type(size) size(width) for .a-inline > .b-size
24
PASS name(a) type(size) size(width) for .a-inline > .b-size
25
PASS type(inline-size) name(a) size(width: 8px) for .a-size > .b-size > .a-inline > span
25
FAIL type(inline-size) name(a) size(width: 8px) for .a-size > .b-size > .a-inline > span assert_equals: expected "true" but got ""
26
PASS type(size) name(a) size(height: 32px) for .a-size > .b-size > .a-inline > span
26
FAIL type(size) name(a) size(height: 32px) for .a-size > .b-size > .a-inline > span assert_equals: expected "true" but got ""
27
27
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-invalidation-expected.txt -2 / +2 lines
Lines 2-7 Test a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-invalidation-expected.txt_sec1
2
Deep
2
Deep
3
3
4
4
5
FAIL Children respond to changes in container size assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 128, 0)"
5
PASS Children respond to changes in container size
6
FAIL Descendants respond to changes in container size assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 128, 0)"
6
PASS Descendants respond to changes in container size
7
7
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-invalidation-expected.txt -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-invalidation-expected.txt_sec1
1
Test
1
Test
2
2
3
FAIL Changing the container type invalidates relevant descendants assert_equals: expected "rgb(0, 0, 0)" but got "rgb(0, 128, 0)"
3
FAIL Changing the container type invalidates relevant descendants assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 0)"
4
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/display-contents-expected.txt -2 / +2 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/display-contents-expected.txt_sec1
1
1
2
FAIL getComputedStyle when container is display:contents assert_equals: expected "" but got "50"
2
FAIL getComputedStyle when container is display:contents assert_equals: expected "" but got "50"
3
FAIL getComputedStyle when container becomes display:contents assert_equals: expected "30" but got "50"
3
FAIL getComputedStyle when container becomes display:contents assert_equals: expected "" but got "50"
4
FAIL getComputedStyle when intermediate container becomes display:contents assert_equals: expected "30" but got "50"
4
FAIL getComputedStyle when intermediate container becomes display:contents assert_equals: expected "" but got "50"
5
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/display-none-expected.txt -3 / +3 lines
Lines 10-18 FAIL getComputedStyle when outer container is display:none assert_equals: expect a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/display-none-expected.txt_sec1
10
FAIL getComputedStyle when element becomes display:none assert_equals: expected "30" but got "50"
10
FAIL getComputedStyle when element becomes display:none assert_equals: expected "30" but got "50"
11
FAIL getComputedStyle when parent becomes display:none assert_equals: expected "30" but got "50"
11
FAIL getComputedStyle when parent becomes display:none assert_equals: expected "30" but got "50"
12
FAIL getComputedStyle when ancestor becomes display:none assert_equals: expected "30" but got "50"
12
FAIL getComputedStyle when ancestor becomes display:none assert_equals: expected "30" but got "50"
13
FAIL getComputedStyle when container becomes display:none assert_equals: expected "30" but got "50"
13
FAIL getComputedStyle when container becomes display:none assert_equals: expected "" but got "50"
14
FAIL getComputedStyle when intermediate container becomes display:none assert_equals: expected "30" but got "50"
14
FAIL getComputedStyle when intermediate container becomes display:none assert_equals: expected "" but got "50"
15
FAIL getComputedStyle when ::before is display:none assert_equals: expected "30" but got "50"
15
PASS getComputedStyle when ::before is display:none
16
FAIL getComputedStyle when originating element is display:none assert_equals: expected "30" but got "50"
16
FAIL getComputedStyle when originating element is display:none assert_equals: expected "30" but got "50"
17
FAIL getComputedStyle on ::before when ancestor element is display:none assert_equals: expected "30" but got "50"
17
FAIL getComputedStyle on ::before when ancestor element is display:none assert_equals: expected "30" but got "50"
18
FAIL getComputedStyle on ::before when container is display:none assert_equals: expected "" but got "50"
18
FAIL getComputedStyle on ::before when container is display:none assert_equals: expected "" but got "50"
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt -5 / +5 lines
Lines 1-10 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt_sec1
1
1
2
FAIL em relative before change assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 128, 0)"
2
PASS em relative before change
3
FAIL rem relative before change assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 128, 0)"
3
PASS rem relative before change
4
FAIL ex relative before change assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 128, 0)"
4
PASS ex relative before change
5
FAIL ch relative before change assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 128, 0)"
5
PASS ch relative before change
6
PASS em relative after change
6
PASS em relative after change
7
PASS rem relative after change
7
FAIL rem relative after change assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
8
PASS ex relative after change
8
PASS ex relative after change
9
PASS ch relative after change
9
PASS ch relative after change
10
10
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-expected.txt -1 / +1 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-expected.txt_sec1
1
1
2
PASS em relative inline-size
2
PASS em relative inline-size
3
PASS rem relative inline-size
3
FAIL rem relative inline-size assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 0)"
4
PASS ex relative inline-size
4
PASS ex relative inline-size
5
PASS ch relative inline-size
5
PASS ch relative inline-size
6
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/get-animations-expected.txt -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/get-animations-expected.txt_sec1
1
Green
1
Green
2
2
3
FAIL Calling getAnimations updates layout of parent frame if needed assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 128, 0)"
3
PASS Calling getAnimations updates layout of parent frame if needed
4
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/iframe-invalidation-expected.txt -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/iframe-invalidation-expected.txt_sec1
1
1
2
2
3
FAIL @container-dependent elements respond to iframe size changes assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 128, 0)"
3
FAIL @container-dependent elements respond to iframe size changes assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
4
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/inline-size-containment-vertical-rl-expected.txt -1 / +1 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/inline-size-containment-vertical-rl-expected.txt_sec1
1
1
2
FAIL inline-size containment only assert_equals: expected 400 but got 20
2
FAIL inline-size containment only assert_equals: expected 50 but got 400
3
3
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/orthogonal-wm-container-query-expected.txt -1 / +1 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/orthogonal-wm-container-query-expected.txt_sec1
1
XX
1
XX
2
2
3
FAIL Initial non-orthogonal width assert_equals: expected 400 but got 50
3
PASS Initial non-orthogonal width
4
PASS Orthogonal width
4
PASS Orthogonal width
5
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/percentage-padding-orthogonal-expected.txt -2 / +2 lines
Lines 1-8 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/percentage-padding-orthogonal-expected.txt_sec1
1
1
2
FAIL #container height measured with 500px width. Both container children visible assert_equals: expected 100 but got 0
2
FAIL #container height measured with 500px width. Both container children visible assert_equals: expected 100 but got 0
3
FAIL #container width 400px after padding is applied. assert_equals: expected 400 but got 500
3
FAIL #container width 400px after padding is applied. assert_equals: expected 400 but got 500
4
PASS #container width 400px after padding is applied. #second is removed from the rendering
4
FAIL #container width 400px after padding is applied. #second is removed from the rendering assert_equals: expected 50 but got 100
5
FAIL #container height measured with 499px width. Both container children visible assert_equals: expected 100 but got 0
5
FAIL #container height measured with 499px width. Both container children visible assert_equals: expected 100 but got 0
6
FAIL #container width 399px after padding is applied. #second is removed from the rendering assert_equals: expected 399 but got 500
6
FAIL #container width 399px after padding is applied. #second is removed from the rendering assert_equals: expected 399 but got 500
7
PASS #container width 399x after padding is applied. #second is removed from the rendering
7
FAIL #container width 399x after padding is applied. #second is removed from the rendering assert_equals: expected 50 but got 100
8
8
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/query-content-box-expected.txt -4 / +4 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/query-content-box-expected.txt_sec1
1
1
2
PASS Size queries with content-box sizing
2
FAIL Size queries with content-box sizing assert_equals: expected "rgb(0, 128, 0)" but got "rgba(0, 0, 0, 0)"
3
PASS Size queries with border-box sizing
3
FAIL Size queries with border-box sizing assert_equals: expected "rgb(0, 128, 0)" but got "rgba(0, 0, 0, 0)"
4
PASS Size queries with content-box sizing and overflow:scroll
4
FAIL Size queries with content-box sizing and overflow:scroll assert_equals: expected "rgb(0, 128, 0)" but got "rgba(0, 0, 0, 0)"
5
PASS Size queries with border-box sizing and overflow:scroll
5
FAIL Size queries with border-box sizing and overflow:scroll assert_equals: expected "rgb(0, 128, 0)" but got "rgba(0, 0, 0, 0)"
6
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/query-evaluation-expected.txt -68 / +68 lines
Lines 1-71 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/query-evaluation-expected.txt_sec1
1
1
2
PASS size(width)
2
PASS size(width)
3
FAIL size(height) assert_equals: expected "false" but got "true"
3
PASS size(height)
4
FAIL size(unknown) assert_equals: expected "false" but got "true"
4
PASS size(unknown)
5
FAIL unknown(width) assert_equals: expected "false" but got "true"
5
PASS unknown(width)
6
PASS (size(width))
6
FAIL (size(width)) assert_equals: expected "true" but got "false"
7
FAIL (size(height)) assert_equals: expected "false" but got "true"
7
PASS (size(height))
8
FAIL (size(unknown)) assert_equals: expected "false" but got "true"
8
PASS (size(unknown))
9
PASS (((size(width))))
9
FAIL (((size(width)))) assert_equals: expected "true" but got "false"
10
FAIL (((size(height)))) assert_equals: expected "false" but got "true"
10
PASS (((size(height))))
11
FAIL (((size(unknown)))) assert_equals: expected "false" but got "true"
11
PASS (((size(unknown))))
12
FAIL (not size(width)) assert_equals: expected "false" but got "true"
12
PASS (not size(width))
13
PASS (not size(height))
13
FAIL (not size(height)) assert_equals: expected "true" but got "false"
14
FAIL (not size(unknown)) assert_equals: expected "false" but got "true"
14
PASS (not size(unknown))
15
FAIL (not unknown(width)) assert_equals: expected "false" but got "true"
15
PASS (not unknown(width))
16
PASS (size(width) and size(width))
16
FAIL (size(width) and size(width)) assert_equals: expected "true" but got "false"
17
PASS (size(width) and size(width) and size(width))
17
FAIL (size(width) and size(width) and size(width)) assert_equals: expected "true" but got "false"
18
FAIL (size(height) and size(height)) assert_equals: expected "false" but got "true"
18
PASS (size(height) and size(height))
19
FAIL (size(height) and size(width) and size(width)) assert_equals: expected "false" but got "true"
19
PASS (size(height) and size(width) and size(width))
20
FAIL (size(width) and size(height) and size(width)) assert_equals: expected "false" but got "true"
20
PASS (size(width) and size(height) and size(width))
21
FAIL (size(width) and size(width) and size(height)) assert_equals: expected "false" but got "true"
21
PASS (size(width) and size(width) and size(height))
22
FAIL (size(unknown) and size(width) and size(width)) assert_equals: expected "false" but got "true"
22
PASS (size(unknown) and size(width) and size(width))
23
FAIL (size(width) and size(unknown) and size(width)) assert_equals: expected "false" but got "true"
23
PASS (size(width) and size(unknown) and size(width))
24
FAIL (size(width) and size(width) and size(unknown)) assert_equals: expected "false" but got "true"
24
PASS (size(width) and size(width) and size(unknown))
25
PASS (size(width) or size(width))
25
FAIL (size(width) or size(width)) assert_equals: expected "true" but got "false"
26
PASS (size(width) or size(width) or size(width))
26
FAIL (size(width) or size(width) or size(width)) assert_equals: expected "true" but got "false"
27
FAIL (size(height) or size(height)) assert_equals: expected "false" but got "true"
27
PASS (size(height) or size(height))
28
PASS (size(height) or size(width) or size(width))
28
FAIL (size(height) or size(width) or size(width)) assert_equals: expected "true" but got "false"
29
PASS (size(width) or size(height) or size(width))
29
FAIL (size(width) or size(height) or size(width)) assert_equals: expected "true" but got "false"
30
PASS (size(width) or size(width) or size(height))
30
FAIL (size(width) or size(width) or size(height)) assert_equals: expected "true" but got "false"
31
PASS (size(unknown) or size(width) or size(width))
31
FAIL (size(unknown) or size(width) or size(width)) assert_equals: expected "true" but got "false"
32
PASS (size(width) or size(unknown) or size(width))
32
FAIL (size(width) or size(unknown) or size(width)) assert_equals: expected "true" but got "false"
33
PASS (size(width) or size(width) or size(unknown))
33
FAIL (size(width) or size(width) or size(unknown)) assert_equals: expected "true" but got "false"
34
PASS (size(unknown) or size(height) or size(width))
34
FAIL (size(unknown) or size(height) or size(width)) assert_equals: expected "true" but got "false"
35
FAIL (not (size(width) and size(width))) assert_equals: expected "false" but got "true"
35
PASS (not (size(width) and size(width)))
36
PASS (not (size(width) and size(height)))
36
FAIL (not (size(width) and size(height))) assert_equals: expected "true" but got "false"
37
FAIL (size(width) and (not (size(height) or size(width)))) assert_equals: expected "false" but got "true"
37
PASS (size(width) and (not (size(height) or size(width))))
38
PASS (size(height) or (not (size(height) and size(width))))
38
FAIL (size(height) or (not (size(height) and size(width)))) assert_equals: expected "true" but got "false"
39
FAIL (size(height) or (size(height) and size(width))) assert_equals: expected "false" but got "true"
39
PASS (size(height) or (size(height) and size(width)))
40
PASS size((width))
40
FAIL size((width)) assert_equals: expected "true" but got "false"
41
FAIL size((height)) assert_equals: expected "false" but got "true"
41
PASS size((height))
42
FAIL size((unknown)) assert_equals: expected "false" but got "true"
42
PASS size((unknown))
43
FAIL unknown((width)) assert_equals: expected "false" but got "true"
43
PASS unknown((width))
44
FAIL size(not (width)) assert_equals: expected "false" but got "true"
44
PASS size(not (width))
45
PASS size(not (height))
45
FAIL size(not (height)) assert_equals: expected "true" but got "false"
46
FAIL size(not (unknown)) assert_equals: expected "false" but got "true"
46
PASS size(not (unknown))
47
PASS size((width) and (width))
47
FAIL size((width) and (width)) assert_equals: expected "true" but got "false"
48
PASS size((width) and (width) and (width))
48
FAIL size((width) and (width) and (width)) assert_equals: expected "true" but got "false"
49
FAIL size((height) and (height)) assert_equals: expected "false" but got "true"
49
PASS size((height) and (height))
50
FAIL size((height) and (width) and (width)) assert_equals: expected "false" but got "true"
50
PASS size((height) and (width) and (width))
51
FAIL size((width) and (height) and (width)) assert_equals: expected "false" but got "true"
51
PASS size((width) and (height) and (width))
52
FAIL size((width) and (width) and (height)) assert_equals: expected "false" but got "true"
52
PASS size((width) and (width) and (height))
53
FAIL size((unknown) and (width) and (width)) assert_equals: expected "false" but got "true"
53
PASS size((unknown) and (width) and (width))
54
FAIL size((width) and (unknown) and (width)) assert_equals: expected "false" but got "true"
54
PASS size((width) and (unknown) and (width))
55
FAIL size((width) and (width) and (unknown)) assert_equals: expected "false" but got "true"
55
PASS size((width) and (width) and (unknown))
56
PASS size((width) or (width))
56
FAIL size((width) or (width)) assert_equals: expected "true" but got "false"
57
PASS size((width) or (width) or (width))
57
FAIL size((width) or (width) or (width)) assert_equals: expected "true" but got "false"
58
FAIL size((height) or (height)) assert_equals: expected "false" but got "true"
58
PASS size((height) or (height))
59
PASS size((height) or (width) or (width))
59
FAIL size((height) or (width) or (width)) assert_equals: expected "true" but got "false"
60
PASS size((width) or (height) or (width))
60
FAIL size((width) or (height) or (width)) assert_equals: expected "true" but got "false"
61
PASS size((width) or (width) or (height))
61
FAIL size((width) or (width) or (height)) assert_equals: expected "true" but got "false"
62
PASS size((unknown) or (width) or (width))
62
FAIL size((unknown) or (width) or (width)) assert_equals: expected "true" but got "false"
63
PASS size((width) or (unknown) or (width))
63
FAIL size((width) or (unknown) or (width)) assert_equals: expected "true" but got "false"
64
PASS size((width) or (width) or (unknown))
64
FAIL size((width) or (width) or (unknown)) assert_equals: expected "true" but got "false"
65
PASS size((unknown) or (height) or (width))
65
FAIL size((unknown) or (height) or (width)) assert_equals: expected "true" but got "false"
66
FAIL size(not ((width) and (width))) assert_equals: expected "false" but got "true"
66
PASS size(not ((width) and (width)))
67
PASS size(not ((width) and (height)))
67
FAIL size(not ((width) and (height))) assert_equals: expected "true" but got "false"
68
FAIL size((width) and (not ((height) or (width)))) assert_equals: expected "false" but got "true"
68
PASS size((width) and (not ((height) or (width))))
69
PASS size((height) or (not ((height) and (width))))
69
FAIL size((height) or (not ((height) and (width)))) assert_equals: expected "true" but got "false"
70
FAIL size((height) or ((height) and (width))) assert_equals: expected "false" but got "true"
70
PASS size((height) or ((height) and (width)))
71
71
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/reattach-container-with-dirty-child-expected.txt -1 / +1 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/reattach-container-with-dirty-child-expected.txt_sec1
1
XXX
1
XXX
2
2
3
FAIL Initially wider than 200px assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 255, 0)"
3
PASS Initially wider than 200px
4
PASS Container query changed and inner.style applied
4
PASS Container query changed and inner.style applied
5
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/size-container-no-principal-box-expected.txt -1 / +1 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/size-container-no-principal-box-expected.txt_sec1
1
1
2
PASS Check that container queries is supported
2
PASS Check that container queries is supported
3
FAIL (min-width: 0) does not match a container without a principal box (display:none) assert_equals: expected "rgb(0, 0, 0)" but got "rgb(255, 0, 0)"
3
FAIL (min-width: 0) does not match a container without a principal box (display:none) assert_equals: expected "rgb(0, 0, 0)" but got "rgb(255, 0, 0)"
4
FAIL (min-width: 0) does not match a container without a principal box (display:contents) assert_equals: expected "rgb(0, 0, 0)" but got "rgb(255, 0, 0)"
4
PASS (min-width: 0) does not match a container without a principal box (display:contents)
5
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt -48 / +48 lines
Lines 1-59 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt_sec1
1
Test
1
Test
2
2
3
FAIL size(width < 100px) (.horizontal) assert_equals: expected "" but got "true"
3
PASS size(width < 100px) (.horizontal)
4
PASS size(width >= 100px) (.horizontal)
4
FAIL size(width >= 100px) (.horizontal) assert_equals: expected "true" but got ""
5
PASS size(min-width: 100px) (.horizontal)
5
PASS size(min-width: 100px) (.horizontal)
6
FAIL size(min-width: 101px) (.horizontal) assert_equals: expected "" but got "true"
6
PASS size(min-width: 101px) (.horizontal)
7
PASS size(max-width: 100px) (.horizontal)
7
PASS size(max-width: 100px) (.horizontal)
8
FAIL size(max-width: 99px) (.horizontal) assert_equals: expected "" but got "true"
8
PASS size(max-width: 99px) (.horizontal)
9
FAIL size(height < 200px) (.horizontal) assert_equals: expected "" but got "true"
9
PASS size(height < 200px) (.horizontal)
10
PASS size(height >= 200px) (.horizontal)
10
FAIL size(height >= 200px) (.horizontal) assert_equals: expected "true" but got ""
11
PASS size(min-height: 200px) (.horizontal)
11
PASS size(min-height: 200px) (.horizontal)
12
FAIL size(min-height: 201px) (.horizontal) assert_equals: expected "" but got "true"
12
PASS size(min-height: 201px) (.horizontal)
13
PASS size(max-height: 200px) (.horizontal)
13
PASS size(max-height: 200px) (.horizontal)
14
FAIL size(max-height: 199px) (.horizontal) assert_equals: expected "" but got "true"
14
PASS size(max-height: 199px) (.horizontal)
15
FAIL size(inline-size < 100px) (.horizontal) assert_equals: expected "" but got "true"
15
PASS size(inline-size < 100px) (.horizontal)
16
PASS size(inline-size >= 100px) (.horizontal)
16
FAIL size(inline-size >= 100px) (.horizontal) assert_equals: expected "true" but got ""
17
PASS size(min-inline-size: 100px) (.horizontal)
17
FAIL size(min-inline-size: 100px) (.horizontal) assert_equals: expected "true" but got ""
18
FAIL size(min-inline-size: 101px) (.horizontal) assert_equals: expected "" but got "true"
18
PASS size(min-inline-size: 101px) (.horizontal)
19
PASS size(max-inline-size: 100px) (.horizontal)
19
FAIL size(max-inline-size: 100px) (.horizontal) assert_equals: expected "true" but got ""
20
FAIL size(max-inline-size: 99px) (.horizontal) assert_equals: expected "" but got "true"
20
PASS size(max-inline-size: 99px) (.horizontal)
21
FAIL size(block-size < 200px) (.horizontal) assert_equals: expected "" but got "true"
21
PASS size(block-size < 200px) (.horizontal)
22
PASS size(block-size >= 200px) (.horizontal)
22
FAIL size(block-size >= 200px) (.horizontal) assert_equals: expected "true" but got ""
23
PASS size(min-block-size: 200px) (.horizontal)
23
FAIL size(min-block-size: 200px) (.horizontal) assert_equals: expected "true" but got ""
24
FAIL size(min-block-size: 201px) (.horizontal) assert_equals: expected "" but got "true"
24
PASS size(min-block-size: 201px) (.horizontal)
25
PASS size(max-block-size: 200px) (.horizontal)
25
FAIL size(max-block-size: 200px) (.horizontal) assert_equals: expected "true" but got ""
26
FAIL size(max-block-size: 199px) (.horizontal) assert_equals: expected "" but got "true"
26
PASS size(max-block-size: 199px) (.horizontal)
27
FAIL size(orientation: landscape) (.horizontal) assert_equals: expected "" but got "true"
27
PASS size(orientation: landscape) (.horizontal)
28
PASS size(orientation: portrait) (.horizontal)
28
FAIL size(orientation: portrait) (.horizontal) assert_equals: expected "true" but got ""
29
PASS size(aspect-ratio: 1/2) (.horizontal)
29
FAIL size(aspect-ratio: 1/2) (.horizontal) assert_equals: expected "true" but got ""
30
FAIL size(aspect-ratio: 2/1) (.horizontal) assert_equals: expected "" but got "true"
30
PASS size(aspect-ratio: 2/1) (.horizontal)
31
FAIL size(width < 100px) (.vertical) assert_equals: expected "" but got "true"
31
PASS size(width < 100px) (.vertical)
32
PASS size(width >= 100px) (.vertical)
32
FAIL size(width >= 100px) (.vertical) assert_equals: expected "true" but got ""
33
PASS size(min-width: 100px) (.vertical)
33
PASS size(min-width: 100px) (.vertical)
34
FAIL size(min-width: 101px) (.vertical) assert_equals: expected "" but got "true"
34
PASS size(min-width: 101px) (.vertical)
35
PASS size(max-width: 100px) (.vertical)
35
PASS size(max-width: 100px) (.vertical)
36
FAIL size(max-width: 99px) (.vertical) assert_equals: expected "" but got "true"
36
PASS size(max-width: 99px) (.vertical)
37
FAIL size(height < 200px) (.vertical) assert_equals: expected "" but got "true"
37
PASS size(height < 200px) (.vertical)
38
PASS size(height >= 200px) (.vertical)
38
FAIL size(height >= 200px) (.vertical) assert_equals: expected "true" but got ""
39
PASS size(min-height: 200px) (.vertical)
39
PASS size(min-height: 200px) (.vertical)
40
FAIL size(min-height: 201px) (.vertical) assert_equals: expected "" but got "true"
40
PASS size(min-height: 201px) (.vertical)
41
PASS size(max-height: 200px) (.vertical)
41
PASS size(max-height: 200px) (.vertical)
42
FAIL size(max-height: 199px) (.vertical) assert_equals: expected "" but got "true"
42
PASS size(max-height: 199px) (.vertical)
43
FAIL size(block-size < 100px) (.vertical) assert_equals: expected "" but got "true"
43
PASS size(block-size < 100px) (.vertical)
44
PASS size(block-size >= 100px) (.vertical)
44
FAIL size(block-size >= 100px) (.vertical) assert_equals: expected "true" but got ""
45
PASS size(min-block-size: 100px) (.vertical)
45
FAIL size(min-block-size: 100px) (.vertical) assert_equals: expected "true" but got ""
46
FAIL size(min-block-size: 101px) (.vertical) assert_equals: expected "" but got "true"
46
PASS size(min-block-size: 101px) (.vertical)
47
PASS size(max-block-size: 100px) (.vertical)
47
FAIL size(max-block-size: 100px) (.vertical) assert_equals: expected "true" but got ""
48
FAIL size(max-block-size: 99px) (.vertical) assert_equals: expected "" but got "true"
48
PASS size(max-block-size: 99px) (.vertical)
49
FAIL size(inline-size < 200px) (.vertical) assert_equals: expected "" but got "true"
49
PASS size(inline-size < 200px) (.vertical)
50
PASS size(inline-size >= 200px) (.vertical)
50
FAIL size(inline-size >= 200px) (.vertical) assert_equals: expected "true" but got ""
51
PASS size(min-inline-size: 200px) (.vertical)
51
FAIL size(min-inline-size: 200px) (.vertical) assert_equals: expected "true" but got ""
52
FAIL size(min-inline-size: 201px) (.vertical) assert_equals: expected "" but got "true"
52
PASS size(min-inline-size: 201px) (.vertical)
53
PASS size(max-inline-size: 200px) (.vertical)
53
FAIL size(max-inline-size: 200px) (.vertical) assert_equals: expected "true" but got ""
54
FAIL size(max-inline-size: 199px) (.vertical) assert_equals: expected "" but got "true"
54
PASS size(max-inline-size: 199px) (.vertical)
55
FAIL size(orientation: landscape) (.vertical) assert_equals: expected "" but got "true"
55
PASS size(orientation: landscape) (.vertical)
56
PASS size(orientation: portrait) (.vertical)
56
FAIL size(orientation: portrait) (.vertical) assert_equals: expected "true" but got ""
57
PASS size(aspect-ratio: 1/2) (.vertical)
57
FAIL size(aspect-ratio: 1/2) (.vertical) assert_equals: expected "true" but got ""
58
FAIL size(aspect-ratio: 2/1) (.vertical) assert_equals: expected "" but got "true"
58
PASS size(aspect-ratio: 2/1) (.vertical)
59
59
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/top-layer-dialog-expected.txt -1 / +1 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/top-layer-dialog-expected.txt_sec1
1
1
2
FAIL #container initially wider than 200px assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 255, 0)"
2
FAIL #container initially wider than 200px assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 255, 0)"
3
FAIL #container changed to 200px assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 255, 0)"
3
FAIL #container changed to 200px assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 255, 0)"
4
FAIL Modal dialog still has parent as query container while in top layer assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 255, 0)"
4
PASS Modal dialog still has parent as query container while in top layer
5
PASS Container changes width while dialog is in top layer
5
PASS Container changes width while dialog is in top layer
6
6
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/top-layer-nested-dialog-expected.txt -1 / +1 lines
Lines 1-5 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/top-layer-nested-dialog-expected.txt_sec1
1
1
2
FAIL Dialogs initially not matching for container queries assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 255, 0)"
2
FAIL Dialogs initially not matching for container queries assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 255, 0)"
3
FAIL Dialogs still not matching after showModal assert_equals: expected "rgb(255, 0, 0)" but got "rgb(0, 255, 0)"
3
PASS Dialogs still not matching after showModal
4
PASS @container queries start matching
4
PASS @container queries start matching
5
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/transition-scrollbars-expected.txt -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/transition-scrollbars-expected.txt_sec1
1
Foo bar foo bar foo Foo bar foo bar foo Foo bar foo bar foo Foo bar foo bar foo Foo bar foo bar foo
1
Foo bar foo bar foo Foo bar foo bar foo Foo bar foo bar foo Foo bar foo bar foo Foo bar foo bar foo
2
2
3
FAIL Scrollbars do not cause a transition of background-color assert_equals: expected "rgb(0, 0, 255)" but got "rgb(0, 128, 0)"
3
FAIL Scrollbars do not cause a transition of background-color assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 255)"
4
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt -11 / +11 lines
Lines 1-14 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt_sec1
1
Test
1
Test
2
2
3
PASS size(width > 0px)
3
FAIL size(width > 0px) assert_equals: expected "true" but got ""
4
FAIL size(height > 0px) assert_equals: expected "" but got "true"
4
PASS size(height > 0px)
5
PASS size((height > 0px) or (width > 0px))
5
FAIL size((height > 0px) or (width > 0px)) assert_equals: expected "true" but got ""
6
PASS size((width > 0px) or (height > 0px))
6
FAIL size((width > 0px) or (height > 0px)) assert_equals: expected "true" but got ""
7
PASS size((orientation: landscape) or (width > 0px))
7
FAIL size((orientation: landscape) or (width > 0px)) assert_equals: expected "true" but got ""
8
PASS size((width > 0px) or (orientation: landscape))
8
FAIL size((width > 0px) or (orientation: landscape)) assert_equals: expected "true" but got ""
9
FAIL size((height > 0px) or (orientation: landscape)) assert_equals: expected "" but got "true"
9
PASS size((height > 0px) or (orientation: landscape))
10
FAIL size((height > 0px) or (orientation: landscape)), with contain:size assert_equals: expected "" but got "true"
10
PASS size((height > 0px) or (orientation: landscape)), with contain:size
11
PASS size(inline-size > 0px)
11
FAIL size(inline-size > 0px) assert_equals: expected "true" but got ""
12
FAIL size(block-size > 0px) assert_equals: expected "" but got "true"
12
PASS size(block-size > 0px)
13
FAIL size(block-size > 0px), with writing-mode:vertical-rl assert_equals: expected "" but got "true"
13
PASS size(block-size > 0px), with writing-mode:vertical-rl
14
14
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/viewport-units-expected.txt -2 / +2 lines
Lines 1-6 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/viewport-units-expected.txt_sec1
1
Green
1
Green
2
Green
2
Green
3
3
4
FAIL Match width with vw assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
4
PASS Match width with vw
5
FAIL Match width with vh assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
5
PASS Match width with vh
6
6

Return to Bug 236096