WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-223569-20210405171841.patch (text/plain), 23.42 KB, created by
Rob Buis
on 2021-04-05 08:18:42 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Rob Buis
Created:
2021-04-05 08:18:42 PDT
Size:
23.42 KB
patch
obsolete
>Subversion Revision: 275450 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index c09fdcc0deedbb441e8b71a2e9bb4999bcb0f466..f70a8cbdd4bc401a5475542686e0b8a648a048aa 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,45 @@ >+2021-04-04 Rob Buis <rbuis@igalia.com> >+ >+ Support contain: layout >+ https://bugs.webkit.org/show_bug.cgi?id=223569 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ WIP. >+ >+ * rendering/RenderBlock.cpp: >+ (WebCore::RenderBlock::firstLineBaseline const): >+ (WebCore::RenderBlock::inlineBlockBaseline const): >+ * rendering/RenderBlockFlow.cpp: >+ (WebCore::RenderBlockFlow::firstLineBaseline const): >+ (WebCore::RenderBlockFlow::inlineBlockBaseline const): >+ * rendering/RenderBox.cpp: >+ (WebCore::RenderBox::createsNewFormattingContext const): >+ (WebCore::RenderBox::layoutOverflowRectForPropagation const): >+ * rendering/RenderBox.h: >+ * rendering/RenderButton.cpp: >+ (WebCore::RenderButton::baselinePosition const): >+ * rendering/RenderElement.h: >+ (WebCore::RenderElement::canContainFixedPositionObjects const): >+ (WebCore::RenderElement::canContainAbsolutelyPositionedObjects const): >+ * rendering/RenderFlexibleBox.cpp: >+ (WebCore::RenderFlexibleBox::firstLineBaseline const): >+ * rendering/RenderGrid.cpp: >+ (WebCore::RenderGrid::firstLineBaseline const): >+ * rendering/RenderLayer.cpp: >+ (WebCore::RenderLayer::shouldBeCSSStackingContext const): >+ * rendering/RenderListBox.cpp: >+ (WebCore::RenderListBox::baselinePosition const): >+ * rendering/RenderObject.cpp: >+ (WebCore::objectIsRelayoutBoundary): >+ * rendering/RenderObject.h: >+ (WebCore::RenderObject::isAtomicInlineLevelBox const): >+ (WebCore::RenderObject::shouldApplyLayoutContainment const): >+ * rendering/RenderTable.cpp: >+ (WebCore::RenderTable::firstLineBaseline const): >+ * rendering/style/RenderStyle.h: >+ (WebCore::RenderStyle::containsLayout const): >+ > 2021-04-02 Ryosuke Niwa <rniwa@webkit.org> > > PendingImageBitmap gets created on a stopped script execution context. >diff --git a/Source/WebCore/rendering/RenderBlock.cpp b/Source/WebCore/rendering/RenderBlock.cpp >index de2ed45130267cd194911cbe360c0f398e9dbc3c..69e82c1b1e6134b6dcd7e88d4072739343c5b385 100644 >--- a/Source/WebCore/rendering/RenderBlock.cpp >+++ b/Source/WebCore/rendering/RenderBlock.cpp >@@ -2553,6 +2553,9 @@ LayoutUnit RenderBlock::minLineHeightForReplacedRenderer(bool isFirstLine, Layou > > Optional<LayoutUnit> RenderBlock::firstLineBaseline() const > { >+ if (shouldApplyLayoutContainment()) >+ return Optional<LayoutUnit>(); >+ > if (isWritingModeRoot() && !isRubyRun()) > return Optional<LayoutUnit>(); > >@@ -2568,6 +2571,9 @@ Optional<LayoutUnit> RenderBlock::firstLineBaseline() const > > Optional<LayoutUnit> RenderBlock::inlineBlockBaseline(LineDirectionMode lineDirection) const > { >+ if (shouldApplyLayoutContainment()) >+ return Optional<LayoutUnit>(lineDirection == HorizontalLine ? marginBottom() + height() : marginLeft() + width()); >+ > if (isWritingModeRoot() && !isRubyRun()) > return Optional<LayoutUnit>(); > >diff --git a/Source/WebCore/rendering/RenderBlockFlow.cpp b/Source/WebCore/rendering/RenderBlockFlow.cpp >index a44aa2f2714064ab79c754d31408a4c91893f56c..57202985d39945d128de98acf2c7b5ab9f9b69b2 100644 >--- a/Source/WebCore/rendering/RenderBlockFlow.cpp >+++ b/Source/WebCore/rendering/RenderBlockFlow.cpp >@@ -3114,6 +3114,9 @@ Optional<LayoutUnit> RenderBlockFlow::firstLineBaseline() const > if (!childrenInline()) > return RenderBlock::firstLineBaseline(); > >+ if (shouldApplyLayoutContainment()) >+ return WTF::nullopt; >+ > if (!hasLines()) > return WTF::nullopt; > >@@ -3134,9 +3137,11 @@ Optional<LayoutUnit> RenderBlockFlow::inlineBlockBaseline(LineDirectionMode line > return WTF::nullopt; > > if (style().display() == DisplayType::InlineBlock) { >+ if (shouldApplyLayoutContainment()) >+ return Optional<LayoutUnit>(lineDirection == HorizontalLine ? marginBottom() + height() : marginLeft() + width()); > // The baseline of an 'inline-block' is the baseline of its last line box in the normal flow, unless it has either no in-flow line boxes or if its 'overflow' > // property has a computed value other than 'visible'. see https://www.w3.org/TR/CSS22/visudet.html >- auto shouldSynthesizeBaseline = !style().isOverflowVisible() && !is<HTMLFormControlElement>(element()); >+ auto shouldSynthesizeBaseline = (!style().isOverflowVisible() && !is<HTMLFormControlElement>(element())); > if (shouldSynthesizeBaseline) > return WTF::nullopt; > } >diff --git a/Source/WebCore/rendering/RenderBox.cpp b/Source/WebCore/rendering/RenderBox.cpp >index 4f0f06a4d3117addf3f19b2cdcb93d2e8ed07264..90f9cd9af288cc995b61804c9d9333a1eea0aba3 100644 >--- a/Source/WebCore/rendering/RenderBox.cpp >+++ b/Source/WebCore/rendering/RenderBox.cpp >@@ -4677,7 +4677,7 @@ bool RenderBox::createsNewFormattingContext() const > { > return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasOverflowClip() || isFlexItemIncludingDeprecated() > || isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot() || isDocumentElementRenderer() || isRenderFragmentedFlow() || isRenderFragmentContainer() >- || isGridItem() || style().specifiesColumns() || style().columnSpan() == ColumnSpan::All || style().display() == DisplayType::FlowRoot; >+ || style().containsLayout() || isGridItem() || style().specifiesColumns() || style().columnSpan() == ColumnSpan::All || style().display() == DisplayType::FlowRoot; > } > > bool RenderBox::avoidsFloats() const >@@ -4924,7 +4924,7 @@ LayoutRect RenderBox::layoutOverflowRectForPropagation(const RenderStyle* parent > { > // Only propagate interior layout overflow if we don't clip it. > LayoutRect rect = borderBoxRect(); >- if (!hasOverflowClip()) >+ if (!shouldApplyLayoutContainment() && !hasOverflowClip()) > rect.unite(layoutOverflowRect()); > > bool hasTransform = this->hasTransform(); >@@ -5237,4 +5237,9 @@ LayoutBoxExtent RenderBox::scrollPaddingForViewportRect(const LayoutRect& viewpo > minimumValueForLength(padding.bottom(), viewportRect.height()), minimumValueForLength(padding.left(), viewportRect.width())); > } > >+LayoutUnit synthesizedBaselineFromBorderBox(const RenderBox& box, LineDirectionMode direction) >+{ >+ return direction == HorizontalLine ? box.height() : box.width(); >+} >+ > } // namespace WebCore >diff --git a/Source/WebCore/rendering/RenderBox.h b/Source/WebCore/rendering/RenderBox.h >index 2648cd98f8ff8514a982f6b5793c0703fbda7ab9..82c90754c527b2e0491e78eb607f10d395091ed1 100644 >--- a/Source/WebCore/rendering/RenderBox.h >+++ b/Source/WebCore/rendering/RenderBox.h >@@ -54,7 +54,7 @@ public: > { > return isDocumentElementRenderer() || isPositioned() || createsGroup() || hasOverflowClip() > || hasTransformRelatedProperty() || hasHiddenBackface() || hasReflection() || style().specifiesColumns() >- || !style().hasAutoUsedZIndex() || hasRunningAcceleratedAnimations(); >+ || style().containsLayout() || !style().hasAutoUsedZIndex() || hasRunningAcceleratedAnimations(); > } > > bool requiresLayerWithScrollableArea() const; >@@ -847,6 +847,8 @@ inline void RenderBox::setInlineBoxWrapper(InlineElementBox* boxWrapper) > m_inlineBoxWrapper = boxWrapper; > } > >+LayoutUnit synthesizedBaselineFromBorderBox(const RenderBox&, LineDirectionMode); >+ > } // namespace WebCore > > SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderBox, isBox()) >diff --git a/Source/WebCore/rendering/RenderButton.cpp b/Source/WebCore/rendering/RenderButton.cpp >index 213610076a57b150acc24c11a891556b6d0c524a..9e27026bac46b3217753c681de488f1866d2b324 100644 >--- a/Source/WebCore/rendering/RenderButton.cpp >+++ b/Source/WebCore/rendering/RenderButton.cpp >@@ -148,10 +148,12 @@ static int synthesizedBaselineFromContentBox(const RenderBox& box, LineDirection > return direction == HorizontalLine ? box.borderTop() + box.paddingTop() + box.contentHeight() : box.borderRight() + box.paddingRight() + box.contentWidth(); > } > >-LayoutUnit RenderButton::baselinePosition(FontBaseline, bool, LineDirectionMode direction, LinePositionMode) const >+LayoutUnit RenderButton::baselinePosition(FontBaseline fontBaseline, bool firstLine, LineDirectionMode direction, LinePositionMode mode) const > { > // We cannot rely on RenderFlexibleBox::baselinePosition() because of flexboxes have some special behavior > // regarding baselines that shouldn't apply to buttons. >+ if (shouldApplyLayoutContainment()) >+ return RenderFlexibleBox::baselinePosition(fontBaseline, firstLine, direction, mode); > int baseline = firstLineBaseline().valueOr(synthesizedBaselineFromContentBox(*this, direction)); > int marginAscent = direction == HorizontalLine ? marginTop() : marginRight(); > return baseline + marginAscent; >diff --git a/Source/WebCore/rendering/RenderElement.h b/Source/WebCore/rendering/RenderElement.h >index 57d435386e1217c10688e28c3693a62149deadb1..14d249bf7d93294140ac53ae395ca53822c154e9 100644 >--- a/Source/WebCore/rendering/RenderElement.h >+++ b/Source/WebCore/rendering/RenderElement.h >@@ -429,6 +429,7 @@ inline bool RenderElement::canContainFixedPositionObjects() const > return isRenderView() > || (hasTransform() && isRenderBlock()) > || isSVGForeignObject() >+ || shouldApplyLayoutContainment() > || isOutOfFlowRenderFragmentedFlow(); > } > >@@ -437,6 +438,7 @@ inline bool RenderElement::canContainAbsolutelyPositionedObjects() const > return style().position() != PositionType::Static > || (isRenderBlock() && hasTransformRelatedProperty()) > || isSVGForeignObject() >+ || shouldApplyLayoutContainment() > || isRenderView(); > } > >diff --git a/Source/WebCore/rendering/RenderFlexibleBox.cpp b/Source/WebCore/rendering/RenderFlexibleBox.cpp >index 961b54fb9e563ce08f168be63b955f7fc77f771e..5637f2490f345b5b9ec4d39bf1363d196cb89b0f 100644 >--- a/Source/WebCore/rendering/RenderFlexibleBox.cpp >+++ b/Source/WebCore/rendering/RenderFlexibleBox.cpp >@@ -144,11 +144,6 @@ void RenderFlexibleBox::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidt > minLogicalWidth += scrollbarWidth; > } > >-static LayoutUnit synthesizedBaselineFromBorderBox(const RenderBox& box, LineDirectionMode direction) >-{ >- return direction == HorizontalLine ? box.size().height() : box.size().width(); >-} >- > LayoutUnit RenderFlexibleBox::baselinePosition(FontBaseline, bool, LineDirectionMode direction, LinePositionMode) const > { > auto baseline = firstLineBaseline(); >@@ -160,7 +155,7 @@ LayoutUnit RenderFlexibleBox::baselinePosition(FontBaseline, bool, LineDirection > > Optional<LayoutUnit> RenderFlexibleBox::firstLineBaseline() const > { >- if (isWritingModeRoot() || m_numberOfInFlowChildrenOnFirstLine <= 0) >+ if (isWritingModeRoot() || m_numberOfInFlowChildrenOnFirstLine <= 0 || shouldApplyLayoutContainment()) > return Optional<LayoutUnit>(); > RenderBox* baselineChild = nullptr; > int childNumber = 0; >diff --git a/Source/WebCore/rendering/RenderGrid.cpp b/Source/WebCore/rendering/RenderGrid.cpp >index 847cf9845c3c0ba5bf85baff236a659c63e8ffe7..9182b5a5d22bb1427e870557e5c4038eeb5fbfeb 100644 >--- a/Source/WebCore/rendering/RenderGrid.cpp >+++ b/Source/WebCore/rendering/RenderGrid.cpp >@@ -1232,12 +1232,6 @@ void RenderGrid::updateAutoMarginsInColumnAxisIfNeeded(RenderBox& child) > } > } > >-// FIXME: This logic could be refactored somehow and defined in RenderBox. >-static LayoutUnit synthesizedBaselineFromBorderBox(const RenderBox& box, LineDirectionMode direction) >-{ >- return (direction == HorizontalLine ? box.size().height() : box.size().width()).toInt(); >-} >- > bool RenderGrid::isBaselineAlignmentForChild(const RenderBox& child) const > { > return isBaselineAlignmentForChild(child, GridRowAxis) || isBaselineAlignmentForChild(child, GridColumnAxis); >@@ -1265,7 +1259,7 @@ LayoutUnit RenderGrid::baselinePosition(FontBaseline, bool, LineDirectionMode di > > Optional<LayoutUnit> RenderGrid::firstLineBaseline() const > { >- if (isWritingModeRoot() || !m_grid.hasGridItems()) >+ if (isWritingModeRoot() || !m_grid.hasGridItems() || shouldApplyLayoutContainment()) > return WTF::nullopt; > > const RenderBox* baselineChild = nullptr; >diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp >index 847473025ebf06b460b03f87fe83c36393132a68..cab6dbadd81b305fe03187d41e419bae3edc596a 100644 >--- a/Source/WebCore/rendering/RenderLayer.cpp >+++ b/Source/WebCore/rendering/RenderLayer.cpp >@@ -581,7 +581,7 @@ bool RenderLayer::shouldBeNormalFlowOnly() const > > bool RenderLayer::shouldBeCSSStackingContext() const > { >- return !renderer().style().hasAutoUsedZIndex() || isRenderViewLayer(); >+ return renderer().shouldApplyLayoutContainment() || !renderer().style().hasAutoUsedZIndex() || isRenderViewLayer(); > } > > bool RenderLayer::setIsNormalFlowOnly(bool isNormalFlowOnly) >diff --git a/Source/WebCore/rendering/RenderListBox.cpp b/Source/WebCore/rendering/RenderListBox.cpp >index 950b1d7e31d2c0cd8477dd1ab6a38c50f572df9f..172a68cfa7f2bdeb212bdb209c3c59bfebf38273 100644 >--- a/Source/WebCore/rendering/RenderListBox.cpp >+++ b/Source/WebCore/rendering/RenderListBox.cpp >@@ -275,7 +275,10 @@ RenderBox::LogicalExtentComputedValues RenderListBox::computeLogicalHeight(Layou > > LayoutUnit RenderListBox::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode lineDirection, LinePositionMode linePositionMode) const > { >- return RenderBox::baselinePosition(baselineType, firstLine, lineDirection, linePositionMode) - baselineAdjustment; >+ auto baseline = RenderBox::baselinePosition(baselineType, firstLine, lineDirection, linePositionMode); >+ if (!shouldApplyLayoutContainment()) >+ baseline -= baselineAdjustment; >+ return baseline; > } > > LayoutRect RenderListBox::itemBoundingBoxRect(const LayoutPoint& additionalOffset, int index) >diff --git a/Source/WebCore/rendering/RenderObject.cpp b/Source/WebCore/rendering/RenderObject.cpp >index 567ea64d57e179b1aa36abb12751a957d4a5574e..3612e760df1fb6ba80f893fafe603a246f3e86ea 100644 >--- a/Source/WebCore/rendering/RenderObject.cpp >+++ b/Source/WebCore/rendering/RenderObject.cpp >@@ -502,6 +502,9 @@ static inline bool objectIsRelayoutBoundary(const RenderElement* object) > if (object->isTextControl()) > return true; > >+ if (object->shouldApplyLayoutContainment()) >+ return true; >+ > if (object->isSVGRoot()) > return true; > >diff --git a/Source/WebCore/rendering/RenderObject.h b/Source/WebCore/rendering/RenderObject.h >index 0dc784a99df706f0a7344c97bdb888b8116c6f97..9655ed2ac14ff77f57b8974173478f46f7ce89ff 100644 >--- a/Source/WebCore/rendering/RenderObject.h >+++ b/Source/WebCore/rendering/RenderObject.h >@@ -183,6 +183,16 @@ public: > virtual bool createsAnonymousWrapper() const { return false; } > ////////////////////////////////////////// > >+ bool isAtomicInlineLevelBox() const >+ { >+ return style().isDisplayInlineType() && !(style().display() == DisplayType::Inline && !isReplaced()); >+ } >+ >+ inline bool shouldApplyLayoutContainment() const >+ { >+ return style().containsLayout() && (!isInline() || isAtomicInlineLevelBox()) && !isRubyText() && (!isTablePart() || isRenderBlockFlow()); >+ } >+ > #if ENABLE(TREE_DEBUGGING) > void showNodeTreeForThis() const; > void showRenderTreeForThis() const; >diff --git a/Source/WebCore/rendering/RenderTable.cpp b/Source/WebCore/rendering/RenderTable.cpp >index 300fd2c79c53be1be69db36fcd9418a21dfdacb2..a19903c9c03a23e1818f787f1e8c5ffe0cd17b82 100644 >--- a/Source/WebCore/rendering/RenderTable.cpp >+++ b/Source/WebCore/rendering/RenderTable.cpp >@@ -1490,7 +1490,7 @@ Optional<LayoutUnit> RenderTable::firstLineBaseline() const > // doesn't define the baseline of a 'table' only an 'inline-table'). > // This is also needed to properly determine the baseline of a cell if it has a table child. > >- if (isWritingModeRoot()) >+ if (isWritingModeRoot() || shouldApplyLayoutContainment()) > return Optional<LayoutUnit>(); > > recalcSectionsIfNeeded(); >diff --git a/Source/WebCore/rendering/style/RenderStyle.h b/Source/WebCore/rendering/style/RenderStyle.h >index 97302fa62714b7913d51d8f0ba415b45f5ea3d84..4b14935fed94d2c9add7034e2059e2dff4382679 100644 >--- a/Source/WebCore/rendering/style/RenderStyle.h >+++ b/Source/WebCore/rendering/style/RenderStyle.h >@@ -522,6 +522,7 @@ public: > } > bool hasAspectRatio() const { return aspectRatioType() == AspectRatioType::Ratio || aspectRatioType() == AspectRatioType::AutoAndRatio; } > OptionSet<Containment> contain() const { return m_rareNonInheritedData->contain; } >+ bool containsLayout() const { return m_rareNonInheritedData->contain.contains(Containment::Layout); } > BoxAlignment boxAlign() const { return static_cast<BoxAlignment>(m_rareNonInheritedData->deprecatedFlexibleBox->align); } > BoxDirection boxDirection() const { return static_cast<BoxDirection>(m_inheritedFlags.boxDirection); } > float boxFlex() const { return m_rareNonInheritedData->deprecatedFlexibleBox->flex; } >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index d2204290ee7bfba71e1b23fab79692cc8061f4bb..2cbf03833209ebef260022b067914511f1b77101 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,14 @@ >+2021-04-04 Rob Buis <rbuis@igalia.com> >+ >+ Support contain: layout >+ https://bugs.webkit.org/show_bug.cgi?id=223569 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Unskip tests that pass now. >+ >+ * TestExpectations: >+ > 2021-04-02 Amir Mark Jr <amir_mark@apple.com> > > [ MacOS ] media/modern-media-controls/macos-inline-media-controls/macos-inline-media-dropping-controls.html is a flaky failure >diff --git a/LayoutTests/TestExpectations b/LayoutTests/TestExpectations >index 19b2bd969dbc00631a7849cc2d75dc74323a2599..7cc29ef8de91a93b9cce7216c41c732bc824d0db 100644 >--- a/LayoutTests/TestExpectations >+++ b/LayoutTests/TestExpectations >@@ -4691,21 +4691,8 @@ webkit.org/b/220928 imported/w3c/web-platform-tests/css/css-color/predefined-015 > > # CSS containment tests that fail > imported/w3c/web-platform-tests/css/css-contain/contain-animation-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-content-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-content-002.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-content-003.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-content-004.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-content-011.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-006.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-007.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-013.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-014.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-016.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-baseline-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-baseline-002.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-baseline-003.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-baseline-004.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-baseline-005.html [ ImageOnlyFailure ] >+# webkit-ruby-text >+imported/w3c/web-platform-tests/css/css-contain/contain-layout-017.html [ ImageOnlyFailure ] > imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-001.html [ ImageOnlyFailure ] > imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-003.html [ ImageOnlyFailure ] > imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-004.html [ ImageOnlyFailure ] >@@ -4720,31 +4707,7 @@ imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visib > imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-020.html [ ImageOnlyFailure ] > imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-021.html [ ImageOnlyFailure ] > imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-022.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-button-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-cell-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-cell-002.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-containing-block-absolute-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-containing-block-fixed-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-flexbox-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-formatting-context-float-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-formatting-context-margin-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-grid-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-ifc-022.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-independent-formatting-context-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-ink-overflow-013.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-ink-overflow-014.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-ink-overflow-015.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-ink-overflow-016.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-ink-overflow-017.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-ink-overflow-018.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-ink-overflow-019.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-ink-overflow-020.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-overflow-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-overflow-002.html [ ImageOnlyFailure ] > imported/w3c/web-platform-tests/css/css-contain/contain-layout-size-003.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-stacking-context-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-suppress-baseline-001.html [ ImageOnlyFailure ] >-imported/w3c/web-platform-tests/css/css-contain/contain-layout-suppress-baseline-002.html [ ImageOnlyFailure ] > imported/w3c/web-platform-tests/css/css-contain/contain-paint-001.html [ ImageOnlyFailure ] > imported/w3c/web-platform-tests/css/css-contain/contain-paint-004.html [ ImageOnlyFailure ] > imported/w3c/web-platform-tests/css/css-contain/contain-paint-005.html [ ImageOnlyFailure ]
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 223569
:
423869
|
424002
|
424106
|
424744
|
424765
|
425001
|
425004
|
425152
|
425265
|
425847
|
425874
|
426377