[webkit-changes] [WebKit/WebKit] 3db230: [contain-intrinsic-size] Element removed by parent...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3db230251f3c40d76cabdc09cf1e64ac3c377c2f https://github.com/WebKit/WebKit/commit/3db230251f3c40d76cabdc09cf1e64ac3c377c2f Author: Cathie Chen Date: 2024-03-03 (Sun, 03 Mar 2024) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-006-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-006.html M Source/WebCore/dom/ContainerNode.cpp M Source/WebCore/dom/Element.cpp Log Message: --- [contain-intrinsic-size] Element removed by parent should end up losing last remembered size https://bugs.webkit.org/show_bug.cgi?id=270240 Reviewed by Ryosuke Niwa. The code to clear last remembered size for disconnected element, it does not cover all the scenario. This patch moves it to Element::removedFromAncestor, so that it could handle all scenarios with the element removed. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-006-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-006.html: * Source/WebCore/dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChild): * Source/WebCore/dom/Element.cpp: (WebCore::Element::removedFromAncestor): Canonical link: https://commits.webkit.org/275606@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] afa718: [Resize-observer] The `getBoundingBox` of a non-em...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: afa718b1cfd97ca212d7b139751feb9ce1afcf5b https://github.com/WebKit/WebKit/commit/afa718b1cfd97ca212d7b139751feb9ce1afcf5b Author: Cathie Chen Date: 2023-03-27 (Mon, 27 Mar 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-007-expected.txt M LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg-with-css-box-001-expected.txt M LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg-with-css-box-002-expected.txt M Source/WebCore/dom/Element.cpp M Source/WebCore/page/ResizeObservation.cpp M Source/WebCore/svg/SVGElement.cpp M Source/WebCore/svg/SVGElement.h Log Message: --- [Resize-observer] The `getBoundingBox` of a non-empty SVG element is 0x0 https://bugs.webkit.org/show_bug.cgi?id=252903 Reviewed by Oriol Brufau and Nikolas Zimmermann. Per [1], the specification updates that for SVG elements that do not have associated CSS layout boxes define bounding box instead of a content box. Previously, all svg elements are using the bounding box. This patch adds Element::getBoundingBoxForSVGElement() and reuses shouldObtainBoundsFromSVGModel to get the bounding box only for svg elements without associated CSS layout boxes. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-007-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg-with-css-box-001-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg-with-css-box-002-expected.txt: * Source/WebCore/dom/Element.cpp: (WebCore::shouldObtainBoundsFromSVGModel): * Source/WebCore/page/ResizeObservation.cpp: (WebCore::ResizeObservation::computeObservedSizes const): * Source/WebCore/svg/SVGElement.cpp: (WebCore::SVGElement::hasAssociatedSVGLayoutBox const): * Source/WebCore/svg/SVGElement.h: Canonical link: https://commits.webkit.org/262145@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 43b73e: [contain-intrinsic-size] failures related to repla...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 43b73e296e5003e669fcb0ba76304837e90cbaa9 https://github.com/WebKit/WebKit/commit/43b73e296e5003e669fcb0ba76304837e90cbaa9 Author: Cathie Chen Date: 2023-03-03 (Fri, 03 Mar 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-028-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-logical-003-expected.txt M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/RenderReplaced.cpp M Source/WebCore/rendering/RenderReplaced.h M Source/WebCore/rendering/RenderVideo.cpp M Source/WebCore/rendering/RenderVideo.h Log Message: --- [contain-intrinsic-size] failures related to replaced elements https://bugs.webkit.org/show_bug.cgi?id=253013 Reviewed by Alan Baradlay. This patch makes intrinsicSize() considering both contain: size and inline-size, so that there is no need to handle contain: inline-size specially. In computeReplacedLogicalWidth/Height, hasIntrinsicWidth/Height is determined by width/height > 0, for contain: size/inline-size, hasIntrinsicWidth/Height should be true regardless of the value. For RenderVideo, in calculateIntrinsicSize(), the intrinsic size should consider contain: inline-size, so this patch adjustSizeForInlineSizeContainment before return. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-028-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-logical-003-expected.txt: * Source/WebCore/rendering/RenderBox.cpp: (WebCore::RenderBox::intrinsicLogicalWidth const): * Source/WebCore/rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox const): (WebCore::RenderReplaced::computeIntrinsicRatioInformation const): (WebCore::RenderReplaced::computeReplacedLogicalWidth const): (WebCore::RenderReplaced::computeReplacedLogicalHeight const): * Source/WebCore/rendering/RenderReplaced.h: * Source/WebCore/rendering/RenderVideo.cpp: (WebCore::RenderVideo::calculateIntrinsicSizeInternal): (WebCore::RenderVideo::calculateIntrinsicSize): (WebCore::RenderVideo::hasPosterFrameSize const): * Source/WebCore/rendering/RenderVideo.h: Canonical link: https://commits.webkit.org/261205@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8530f5: [contain-intrinsic-size] wpt failures related to m...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8530f5f0f0305b38ac889674d844506d5631966b https://github.com/WebKit/WebKit/commit/8530f5f0f0305b38ac889674d844506d5631966b Author: Cathie Chen Date: 2023-03-01 (Wed, 01 Mar 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-007-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-031-expected.txt M Source/WebCore/rendering/RenderBlockFlow.cpp Log Message: --- [contain-intrinsic-size] wpt failures related to multi-columns https://bugs.webkit.org/show_bug.cgi?id=253079 Reviewed by Oriol Brufau. In adjustIntrinsicLogicalWidthsForColumns, it might adjust min/maxLogicalWidth. But if the widths are from contain-intrinsic-size, they should not be adjusted. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-007-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-031-expected.txt: * Source/WebCore/rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths const): Canonical link: https://commits.webkit.org/261016@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9b61d1: [css-contain-intrinsic-size] auto-011.html is failing
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9b61d115bb391c993e31b439a3446e20cf36cdfb https://github.com/WebKit/WebKit/commit/9b61d115bb391c993e31b439a3446e20cf36cdfb Author: Cathie Chen Date: 2023-03-01 (Wed, 01 Mar 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-011-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-028-expected.txt M Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp M Source/WebCore/rendering/GridTrackSizingAlgorithm.h M Source/WebCore/rendering/RenderBlock.cpp M Source/WebCore/rendering/RenderBlockFlow.cpp M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp M Source/WebCore/rendering/RenderFileUploadControl.cpp M Source/WebCore/rendering/RenderFlexibleBox.cpp M Source/WebCore/rendering/RenderGrid.cpp M Source/WebCore/rendering/RenderGrid.h M Source/WebCore/rendering/RenderListBox.cpp M Source/WebCore/rendering/RenderMenuList.cpp M Source/WebCore/rendering/RenderSlider.cpp M Source/WebCore/rendering/RenderTextControl.cpp Log Message: --- [css-contain-intrinsic-size] auto-011.html is failing https://bugs.webkit.org/show_bug.cgi?id=252245 Reviewed by Oriol Brufau. Per [1], contain:inline-size applies contain:size to the inline direction, so with contain:inline-size, contain-intrinsic-size should be effective in the inline direction. This patch makes the behavior of inline size containment same to size containment when handling min/max logical width. [1] https://drafts.csswg.org/css-contain-3/#containment-inline-size * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-011-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-028-expected.txt: * Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp: (WebCore::GridTrackSizingAlgorithm::computeGridContainerIntrinsicSizes): (WebCore::GridTrackSizingAlgorithm::run): * Source/WebCore/rendering/GridTrackSizingAlgorithm.h: * Source/WebCore/rendering/RenderBlock.cpp: (WebCore::RenderBlock::computeIntrinsicLogicalWidths const): * Source/WebCore/rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths const): * Source/WebCore/rendering/RenderBox.cpp: (WebCore::RenderBox::explicitIntrinsicInnerWidth const): (WebCore::RenderBox::explicitIntrinsicInnerHeight const): * Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::computeIntrinsicLogicalWidths const): * Source/WebCore/rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths const): * Source/WebCore/rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths const): * Source/WebCore/rendering/RenderGrid.cpp: (WebCore::RenderGrid::shouldCheckExplicitIntrinsicInnerLogicalSize const): (WebCore::RenderGrid::explicitIntrinsicInnerLogicalSize const): (WebCore::RenderGrid::computeEmptyTracksForAutoRepeat const): * Source/WebCore/rendering/RenderGrid.h: * Source/WebCore/rendering/RenderListBox.cpp: (WebCore::RenderListBox::computeIntrinsicLogicalWidths const): * Source/WebCore/rendering/RenderMenuList.cpp: (RenderMenuList::computeIntrinsicLogicalWidths const): * Source/WebCore/rendering/RenderSlider.cpp: (WebCore::RenderSlider::computeIntrinsicLogicalWidths const): * Source/WebCore/rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::computeIntrinsicLogicalWidths const): Canonical link: https://commits.webkit.org/261003@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d8e310: [contain-intrinsic-size] auto-009.html is failing
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d8e31024efa9bde474278105ad85152131220b40 https://github.com/WebKit/WebKit/commit/d8e31024efa9bde474278105ad85152131220b40 Author: Cathie Chen Date: 2023-02-28 (Tue, 28 Feb 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-009-expected.txt M Source/WebCore/dom/ContainerNode.cpp M Source/WebCore/dom/Document.cpp M Source/WebCore/dom/Element.cpp M Source/WebCore/dom/Element.h M Source/WebCore/dom/ElementRareData.cpp M Source/WebCore/dom/ElementRareData.h M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/style/RenderStyle.h M Source/WebCore/rendering/updating/RenderTreeUpdater.cpp Log Message: --- [contain-intrinsic-size] auto-009.html is failing https://bugs.webkit.org/show_bug.cgi?id=249919 Reviewed by Oriol Brufau. According to [1], "last remembered size" is tracked for the two axises independently, and can be invoked independently. This patch supports "last remembered size" in a single direction. It replaces the m_lastRememberedSize of m_lastRememberedLogicalWidth and m_lastRememberedLogicalHeight in ElementRareData. The value -1 means there is no last remembered width/height. [1] https://github.com/w3c/csswg-drafts/issues/7529 * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-009-expected.txt: * Source/WebCore/dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChild): * Source/WebCore/dom/Document.cpp: (WebCore::CallbackForContainIntrinsicSize): * Source/WebCore/dom/Element.cpp: (WebCore::Element::lastRememberedLogicalWidth const): (WebCore::Element::lastRememberedLogicalHeight const): (WebCore::Element::setLastRememberedLogicalWidth): (WebCore::Element::clearLastRememberedLogicalWidth): (WebCore::Element::setLastRememberedLogicalHeight): (WebCore::Element::clearLastRememberedLogicalHeight): (WebCore::Element::lastRememberedSize const): Deleted. (WebCore::Element::setLastRememberedSize): Deleted. (WebCore::Element::clearLastRememberedSize): Deleted. * Source/WebCore/dom/Element.h: * Source/WebCore/dom/ElementRareData.cpp: * Source/WebCore/dom/ElementRareData.h: (WebCore::LayoutUnitMarkableTraits::isEmptyValue): (WebCore::LayoutUnitMarkableTraits::emptyValue): (WebCore::ElementRareData::lastRememberedLogicalWidth const): (WebCore::ElementRareData::lastRememberedLogicalHeight const): (WebCore::ElementRareData::setLastRememberedLogicalWidth): (WebCore::ElementRareData::setLastRememberedLogicalHeight): (WebCore::ElementRareData::clearLastRememberedLogicalWidth): (WebCore::ElementRareData::clearLastRememberedLogicalHeight): (WebCore::ElementRareData::useTypes const): (WebCore::ElementRareData::lastRememberedSize const): Deleted. (WebCore::ElementRareData::setLastRememberedSize): Deleted. (WebCore::ElementRareData::clearLastRememberedSize): Deleted. * Source/WebCore/rendering/RenderBox.cpp: (WebCore::RenderBox::explicitIntrinsicInnerWidth const): (WebCore::RenderBox::explicitIntrinsicInnerHeight const): * Source/WebCore/rendering/style/RenderStyle.h: (WebCore::RenderStyle::containIntrinsicLogicalWidthType const): (WebCore::RenderStyle::containIntrinsicLogicalHeightType const): * Source/WebCore/rendering/updating/RenderTreeUpdater.cpp: (WebCore::RenderTreeUpdater::updateElementRenderer): Canonical link: https://commits.webkit.org/260939@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 88587e: Support contain-intrinsic-size auto &&
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 88587e7bd5451f3504cfc7576d2f7617ab1b7cf8 https://github.com/WebKit/WebKit/commit/88587e7bd5451f3504cfc7576d2f7617ab1b7cf8 Author: Cathie Chen Date: 2023-02-20 (Mon, 20 Feb 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-006-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-007-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-008-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-009-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-010-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-011-expected.txt A LayoutTests/resize-observer/contain-instrinsic-size-should-not-leak-nodes-expected.txt A LayoutTests/resize-observer/contain-instrinsic-size-should-not-leak-nodes.html M Source/WebCore/dom/ContainerNode.cpp M Source/WebCore/dom/Document.cpp M Source/WebCore/dom/Document.h M Source/WebCore/page/ResizeObservation.cpp M Source/WebCore/page/ResizeObservation.h M Source/WebCore/page/ResizeObserver.cpp M Source/WebCore/page/ResizeObserver.h M Source/WebCore/rendering/style/RenderStyle.h M Source/WebCore/rendering/updating/RenderTreeUpdater.cpp Log Message: --- Support contain-intrinsic-size auto && https://bugs.webkit.org/show_bug.cgi?id=239450 Reviewed by Oriol Brufau. This patch adds support to value auto && for contain-intrinsic-size. Per [1], with the auto && value, the last remembered size is the explicit intrinsic size if the box is skipping its content. The last remembered size is determined when ResizeObserver events are delivered. m_resizeObserverForContainIntrinsicSize in Document is created specifically to handle the last remembered size. CallbackForContainIntrinsicSize in Document is used to handle the lastRememberedSize. Because this ResizeObserver is for inside use, so we create a interface NativeResizeObserverCallback for native use. Now in ResizeObserver there are two kinds of callbacks: JSResizeObserverCallback and NativeResizeObserverCallback, only one could be initialized. The resizeObserver would observe the target if contain-intrinsic-size is valued auto && , otherwise unobserve it and clear the lastRememberedSize. If an observed target is hidden or skipping its content, unobserve it. Similarly, if an observed target is removed from DOM tree, unobserve it and clear the lastRememberedSize. [1] https://www.w3.org/TR/css-sizing-4/#valdef-contain-intrinsic-width-auto--length * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-006-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-007-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-008-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-009-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-010-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-011-expected.txt: * LayoutTests/resize-observer/contain-instrinsic-size-should-not-leak-nodes-expected.txt: Added. * LayoutTests/resize-observer/contain-instrinsic-size-should-not-leak-nodes.html: Added. * Source/WebCore/dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChild): * Source/WebCore/dom/Document.cpp: (WebCore::CallbackForContainIntrinsicSize): (WebCore::Document::gatherResizeObservationsForContainIntrinsicSize): (WebCore::Document::deliverResizeObservations): (WebCore::Document::updateResizeObservations): (WebCore::Document::ensureResizeObserverForContainIntrinsicSize): (WebCore::Document::observeForContainIntrinsicSize): (WebCore::Document::unobserveForContainIntrinsicSize): (WebCore::Document::resetObservationSizeForContainIntrinsicSize): * Source/WebCore/dom/Document.h: * Source/WebCore/page/ResizeObservation.cpp: (WebCore::ResizeObservation::resetObservationSize): * Source/WebCore/page/ResizeObservation.h: * Source/WebCore/page/ResizeObserver.cpp: (WebCore::ResizeObserver::create): (WebCore::ResizeObserver::createNativeObserver): (WebCore::ResizeObserver::ResizeObserver): (WebCore::ResizeObserver::observeInternal): (WebCore::ResizeObserver::observe):
[webkit-changes] [WebKit/WebKit] ca4f52: [css-contain-intrinsic-size] Resync css/css-sizing...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ca4f52f19e0a47baf6e8f7e92c8c57f8480a47a7 https://github.com/WebKit/WebKit/commit/ca4f52f19e0a47baf6e8f7e92c8c57f8480a47a7 Author: Cathie Chen Date: 2023-02-16 (Thu, 16 Feb 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-006.html M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-010-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-010.html Log Message: --- [css-contain-intrinsic-size] Resync css/css-sizing/contain-intrinsic-size from WPT https://bugs.webkit.org/show_bug.cgi?id=252314 Reviewed by Oriol Brufau. Resync the tests in css/css-sizing/contain-intrinsic-size to commit 023e9ff20ec7a97553. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-006.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-010-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-010.html: Canonical link: https://commits.webkit.org/260366@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2861d8: [ResizeObserver] The initial last reported size of...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2861d8c4e29ca8c3384e47f260a0d0e1823c29ae https://github.com/WebKit/WebKit/commit/2861d8c4e29ca8c3384e47f260a0d0e1823c29ae Author: Cathie Chen Date: 2023-02-01 (Wed, 01 Feb 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/resize-observer/notify-expected.txt M LayoutTests/imported/w3c/web-platform-tests/resize-observer/observe-expected.txt M LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg-expected.txt A LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/resize-observer/notify-expected.txt M LayoutTests/platform/mac/imported/w3c/web-platform-tests/resize-observer/svg-expected.txt M Source/WebCore/page/ResizeObservation.cpp M Source/WebCore/page/ResizeObserver.cpp M Source/WebCore/page/ResizeObserver.h Log Message: --- [ResizeObserver] The initial last reported size of ResizeObservation should be -1x-1 which always notify observed elements https://bugs.webkit.org/show_bug.cgi?id=251015 Reviewed by Oriol Brufau and Ryosuke Niwa. This patch initializes the lastReportedSize of ResizeObservation to -1 x -1, which is the conclusion of [1], it indicates that -1 x -1 is the initial size when first observing an element with ResizeObserver. The previous change makes every ResizeObservation be delivered at least once, even if the target is a disconnected element. When GC happens between observe and gather ResizeObservations, JSC::Weak m_callback inside JSCallbackDataWeak could be released, and the element and JSResizeObserver might not be released, for they are not strong connected, this scenario would trigger the ASSERT in ResizeObserver::deliverObservations. To fix it, this patch adds m_targetsWaitingForFirstObservation to extend the life cycle of ResizeObserver to the first time of deliverObservations. The fix is similar to what IntersectionObserver does in bug 231235. The test6 of resize-observer/notify.html still fails in mac-wk1, because updaterendering is not triggered properly. Filed [2] to track it. [1] https://github.com/w3c/csswg-drafts/issues/3664 [2] https://bugs.webkit.org/show_bug.cgi?id=250900 * LayoutTests/imported/w3c/web-platform-tests/resize-observer/notify-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/resize-observer/observe-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg-expected.txt: * LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/resize-observer/notify-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/resize-observer/notify-expected.txt. * LayoutTests/platform/mac/imported/w3c/web-platform-tests/resize-observer/svg-expected.txt: * Source/WebCore/page/ResizeObservation.cpp: * Source/WebCore/page/ResizeObserver.cpp: (WebCore::ResizeObserver::observe): (WebCore::ResizeObserver::deliverObservations): (WebCore::ResizeObserver::isReachableFromOpaqueRoots const): (WebCore::ResizeObserver::removeAllTargets): (WebCore::ResizeObserver::removeObservation): * Source/WebCore/page/ResizeObserver.h: Canonical link: https://commits.webkit.org/259673@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0492f2: Resync WPT tests for ResizeObserver from upstream
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0492f2f75e9241d29c6fb4f6ee0652b7c75e592f https://github.com/WebKit/WebKit/commit/0492f2f75e9241d29c6fb4f6ee0652b7c75e592f Author: Cathie Chen Date: 2023-01-19 (Thu, 19 Jan 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/resources/resource-files.json A LayoutTests/imported/w3c/web-platform-tests/resize-observer/calculate-depth-for-node-expected.txt A LayoutTests/imported/w3c/web-platform-tests/resize-observer/calculate-depth-for-node.html A LayoutTests/imported/w3c/web-platform-tests/resize-observer/create-pattern-data-url.js A LayoutTests/imported/w3c/web-platform-tests/resize-observer/devicepixel-ref.html M LayoutTests/imported/w3c/web-platform-tests/resize-observer/devicepixel.html A LayoutTests/imported/w3c/web-platform-tests/resize-observer/devicepixel2-expected.html A LayoutTests/imported/w3c/web-platform-tests/resize-observer/devicepixel2-ref.html A LayoutTests/imported/w3c/web-platform-tests/resize-observer/devicepixel2.html A LayoutTests/imported/w3c/web-platform-tests/resize-observer/fragments-expected.txt A LayoutTests/imported/w3c/web-platform-tests/resize-observer/fragments.html A LayoutTests/imported/w3c/web-platform-tests/resize-observer/iframe-same-origin-expected.html A LayoutTests/imported/w3c/web-platform-tests/resize-observer/iframe-same-origin-ref.html A LayoutTests/imported/w3c/web-platform-tests/resize-observer/iframe-same-origin.html M LayoutTests/imported/w3c/web-platform-tests/resize-observer/notify-expected.txt M LayoutTests/imported/w3c/web-platform-tests/resize-observer/notify.html M LayoutTests/imported/w3c/web-platform-tests/resize-observer/observe-expected.txt M LayoutTests/imported/w3c/web-platform-tests/resize-observer/observe.html M LayoutTests/imported/w3c/web-platform-tests/resize-observer/ordering.html M LayoutTests/imported/w3c/web-platform-tests/resize-observer/resources/iframe.html M LayoutTests/imported/w3c/web-platform-tests/resize-observer/resources/resizeTestHelper.js A LayoutTests/imported/w3c/web-platform-tests/resize-observer/scrollbars-2-expected.txt A LayoutTests/imported/w3c/web-platform-tests/resize-observer/scrollbars-2.html A LayoutTests/imported/w3c/web-platform-tests/resize-observer/scrollbars-expected.txt A LayoutTests/imported/w3c/web-platform-tests/resize-observer/scrollbars.html M LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg-expected.txt A LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg-with-css-box-001-expected.txt A LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg-with-css-box-001.html A LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg-with-css-box-002-expected.txt A LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg-with-css-box-002.svg M LayoutTests/imported/w3c/web-platform-tests/resize-observer/svg.html M LayoutTests/imported/w3c/web-platform-tests/resize-observer/w3c-import.log M LayoutTests/platform/mac/imported/w3c/web-platform-tests/resize-observer/svg-expected.txt Log Message: --- Resync WPT tests for ResizeObserver from upstream https://bugs.webkit.org/show_bug.cgi?id=250769 Reviewed by Tim Nguyen and Rob Buis. Update the WPT tests of ResizeObserver to commit f4656d2d5. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/resources/resource-files.json: * LayoutTests/imported/w3c/web-platform-tests/resize-observer/calculate-depth-for-node-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/resize-observer/calculate-depth-for-node.html: Added. * LayoutTests/imported/w3c/web-platform-tests/resize-observer/create-pattern-data-url.js: Added. (export.default.createPatternDataURL): * LayoutTests/imported/w3c/web-platform-tests/resize-observer/devicepixel-ref.html: Added. * LayoutTests/imported/w3c/web-platform-tests/resize-observer/devicepixel.html: * LayoutTests/imported/w3c/web-platform-tests/resize-observer/devicepixel2-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/resize-observer/devicepixel2-ref.html: Added. * LayoutTests/imported/w3c/web-platform-tests/resize-observer/devicepixel2.html: Added. * LayoutTests/imported/w3c/web-platform-tests/resize-observer/fragments-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/resize-observer/fragments.html: Added. * LayoutTests/imported/w3c/web-platform-tests/resize-observer/iframe-same-origin-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/resize-observer/iframe-same-origin-ref.html: Added. * LayoutTests/imported/w3c/web-platform-tests/resize-observer/iframe-same-origin.html: Added. * LayoutTests/imported/w3c/web-platform-tests/resize-observer/notify-expected.txt: *
[webkit-changes] [WebKit/WebKit] 0ef637: [css-contain-intrinsic-size] Introduce last rememb...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0ef6378c4923a62d3ea1cf172308b9a8ffd2431e https://github.com/WebKit/WebKit/commit/0ef6378c4923a62d3ea1cf172308b9a8ffd2431e Author: Cathie Chen Date: 2022-12-21 (Wed, 21 Dec 2022) Changed paths: M Source/WebCore/dom/Element.cpp M Source/WebCore/dom/Element.h M Source/WebCore/dom/ElementRareData.cpp M Source/WebCore/dom/ElementRareData.h M Source/WebCore/rendering/RenderBox.cpp Log Message: --- [css-contain-intrinsic-size] Introduce last remembered size to Element https://bugs.webkit.org/show_bug.cgi?id=248998 Reviewed by Cameron McCormack. Per[1], when contain-intrinsic-size is with the auto-length value, the last remembered size could be its explicit intrinsic inner size. This patch introduce last remembered size to Element, and the work related to ResizeObserver will be done in the follow-up patches. [1] https://w3c.github.io/csswg-drafts/css-sizing-4/#valdef-contain-intrinsic-width-auto-length * Source/WebCore/dom/Element.cpp: (WebCore::Element::lastRememberedSize const): (WebCore::Element::setLastRememberedSize): (WebCore::Element::clearLastRememberedSize): * Source/WebCore/dom/Element.h: * Source/WebCore/dom/ElementRareData.cpp: * Source/WebCore/dom/ElementRareData.h: (WebCore::ElementRareData::lastRememberedSize const): The lastRememberedSize is a RefPtr of ResizeObserverSize, and is stored it in ElementRareData. (WebCore::ElementRareData::setLastRememberedSize): (WebCore::ElementRareData::clearLastRememberedSize): (WebCore::ElementRareData::useTypes const): * Source/WebCore/rendering/RenderBox.cpp: (WebCore::RenderBox::explicitIntrinsicInnerWidth const): Handle AutoAndLength and use lastRememberedSize if exist. (WebCore::RenderBox::explicitIntrinsicInnerHeight const): Canonical link: https://commits.webkit.org/258183@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b72766: [css-contain-intrinsic-size] Apply the value of cs...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b7276669eb690bb0effc20c9a3c2daac0f5d53b5 https://github.com/WebKit/WebKit/commit/b7276669eb690bb0effc20c9a3c2daac0f5d53b5 Author: Cathie Chen Date: 2022-12-11 (Sun, 11 Dec 2022) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-032-expected.txt M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/RenderBox.h M Source/WebCore/style/StyleAdjuster.cpp M Source/WebCore/style/StyleAdjuster.h Log Message: --- [css-contain-intrinsic-size] Apply the value of css contain-intrinsic-size to https://bugs.webkit.org/show_bug.cgi?id=246338 Reviewed by Alan Baradlay. Per [1], the intrinsic size is determined as if the element had no content. When RenderMenuList without content, it should still display the appearance of theme. So if it is a size containment, it should have size of theme appearance. While calculating height, we should keep the height from theme style. Per [2], contain-intrinsic-* properties specify an explicit intrinsic inner size. For RenderMenuList, the explicit intrinsic inner size includes the content size and the theme size. So while calculating height, we should override the intrinsic size. When adjusting the style for themes, it might set a fixed value to properties, like width, height, min-width and min-height. This would make contain-intrinsic-* properties not effective. To fix this, the values of these properties need to restore to the auto value. [1] https://www.w3.org/TR/css-contain-2/#containment-size [2] https://www.w3.org/TR/css-sizing-4/#intrinsic-size-override * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-032-expected.txt: * Source/WebCore/rendering/RenderBox.cpp: (WebCore::RenderBox::overrideLogicalHeightForSizeContainment): Override the height and handle RenderMenuList. (WebCore::RenderBox::updateLogicalHeight): * Source/WebCore/rendering/RenderBox.h: * Source/WebCore/style/StyleAdjuster.cpp: (WebCore::Style::Adjuster::adjust const): (WebCore::Style::Adjuster::adjustThemeStyle const): If there is contain-intrinsic-size and the css size properties are changed from auto to a fixed value, we should restore them, so that contain-intrinsic-size would be effective. * Source/WebCore/style/StyleAdjuster.h: Canonical link: https://commits.webkit.org/257704@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2e92a1: [content-visibility] it should trigger a layout if...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2e92a10ead3da46e410121584d79ca40afaf5004 https://github.com/WebKit/WebKit/commit/2e92a10ead3da46e410121584d79ca40afaf5004 Author: Cathie Chen Date: 2022-12-07 (Wed, 07 Dec 2022) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-038-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-006-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-008-expected.txt M Source/WebCore/rendering/style/RenderStyle.cpp Log Message: --- [content-visibility] it should trigger a layout if the value of content-visibility is changed from hidden to others https://bugs.webkit.org/show_bug.cgi?id=248790 Reviewed by Rob Buis. Per[1], content-visibility: hidden turns on contain:size. Contain:size would change the layout size of the element. So when an element's content-visibility value changes from hidden to other, it should trigger a layout, vice versa. [1] https://w3c.github.io/csswg-drafts/css-contain-2/#skips-its-contents * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-038-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-006-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-008-expected.txt: * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::rareNonInheritedDataChangeRequiresLayout): Canonical link: https://commits.webkit.org/257484@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] eaa26f: [content-visibility] c-v:hidden only turns on cont...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: eaa26fbd160ee4fac5713f73783a6f582323e0ae https://github.com/WebKit/WebKit/commit/eaa26fbd160ee4fac5713f73783a6f582323e0ae Author: Cathie Chen Date: 2022-12-06 (Tue, 06 Dec 2022) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-033-expected.txt M Source/WebCore/rendering/RenderElement.h Log Message: --- [content-visibility] c-v:hidden only turns on contain: size, not contain: inline-size https://bugs.webkit.org/show_bug.cgi?id=248280 Reviewed by Rob Buis. Content-visibility:hidden makes that element skips its contents. Per [1], when an element skips its contents, it turns on contain:size, not contain:inline-size. [1] https://w3c.github.io/csswg-drafts/css-contain-2/#skips-its-contents * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-033-expected.txt: * Source/WebCore/rendering/RenderElement.h: (WebCore::RenderElement::shouldApplyInlineSizeContainment const): Canonical link: https://commits.webkit.org/257431@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5ec07d: Resync WPT tests for contain-intrinsic-size
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5ec07d1125db2d13bd0cde752cf580d87d7ff9f7 https://github.com/WebKit/WebKit/commit/5ec07d1125db2d13bd0cde752cf580d87d7ff9f7 Author: Cathie Chen Date: 2022-12-03 (Sat, 03 Dec 2022) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-009.html A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-011-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-011.html A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-012-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-012.html A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-033-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-033.html M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/w3c-import.log Log Message: --- Resync WPT tests for contain-intrinsic-size https://bugs.webkit.org/show_bug.cgi?id=248679 Reviewed by Rob Buis. Resnc the WPT test in css/css-sizing/contain-intrinsic-size/ to commit 15aaa7c3c9467. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-009.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-011-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-011.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-009.html. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-012-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-012.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-033-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-033.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/w3c-import.log: Canonical link: https://commits.webkit.org/257350@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 41b432: [web-animations] contain-intrinsic-* properties sh...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 41b432cafb957d1fdd83f96ffc767a15501de1ea https://github.com/WebKit/WebKit/commit/41b432cafb957d1fdd83f96ffc767a15501de1ea Author: Cathie Chen Date: 2022-10-26 (Wed, 26 Oct 2022) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation-expected.txt M Source/WebCore/animation/CSSPropertyAnimation.cpp Log Message: --- [web-animations] contain-intrinsic-* properties should support animations https://bugs.webkit.org/show_bug.cgi?id=241184 Reviewed by Antoine Quint. This patch support animations for contain-intrinsic-size related properties. As the value of contain-intrinsic-size is consitent of ContainIntrinsicSizeType and an std::optional value. In this patch, we added OptionalLengthPropertyWrapper to handle the optinal length, and ContainIntrinsiclLengthPropertyWrapper to handle ContainIntrinsicSizeType. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation-expected.txt: * Source/WebCore/animation/CSSPropertyAnimation.cpp: (WebCore::OptionalLengthPropertyWrapper::OptionalLengthPropertyWrapper): (WebCore::OptionalLengthPropertyWrapper::canInterpolate const): (WebCore::OptionalLengthPropertyWrapper::blend const): (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Canonical link: https://commits.webkit.org/256028@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7ed83a: Implement css property contain-intrinsic-size
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7ed83ab2929f7a2be55fb40888fea7ff02909f56 https://github.com/WebKit/WebKit/commit/7ed83ab2929f7a2be55fb40888fea7ff02909f56 Author: Cathie Chen Date: 2022-10-25 (Tue, 25 Oct 2022) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-003-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-004-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-029-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-030-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-031-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-032-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-logical-003-expected.txt M Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp M Source/WebCore/rendering/RenderBlock.cpp M Source/WebCore/rendering/RenderBlockFlow.cpp M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/RenderBox.h M Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp M Source/WebCore/rendering/RenderFileUploadControl.cpp M Source/WebCore/rendering/RenderFlexibleBox.cpp M Source/WebCore/rendering/RenderGrid.cpp M Source/WebCore/rendering/RenderGrid.h M Source/WebCore/rendering/RenderListBox.cpp M Source/WebCore/rendering/RenderMenuList.cpp M Source/WebCore/rendering/RenderReplaced.cpp M Source/WebCore/rendering/RenderReplaced.h M Source/WebCore/rendering/RenderSlider.cpp M Source/WebCore/rendering/RenderTextControl.cpp M Source/WebCore/rendering/RenderVideo.cpp M Source/WebCore/rendering/style/RenderStyle.cpp Log Message: --- Implement css property contain-intrinsic-size https://bugs.webkit.org/show_bug.cgi?id=238867 Reviewed by Alan Bujtas. This patch adds support for contain-intrinsic-size value "none | ". The value "auto && " is not supported, because per [1] it depends on "content-visibility:auto" which is not supported yet. Per [2], the properties allow elements with size containment to specify an explicit intrinsic inner size, which is determined in RenderBox. These values will affect the intrinsic width calculation in computeIntrinsicLogicalWidths. As to intrinsic height, the value will be overridden at the point after layout children and before logical height calculation. For grid layout, we need to use explicit intrinsic inner size to calculate auto repetition, if width/height is auto. [1] https://github.com/w3c/csswg-drafts/issues/6308 [2] https://www.w3.org/TR/css-sizing-4/#intrinsic-size-override * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-003-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-004-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-029-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-030-expected.txt: The three failed cases are related to css scrollbar-gutter. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-031-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-032-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-logical-003-expected.txt: * Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp: (WebCore::GridTrackSizingAlgorithm::computeGridContainerIntrinsicSizes): Set explicitIntrinsicInnerLogicalSize to m_minContentSize and m_maxContentSize. (WebCore::GridTrackSizingAlgorithm::run): Don't skip stretching tracks for size containment if there is explicitIntrinsicInnerLogicalSize. * Source/WebCore/rendering/RenderBlock.cpp: (WebCore::RenderBlock::computeIntrinsicLogicalWidths const): Ditto. * Source/WebCore/rendering/RenderBlockFlow.cpp:
[webkit-changes] [WebKit/WebKit] 12d37f: Resync contain-intrinsic-size/contain-intrinsic-si...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 12d37fe15c2150d912c9dd935612a9040b5ad1e9 https://github.com/WebKit/WebKit/commit/12d37fe15c2150d912c9dd935612a9040b5ad1e9 Author: Cathie Chen Date: 2022-10-24 (Mon, 24 Oct 2022) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-032-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-032.html Log Message: --- Resync contain-intrinsic-size/contain-intrinsic-size-032.html from WPT https://bugs.webkit.org/show_bug.cgi?id=246944 Reviewed by Rob Buis. Border changes the appearance of element, which makes contain-intrinsic-size-032.html not testable in WebKit. Resync it to commit 1524b75b14c68d8 that both test cases and reference are with border. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-032-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-032.html: Canonical link: https://commits.webkit.org/255920@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4bf06f: Resync contain-intrinsic-size/contain-intrinsic-si...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4bf06f4ba2ef969a41b12bef42dbf75c880f93df https://github.com/WebKit/WebKit/commit/4bf06f4ba2ef969a41b12bef42dbf75c880f93df Author: Cathie Chen Date: 2022-10-20 (Thu, 20 Oct 2022) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009.html Log Message: --- Resync contain-intrinsic-size/contain-intrinsic-size-009.html from WPT https://bugs.webkit.org/show_bug.cgi?id=246807 Reviewed by Rob Buis. Resync contain-intrinsic-size/contain-intrinsic-size-009.html to commit 0d1ad75e126e. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009.html: Canonical link: https://commits.webkit.org/255789@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] db462f: Resync WPT tests for contain-intrinsic-size
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: db462f1dc2bed318a2948ae3cc59594c63d9b926 https://github.com/WebKit/WebKit/commit/db462f1dc2bed318a2948ae3cc59594c63d9b926 Author: Cathie Chen Date: 2022-10-14 (Fri, 14 Oct 2022) Changed paths: M LayoutTests/TestExpectations A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-009-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-009.html A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-010-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-010.html R LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-expected.txt R LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-ref.html M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009.html M LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/w3c-import.log Log Message: --- Resync WPT tests for contain-intrinsic-size https://bugs.webkit.org/show_bug.cgi?id=246462 Reviewed by Rob Buis. Update the contain-intrinsic-size tests to WPT commit 56d81ee2e9676f7271b907fcc6fbb2b904cd6529 * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-009-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-009.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-010-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-010.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-expected.html: Removed. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009-ref.html: Removed. * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-009.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/w3c-import.log: Canonical link: https://commits.webkit.org/255534@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [295742] trunk/metadata/contributors.json
Title: [295742] trunk/metadata/contributors.json Revision 295742 Author cathiec...@igalia.com Date 2022-06-22 11:49:12 -0700 (Wed, 22 Jun 2022) Log Message Add cathiechen GitHub account to contributors.json. https://bugs.webkit.org/show_bug.cgi?id=241861 Unreviewed. * metadata/contributors.json: Add cathiechen GitHub account. Canonical link: https://commits.webkit.org/251747@main Modified Paths trunk/metadata/contributors.json Diff Modified: trunk/metadata/contributors.json (295741 => 295742) --- trunk/metadata/contributors.json 2022-06-22 18:36:58 UTC (rev 295741) +++ trunk/metadata/contributors.json 2022-06-22 18:49:12 UTC (rev 295742) @@ -1383,6 +1383,7 @@ "emails" : [ "cathiec...@igalia.com" ], + "github" : "cathiechen", "name" : "Cathie Chen", "nicks" : [ "cathiechen" ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293288] trunk
Title: [293288] trunk Revision 293288 Author cathiec...@igalia.com Date 2022-04-22 23:44:03 -0700 (Fri, 22 Apr 2022) Log Message The layout is not updated when style.contain is changed from "size"/"inline-size" to empty string https://bugs.webkit.org/show_bug.cgi?id=239489 Reviewed by Rob Buis. LayoutTests/imported/w3c: * web-platform-tests/css/css-contain/contain-inline-size-removed-expected.html: Added. * web-platform-tests/css/css-contain/contain-inline-size-removed.html: Added. * web-platform-tests/css/css-contain/contain-size-removed-expected.html: Added. * web-platform-tests/css/css-contain/contain-size-removed.html: Added. * web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-004-expected.txt: * web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005-expected.txt: Source/WebCore: Unlike "layout", "paint" and "style" containment, being a "size" and "inline-size" containment or not affects the layout size of the element. So it should require layout when a normal element becomes a "size"/"inline-size" containment, vice versa. Tests: imported/w3c/web-platform-tests/css/css-contain/contain-inline-size-removed.html imported/w3c/web-platform-tests/css/css-contain/contain-size-removed.html * rendering/style/RenderStyle.cpp: (WebCore::rareNonInheritedDataChangeRequiresLayout): (WebCore::RenderStyle::effectiveContainment const): Deleted. Moved to StyleRareNonInheritedData. * rendering/style/RenderStyle.h: (WebCore::RenderStyle::effectiveContainment const): * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::effectiveContainment const): * rendering/style/StyleRareNonInheritedData.h: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-004-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/style/RenderStyle.cpp trunk/Source/WebCore/rendering/style/RenderStyle.h trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.h Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/contain-inline-size-removed-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/contain-inline-size-removed.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/contain-size-removed-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/contain-size-removed.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (293287 => 293288) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-04-23 06:27:11 UTC (rev 293287) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-04-23 06:44:03 UTC (rev 293288) @@ -1,3 +1,17 @@ +2022-04-22 Cathie Chen + +The layout is not updated when style.contain is changed from "size"/"inline-size" to empty string +https://bugs.webkit.org/show_bug.cgi?id=239489 + +Reviewed by Rob Buis. + +* web-platform-tests/css/css-contain/contain-inline-size-removed-expected.html: Added. +* web-platform-tests/css/css-contain/contain-inline-size-removed.html: Added. +* web-platform-tests/css/css-contain/contain-size-removed-expected.html: Added. +* web-platform-tests/css/css-contain/contain-size-removed.html: Added. +* web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-004-expected.txt: +* web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005-expected.txt: + 2022-04-21 Rob Buis `contain: layout` on the html element should change position:fixed behavior Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/contain-inline-size-removed-expected.html (0 => 293288) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/contain-inline-size-removed-expected.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/contain-inline-size-removed-expected.html 2022-04-23 06:44:03 UTC (rev 293288) @@ -0,0 +1,13 @@ + + + + Reference rendering - passes if there is the word "PASS" below + +div { overflow: hidden; } + + + + Test passes if there is the word "PASS" below. + PASS + + Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/contain-inline-size-removed.html (0 => 293288) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/contain-inline-size-removed.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/contain-inline-size-removed.html 2022-04-23 06:44:03 UTC (rev 293288) @@ -0,0 +1,19 @@ + + + +CSS Containment Test: Remove inline-size from style.contain + + + + +Test passes if there is the word "PASS" below. +PASS + + +window.requestAnimationFrame(() => { +
[webkit-changes] [292284] trunk
Title: [292284] trunk Revision 292284 Author cathiec...@igalia.com Date 2022-04-04 01:37:53 -0700 (Mon, 04 Apr 2022) Log Message REGRESSION(r291797): [wk1] 5 contain-intrinsic-size* tests are constant text failures https://bugs.webkit.org/show_bug.cgi?id=238584 Reviewed by Simon Fraser. Source/WTF: Enable ResizeObserver for legacy WebKit. * Scripts/Preferences/WebPreferencesExperimental.yaml: Tools: Enable ResizeObserver for wk1 test. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults): LayoutTests: * platform/mac-wk1/TestExpectations: * platform/mac-wk1/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-031-expected.txt: Removed. * platform/mac-wk1/imported/w3c/web-platform-tests/resize-observer/change-layout-in-error-expected.txt: Removed. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-wk1/TestExpectations trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml trunk/Tools/ChangeLog trunk/Tools/DumpRenderTree/TestOptions.cpp Removed Paths trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-031-expected.txt trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/resize-observer/ Diff Modified: trunk/LayoutTests/ChangeLog (292283 => 292284) --- trunk/LayoutTests/ChangeLog 2022-04-04 08:03:30 UTC (rev 292283) +++ trunk/LayoutTests/ChangeLog 2022-04-04 08:37:53 UTC (rev 292284) @@ -1,3 +1,14 @@ +2022-04-04 Cathie Chen + +REGRESSION(r291797): [wk1] 5 contain-intrinsic-size* tests are constant text failures +https://bugs.webkit.org/show_bug.cgi?id=238584 + +Reviewed by Simon Fraser. + +* platform/mac-wk1/TestExpectations: +* platform/mac-wk1/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-031-expected.txt: Removed. +* platform/mac-wk1/imported/w3c/web-platform-tests/resize-observer/change-layout-in-error-expected.txt: Removed. + 2022-04-04 Myles C. Maxfield [WebGPU] Unskip the first few passing WebGPU tests Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (292283 => 292284) --- trunk/LayoutTests/platform/mac-wk1/TestExpectations 2022-04-04 08:03:30 UTC (rev 292283) +++ trunk/LayoutTests/platform/mac-wk1/TestExpectations 2022-04-04 08:37:53 UTC (rev 292284) @@ -1695,13 +1695,6 @@ webkit.org/b/229247 http/tests/fetch/keepalive-fetch-2.html [ Pass Failure ] -# webkit.org/b/238584 These 5 tests are constantly failing on wk1 -imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-001.html [ Failure ] -imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-002.html [ Failure ] -imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-003.html [ Failure ] -imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-004.html [ Failure ] -imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/auto-005.html [ Failure ] - webkit.org/b/209878 [ Debug ] webrtc/datachannel/multiple-connections.html [ Pass Failure Slow ] webkit.org/b/230055 [ BigSur ] webrtc/datachannel/datachannel-page-cache-send.html [ Pass Timeout ] Deleted: trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-031-expected.txt (292283 => 292284) --- trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-031-expected.txt 2022-04-04 08:03:30 UTC (rev 292283) +++ trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-contain/content-visibility/content-visibility-031-expected.txt 2022-04-04 08:37:53 UTC (rev 292284) @@ -1,10 +0,0 @@ -CONSOLE MESSAGE: Unhandled Promise Rejection: ReferenceError: Can't find variable: ResizeObserver - -Harness Error (FAIL), message = Unhandled rejection: Can't find variable: ResizeObserver - -TIMEOUT ResizeObserver skipped while hidden Test timed out - -Harness Error (FAIL), message = Unhandled rejection: Can't find variable: ResizeObserver - -TIMEOUT ResizeObserver skipped while hidden Test timed out - Modified: trunk/Source/WTF/ChangeLog (292283 => 292284) --- trunk/Source/WTF/ChangeLog 2022-04-04 08:03:30 UTC (rev 292283) +++ trunk/Source/WTF/ChangeLog 2022-04-04 08:37:53 UTC (rev 292284) @@ -1,3 +1,14 @@ +2022-04-04 Cathie Chen + +REGRESSION(r291797): [wk1] 5 contain-intrinsic-size* tests are constant text failures +https://bugs.webkit.org/show_bug.cgi?id=238584 + +Reviewed by Simon Fraser. + +Enable ResizeObserver for legacy WebKit. + +* Scripts/Preferences/WebPreferencesExperimental.yaml: + 2022-04-03 Tim Horton _WKDataTask doesn't work in macCatalyst Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (292283 => 292284) ---
[webkit-changes] [287847] trunk
Title: [287847] trunk Revision 287847 Author cathiec...@igalia.com Date 2022-01-10 11:06:53 -0800 (Mon, 10 Jan 2022) Log Message ASSERTION FAILED in RenderLayer::updateClipRects https://bugs.webkit.org/show_bug.cgi?id=234315 Reviewed by Simon Fraser. Source/WebCore: In clippingRootForPainting(), the dialog element uses the top layer as its clipping root layer. When it caculates the clip rects, it caculates all its ancestors' clip rects and caches them including the clipping root layer. However, if the ancestor is a transformed layer, it should be treated as a root layer. When the transformed layer updates its clip rects, the root layer won't match the one in cache. This patch stops the dialog descendant propagating its clipping root layer to the ancestors' in cache. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::clipCrossesPaintingBoundary const): LayoutTests: * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderLayer.cpp Diff Modified: trunk/LayoutTests/ChangeLog (287846 => 287847) --- trunk/LayoutTests/ChangeLog 2022-01-10 19:03:07 UTC (rev 287846) +++ trunk/LayoutTests/ChangeLog 2022-01-10 19:06:53 UTC (rev 287847) @@ -1,3 +1,12 @@ +2022-01-10 Cathie Chen + +ASSERTION FAILED in RenderLayer::updateClipRects +https://bugs.webkit.org/show_bug.cgi?id=234315 + +Reviewed by Simon Fraser. + +* TestExpectations: + 2022-01-10 Chris Dumez Resync web-platform-tests/html from upstream Modified: trunk/LayoutTests/TestExpectations (287846 => 287847) --- trunk/LayoutTests/TestExpectations 2022-01-10 19:03:07 UTC (rev 287846) +++ trunk/LayoutTests/TestExpectations 2022-01-10 19:06:53 UTC (rev 287847) @@ -3949,6 +3949,7 @@ webkit.org/b/230079 [ Debug ] imported/w3c/web-platform-tests/css/css-transforms/transform-transformed-thead-contains-fixed-position.html [ Skip ] webkit.org/b/230079 [ Debug ] imported/w3c/web-platform-tests/css/css-transforms/transform-transformed-tr-contains-fixed-position.html [ Skip ] webkit.org/b/230079 [ Debug ] imported/w3c/web-platform-tests/css/css-transforms/transform-transformed-tr-percent-height-child.html [ Skip ] +webkit.org/b/230079 [ Debug ] fast/layers/top-layer-ancestor-opacity-and-transform-crash.html [ Skip ] webkit.org/b/230080 [ Release ] imported/w3c/web-platform-tests/css/css-transforms/transform-transformed-tbody-contains-fixed-position.html [ ImageOnlyFailure ] webkit.org/b/230080 [ Release ] imported/w3c/web-platform-tests/css/css-transforms/transform-transformed-tfoot-contains-fixed-position.html [ ImageOnlyFailure ] @@ -5189,8 +5190,6 @@ imported/w3c/web-platform-tests/css/css-shadow-parts/interaction-with-nested-pseudo-class.html [ ImageOnlyFailure ] -webkit.org/b/234315 [ Debug ] fast/layers/top-layer-ancestor-opacity-and-transform-crash.html [ Skip ] - webkit.org/b/183994 imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block.html [ Failure ] # Test is crashing in Debug builds since import. Modified: trunk/Source/WebCore/ChangeLog (287846 => 287847) --- trunk/Source/WebCore/ChangeLog 2022-01-10 19:03:07 UTC (rev 287846) +++ trunk/Source/WebCore/ChangeLog 2022-01-10 19:06:53 UTC (rev 287847) @@ -1,3 +1,20 @@ +2022-01-10 Cathie Chen + +ASSERTION FAILED in RenderLayer::updateClipRects +https://bugs.webkit.org/show_bug.cgi?id=234315 + +Reviewed by Simon Fraser. + +In clippingRootForPainting(), the dialog element uses the top layer as its clipping root layer. +When it caculates the clip rects, it caculates all its ancestors' clip rects and caches them +including the clipping root layer. However, if the ancestor is a transformed layer, it should be +treated as a root layer. When the transformed layer updates its clip rects, the root layer won't +match the one in cache. This patch stops the dialog descendant propagating its clipping root layer +to the ancestors' in cache. + +* rendering/RenderLayer.cpp: +(WebCore::RenderLayer::clipCrossesPaintingBoundary const): + 2022-01-10 Tim Nguyen REGRESSION(r287683): elements inside clipped/overflowed elements are no longer shown Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (287846 => 287847) --- trunk/Source/WebCore/rendering/RenderLayer.cpp 2022-01-10 19:03:07 UTC (rev 287846) +++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2022-01-10 19:06:53 UTC (rev 287847) @@ -4457,6 +4457,9 @@ bool RenderLayer::clipCrossesPaintingBoundary() const { +if (establishesTopLayer()) +return true; + return parent()->enclosingPaginationLayer(IncludeCompositedPaginatedLayers) != enclosingPaginationLayer(IncludeCompositedPaginatedLayers) || parent()->enclosingCompositingLayerForRepaint() != enclosingCompositingLayerForRepaint(); }
[webkit-changes] [286954] trunk/PerformanceTests
Title: [286954] trunk/PerformanceTests Revision 286954 Author cathiec...@igalia.com Date 2021-12-13 10:13:44 -0800 (Mon, 13 Dec 2021) Log Message [Performance test] Add test lots-of-self-painting-layers.html https://bugs.webkit.org/show_bug.cgi?id=233684 Reviewed by Rob Buis. This test is a transform of the test [1] in blink. It uses position: relative to create lots of self-painting layers. By changing the first layer's height, it tracks the repaint performance of these self-painting layers. [1] third_party/blink/perf_tests/layout/contain-content-style-change.html * Paint/lots-of-self-painting-layers.html: Added. Modified Paths trunk/PerformanceTests/ChangeLog Added Paths trunk/PerformanceTests/Paint/ trunk/PerformanceTests/Paint/lots-of-self-painting-layers.html Diff Modified: trunk/PerformanceTests/ChangeLog (286953 => 286954) --- trunk/PerformanceTests/ChangeLog 2021-12-13 17:53:55 UTC (rev 286953) +++ trunk/PerformanceTests/ChangeLog 2021-12-13 18:13:44 UTC (rev 286954) @@ -1,3 +1,18 @@ +2021-12-13 Cathie Chen + +[Performance test] Add test lots-of-self-painting-layers.html +https://bugs.webkit.org/show_bug.cgi?id=233684 + +Reviewed by Rob Buis. + +This test is a transform of the test [1] in blink. It uses position: relative to create +lots of self-painting layers. By changing the first layer's height, it tracks the repaint +performance of these self-painting layers. + +[1] third_party/blink/perf_tests/layout/contain-content-style-change.html + +* Paint/lots-of-self-painting-layers.html: Added. + 2021-12-08 Alan Bujtas Add layout performance test for simple bidi content with inline boxes Added: trunk/PerformanceTests/Paint/lots-of-self-painting-layers.html (0 => 286954) --- trunk/PerformanceTests/Paint/lots-of-self-painting-layers.html (rev 0) +++ trunk/PerformanceTests/Paint/lots-of-self-painting-layers.html 2021-12-13 18:13:44 UTC (rev 286954) @@ -0,0 +1,67 @@ + +Tracking the performance of self-painting layers + + + + + + + +