[webkit-changes] [WebKit/WebKit] 3db230: [contain-intrinsic-size] Element removed by parent...

2024-03-03 Thread cathiechen
  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...

2023-03-27 Thread cathiechen
  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...

2023-03-03 Thread cathiechen
  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...

2023-03-01 Thread cathiechen
  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

2023-03-01 Thread cathiechen
  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

2023-02-28 Thread cathiechen
  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 &&

2023-02-20 Thread cathiechen
  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...

2023-02-16 Thread cathiechen
  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...

2023-02-01 Thread cathiechen
  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

2023-01-19 Thread cathiechen
  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...

2022-12-21 Thread cathiechen
  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...

2022-12-11 Thread cathiechen
  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...

2022-12-07 Thread cathiechen
  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...

2022-12-06 Thread cathiechen
  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

2022-12-03 Thread cathiechen
  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...

2022-10-26 Thread cathiechen
  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

2022-10-25 Thread cathiechen
  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...

2022-10-24 Thread cathiechen
  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...

2022-10-20 Thread cathiechen
  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

2022-10-14 Thread cathiechen
  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

2022-06-22 Thread cathiechen
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

2022-04-23 Thread cathiechen
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

2022-04-04 Thread cathiechen
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

2022-01-10 Thread cathiechen
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

2021-12-13 Thread cathiechen
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
+
+
+
+
+

+
+
+