[webkit-changes] [295655] trunk/Source/WebCore/page/FocusController.cpp
Title: [295655] trunk/Source/WebCore/page/FocusController.cpp Revision 295655 Author nmouchta...@apple.com Date 2022-06-17 20:57:40 -0700 (Fri, 17 Jun 2022) Log Message Assertion failed m_page.shouldSuppressScrollbarAnimations() in FocusController::setIsVisibleAndActiveInternal(bool) https://bugs.webkit.org/show_bug.cgi?id=241609 Reviewed by Simon Fraser. Revert to original assert after change in https://bugs.webkit.org/show_bug.cgi?id=238497. In the case of a scrollable area with no scrollbars, m_scrollerImpPair is not nil, but its members _horizontalScrollerImp and _verticalScrollerImp are nil, so presumably the NSScroller API handles this case correctly. * Source/WebCore/page/FocusController.cpp: (WebCore::FocusController::setIsVisibleAndActiveInternal): Canonical link: https://commits.webkit.org/251660@main Modified Paths trunk/Source/WebCore/page/FocusController.cpp Diff Modified: trunk/Source/WebCore/page/FocusController.cpp (295654 => 295655) --- trunk/Source/WebCore/page/FocusController.cpp 2022-06-18 03:46:55 UTC (rev 295654) +++ trunk/Source/WebCore/page/FocusController.cpp 2022-06-18 03:57:40 UTC (rev 295655) @@ -963,10 +963,7 @@ continue; for (auto& scrollableArea : *scrollableAreas) { -if (!scrollableArea->scrollbarsCanBeActive()) -continue; -ASSERT(m_page.shouldSuppressScrollbarAnimations()); - +ASSERT(scrollableArea->scrollbarsCanBeActive() || m_page.shouldSuppressScrollbarAnimations()); contentAreaDidShowOrHide(scrollableArea, contentIsVisible); } } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [295448] trunk
Title: [295448] trunk Revision 295448 Author nmouchta...@apple.com Date 2022-06-10 01:04:47 -0700 (Fri, 10 Jun 2022) Log Message REGRESSION: CSS scroll-behavior: smooth with overflow: hidden breaks JS scrollTo/scrollLeft/scrollTop https://bugs.webkit.org/show_bug.cgi?id=238497 Reviewed by Simon Fraser. Add scrollable area to frame view's list of scrollable areas if necessary in scrollToOffset. This is necessary as Document::runScrollSteps() looks through the list of scrollable areas to service animations on the scrollable area. It is necessary to add the scrollable area in scrollToOffset as for a scrollable area that is not user scrollable (such as a scrollable area with overflow: hidden) it would not be added, so the animation would not occur. * LayoutTests/fast/scrolling/smooth-scroll-with-overflow-hidden-expected.txt: Added. * LayoutTests/fast/scrolling/smooth-scroll-with-overflow-hidden.html: Added. * Source/WebCore/page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::absoluteEventTrackingRegionsForFrame const): * Source/WebCore/platform/ScrollableArea.h: (WebCore::ScrollableArea::isVisibleToHitTesting const): * Source/WebCore/rendering/RenderLayerScrollableArea.cpp: (WebCore::RenderLayerScrollableArea::clear): (WebCore::RenderLayerScrollableArea::scrollToOffset): (WebCore::RenderLayerScrollableArea::isVisibleToHitTesting const): (WebCore::RenderLayerScrollableArea::updateScrollableAreaSet): (WebCore::RenderLayerScrollableArea::registerScrollableArea): * Source/WebCore/rendering/RenderLayerScrollableArea.h: Canonical link: https://commits.webkit.org/251454@main Modified Paths trunk/Source/WebCore/page/FocusController.cpp trunk/Source/WebCore/page/FrameView.cpp trunk/Source/WebCore/page/FrameView.h trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp trunk/Source/WebCore/platform/ScrollableArea.h trunk/Source/WebCore/rendering/RenderLayerScrollableArea.cpp trunk/Source/WebCore/rendering/RenderLayerScrollableArea.h trunk/Source/WebCore/rendering/RenderListBox.h Added Paths trunk/LayoutTests/fast/scrolling/mac/smooth-scroll-with-overflow-hidden-expected.txt trunk/LayoutTests/fast/scrolling/mac/smooth-scroll-with-overflow-hidden.html Diff Added: trunk/LayoutTests/fast/scrolling/mac/smooth-scroll-with-overflow-hidden-expected.txt (0 => 295448) --- trunk/LayoutTests/fast/scrolling/mac/smooth-scroll-with-overflow-hidden-expected.txt (rev 0) +++ trunk/LayoutTests/fast/scrolling/mac/smooth-scroll-with-overflow-hidden-expected.txt 2022-06-10 08:04:47 UTC (rev 295448) @@ -0,0 +1,5 @@ +PASS scrollContainer.scrollLeft is 500 +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/fast/scrolling/mac/smooth-scroll-with-overflow-hidden.html (0 => 295448) --- trunk/LayoutTests/fast/scrolling/mac/smooth-scroll-with-overflow-hidden.html (rev 0) +++ trunk/LayoutTests/fast/scrolling/mac/smooth-scroll-with-overflow-hidden.html 2022-06-10 08:04:47 UTC (rev 295448) @@ -0,0 +1,54 @@ + + + + +.scroll-container { +height: 250px; +width: 300px; +border: 1px solid black; +overflow-y: scroll; +overflow: hidden; +} + +.contents { +height: 100%; +width: 400%; +background-image: repeating-linear-gradient(to right, white, silver 250px); +} + + +jsTestIsAsync = true; + +async function runTest() +{ +scrollContainer = document.querySelector('.scroll-container'); + +eventSender.monitorWheelEvents(); + +scrollContainer.scrollTo({ +top: 0, +left: 500, +behavior: 'smooth' +}); + +await UIHelper.waitForScrollCompletion(); + +shouldBe('scrollContainer.scrollLeft', '500'); +finishJSTest(); +} + +window.addEventListener('load', () => { +setTimeout(runTest, 0); +}, false); + + + + + + + +
[webkit-changes] [295260] trunk/Source/WebCore/platform/graphics/filters/FilterImage.cpp
Title: [295260] trunk/Source/WebCore/platform/graphics/filters/FilterImage.cpp Revision 295260 Author nmouchta...@apple.com Date 2022-06-04 01:30:21 -0700 (Sat, 04 Jun 2022) Log Message Add checks for overflow in FilterImage::copyImageBytes https://bugs.webkit.org/show_bug.cgi?id=241296 Reviewed by Said Abou-Hallawa. Add overflow checks to copyImageBytes functions in FilterImage class. * Source/WebCore/platform/graphics/filters/FilterImage.cpp: (WebCore::copyImageBytes): Canonical link: https://commits.webkit.org/251306@main Modified Paths trunk/Source/WebCore/platform/graphics/filters/FilterImage.cpp Diff Modified: trunk/Source/WebCore/platform/graphics/filters/FilterImage.cpp (295259 => 295260) --- trunk/Source/WebCore/platform/graphics/filters/FilterImage.cpp 2022-06-04 02:17:32 UTC (rev 295259) +++ trunk/Source/WebCore/platform/graphics/filters/FilterImage.cpp 2022-06-04 08:30:21 UTC (rev 295260) @@ -120,7 +120,9 @@ ASSERT(sourcePixelBuffer.size() == destinationPixelBuffer.size()); auto destinationSize = destinationPixelBuffer.size(); -unsigned rowBytes = destinationSize.width() * 4; +auto rowBytes = CheckedUint32(destinationSize.width()) * 4; +if (UNLIKELY(rowBytes.hasOverflowed())) +return; ConstPixelBufferConversionView source { sourcePixelBuffer.format(), rowBytes, sourcePixelBuffer.bytes() }; PixelBufferConversionView destination { destinationPixelBuffer.format(), rowBytes, destinationPixelBuffer.bytes() }; @@ -153,12 +155,18 @@ if (destinationRect.isEmpty()) return; -int size = sourceRectClipped.width() * 4; -int destinationBytesPerRow = destinationPixelBufferRect.width() * 4; -int sourceBytesPerRow = sourcePixelBufferRect.width() * 4; -uint8_t* destinationPixel = destinationPixelBuffer.bytes() + destinationRect.y() * destinationBytesPerRow + destinationRect.x() * 4; -const uint8_t* sourcePixel = sourcePixelBuffer.bytes() + sourceRectClipped.y() * sourceBytesPerRow + sourceRectClipped.x() * 4; +auto size = CheckedUint32(sourceRectClipped.width()) * 4; +auto destinationBytesPerRow = CheckedUint32(destinationPixelBufferRect.width()) * 4; +auto sourceBytesPerRow = CheckedUint32(sourcePixelBufferRect.width()) * 4; +auto destinationOffset = destinationRect.y() * destinationBytesPerRow + CheckedUint32(destinationRect.x()) * 4; +auto sourceOffset = sourceRectClipped.y() * sourceBytesPerRow + CheckedUint32(sourceRectClipped.x()) * 4; +if (UNLIKELY(size.hasOverflowed() || destinationBytesPerRow.hasOverflowed() || sourceBytesPerRow.hasOverflowed() || destinationOffset.hasOverflowed() || sourceOffset.hasOverflowed())) +return; + +uint8_t* destinationPixel = destinationPixelBuffer.bytes() + destinationOffset.value(); +const uint8_t* sourcePixel = sourcePixelBuffer.bytes() + sourceOffset.value(); + for (int y = 0; y < sourceRectClipped.height(); ++y) { memcpy(destinationPixel, sourcePixel, size); destinationPixel += destinationBytesPerRow; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [295170] trunk/Source
Title: [295170] trunk/Source Revision 295170 Author nmouchta...@apple.com Date 2022-06-02 22:35:30 -0700 (Thu, 02 Jun 2022) Log Message Add check for pixel buffer format in RemoteRenderingBackend::getPixelBufferForImageBuffer https://bugs.webkit.org/show_bug.cgi?id=241243 Reviewed by Simon Fraser. Add check to ensure that pixel buffer format is supported. * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::getPixelBufferForImageBuffer): Canonical link: https://commits.webkit.org/251254@main Modified Paths trunk/Source/WebCore/platform/graphics/PixelBuffer.h trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp Diff Modified: trunk/Source/WebCore/platform/graphics/PixelBuffer.h (295169 => 295170) --- trunk/Source/WebCore/platform/graphics/PixelBuffer.h 2022-06-03 05:31:49 UTC (rev 295169) +++ trunk/Source/WebCore/platform/graphics/PixelBuffer.h 2022-06-03 05:35:30 UTC (rev 295170) @@ -39,7 +39,7 @@ class PixelBuffer : public RefCounted { WTF_MAKE_NONCOPYABLE(PixelBuffer); public: -static bool supportedPixelFormat(PixelFormat); +WEBCORE_EXPORT static bool supportedPixelFormat(PixelFormat); WEBCORE_EXPORT static RefPtr tryCreate(const PixelBufferFormat&, const IntSize&); WEBCORE_EXPORT static RefPtr tryCreate(const PixelBufferFormat&, const IntSize&, Ref&&); Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp (295169 => 295170) --- trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp 2022-06-03 05:31:49 UTC (rev 295169) +++ trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp 2022-06-03 05:35:30 UTC (rev 295170) @@ -207,6 +207,7 @@ void RemoteRenderingBackend::getPixelBufferForImageBuffer(RenderingResourceIdentifier imageBuffer, PixelBufferFormat&& destinationFormat, IntRect&& srcRect, CompletionHandler&& completionHandler) { MESSAGE_CHECK(m_getPixelBufferSharedMemory, "No shared memory for getPixelBufferForImageBuffer"); +MESSAGE_CHECK(PixelBuffer::supportedPixelFormat(destinationFormat.pixelFormat), "Pixel format not supported"); QualifiedRenderingResourceIdentifier qualifiedImageBuffer { imageBuffer, m_gpuConnectionToWebProcess->webProcessIdentifier() }; if (auto imageBuffer = m_remoteResourceCache.cachedImageBuffer(qualifiedImageBuffer)) { auto pixelBuffer = imageBuffer->getPixelBuffer(destinationFormat, srcRect); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [294908] trunk/LayoutTests/platform
Title: [294908] trunk/LayoutTests/platform Revision 294908 Author nmouchta...@apple.com Date 2022-05-26 16:41:44 -0700 (Thu, 26 May 2022) Log Message Disable heic tests temporarily https://bugs.webkit.org/show_bug.cgi?id=240990 Unreviewed test expectation chnage. * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/251030@main Modified Paths trunk/LayoutTests/platform/ios/TestExpectations trunk/LayoutTests/platform/mac/TestExpectations Diff Modified: trunk/LayoutTests/platform/ios/TestExpectations (294907 => 294908) --- trunk/LayoutTests/platform/ios/TestExpectations 2022-05-26 23:41:11 UTC (rev 294907) +++ trunk/LayoutTests/platform/ios/TestExpectations 2022-05-26 23:41:44 UTC (rev 294908) @@ -72,9 +72,9 @@ perf/accessibility-title-ui-element.html # webkit.org/b/240843 -fast/images/heic-as-background-image.html [ Pass ] -fast/images/animated-heics-verify.html [ Pass ] -fast/images/animated-heics-draw.html [ Pass ] +fast/images/heic-as-background-image.html [ Skip ] +fast/images/animated-heics-verify.html [ Skip ] +fast/images/animated-heics-draw.html [ Skip ] # No fullscreen API on iOS fullscreen Modified: trunk/LayoutTests/platform/mac/TestExpectations (294907 => 294908) --- trunk/LayoutTests/platform/mac/TestExpectations 2022-05-26 23:41:11 UTC (rev 294907) +++ trunk/LayoutTests/platform/mac/TestExpectations 2022-05-26 23:41:44 UTC (rev 294908) @@ -90,9 +90,9 @@ #// # webkit.org/b/240843 -fast/images/animated-heics-draw.html [ Pass ] -fast/images/animated-heics-verify.html [ Pass ] -fast/images/heic-as-background-image.html [ Pass ] +fast/images/animated-heics-draw.html [ Skip ] +fast/images/animated-heics-verify.html [ Skip ] +fast/images/heic-as-background-image.html [ Skip ] # fast/events/mouseout-on-window.html needs mac DRT to issue mouse out events fast/events/mouseout-on-window.html [ Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [294520] trunk
Title: [294520] trunk Revision 294520 Author nmouchta...@apple.com Date 2022-05-19 18:22:33 -0700 (Thu, 19 May 2022) Log Message Implement contain flag for ray() in offset path https://bugs.webkit.org/show_bug.cgi?id=240259 Reviewed by Simon Fraser. Implement contain flag for ray(). Contains purpose is to have the entire box being animated be contained within the path. "Contained within the path" is defined as having the box remain within a circle with the radius of the path length and positioned at the offset anchor. This solution is adapted from the repository of the spec writer: https://github.com/ewilligers/petrogale-purpureicollis. The way this solution works is that you construct a coordinate system with the origin being the offset anchor. You then calculate the position of each vertex of the box. Then, rotate the vertices based on the angles difference from the x-axis. Next, using the circle equation, we want to find an offset such that (x + offset)^2 + y^2 = r^2. This results in a lower and upper bound for offset: -x - sqrt(r^2 - y^2) <= offset <= -x + sqrt(r^2 + y^2). Finally we choose the minimal value of these upper and lower bounds to get the final clamped offset. This patch currently doesn't take into account if it is not possible to fit the box within the path, as this will be completed in a seperate patch. Currently, test 4 is failing due to rounding error, and test 5 is failing due to the unimplemented part. * Source/WebCore/platform/graphics/GeometryUtilities.cpp: (WebCore::toRelatedAcuteAngle): (WebCore::distanceOfPointToSidesOfRect): (WebCore::verticesForBox): * Source/WebCore/platform/graphics/GeometryUtilities.h: * Source/WebCore/rendering/PathOperation.cpp: (WebCore::RayPathOperation::lengthForContainPath const): (WebCore::RayPathOperation::pathForReferenceRect const): * Source/WebCore/rendering/PathOperation.h: * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::getPathFromPathOperation): (WebCore::RenderStyle::applyMotionPathTransform const): * LayoutTests/TestExpectations: Canonical link: https://commits.webkit.org/250776@main Modified Paths trunk/LayoutTests/TestExpectations trunk/Source/WebCore/platform/graphics/GeometryUtilities.cpp trunk/Source/WebCore/platform/graphics/GeometryUtilities.h trunk/Source/WebCore/rendering/PathOperation.cpp trunk/Source/WebCore/rendering/PathOperation.h trunk/Source/WebCore/rendering/style/RenderStyle.cpp Diff Modified: trunk/LayoutTests/TestExpectations (294519 => 294520) --- trunk/LayoutTests/TestExpectations 2022-05-20 01:17:40 UTC (rev 294519) +++ trunk/LayoutTests/TestExpectations 2022-05-20 01:22:33 UTC (rev 294520) @@ -5078,9 +5078,6 @@ webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-007.html [ ImageOnlyFailure ] # CSS motion path needs to implement contain for ray: https://bugs.webkit.org/show_bug.cgi?id=240259. -webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-001.html [ ImageOnlyFailure ] -webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-002.html [ ImageOnlyFailure ] -webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-003.html [ ImageOnlyFailure ] webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-004.html [ ImageOnlyFailure ] webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-005.html [ ImageOnlyFailure ] Modified: trunk/Source/WebCore/platform/graphics/GeometryUtilities.cpp (294519 => 294520) --- trunk/Source/WebCore/platform/graphics/GeometryUtilities.cpp 2022-05-20 01:17:40 UTC (rev 294519) +++ trunk/Source/WebCore/platform/graphics/GeometryUtilities.cpp 2022-05-20 01:22:33 UTC (rev 294520) @@ -277,7 +277,7 @@ } // Compute acute angle from vertical axis -static float toRelatedAcuteAngle(float angle) +float toRelatedAcuteAngle(float angle) { angle = toPositiveAngle(angle); if (angle < 90) @@ -287,16 +287,24 @@ return std::abs(360 - angle); } -RectEdges distanceOfPointToSidesOfRect(const FloatRect& boundingRect, const FloatPoint& position) +RectEdges distanceOfPointToSidesOfRect(const FloatRect& box, const FloatPoint& position) { // Compute distance to each side of the containing box double top = std::abs(position.y()); -double bottom = std::abs(position.y() - boundingRect.height()); +double bottom = std::abs(position.y() - box.height()); double left = std::abs(position.x()); -double right = std::abs(position.x() - boundingRect.width()); +double right = std::abs(position.x() - box.width()); return RectEdges(top, right, bottom, left); } +std::array verticesForBox(const FloatRect& box, const FloatPoint position) +{ +return { FloatPoint(-position.x(), -position.y()), +FloatPoint(box.width() - position.x(), -position.y()), +FloatPoint(box.width() - position.x(), box.height() - position.y()), +
[webkit-changes] [294408] trunk/metadata/contributors.json
Title: [294408] trunk/metadata/contributors.json Revision 294408 Author nmouchta...@apple.com Date 2022-05-18 11:12:43 -0700 (Wed, 18 May 2022) Log Message Add nmoucht to contributors.json https://bugs.webkit.org/show_bug.cgi?id=240588 Reviewed by Tim Nguyen. * metadata/contributors.json: Canonical link: https://commits.webkit.org/250702@main Modified Paths trunk/metadata/contributors.json Diff Modified: trunk/metadata/contributors.json (294407 => 294408) --- trunk/metadata/contributors.json 2022-05-18 18:07:44 UTC (rev 294407) +++ trunk/metadata/contributors.json 2022-05-18 18:12:43 UTC (rev 294408) @@ -5204,6 +5204,7 @@ "emails" : [ "nmouchta...@apple.com" ], + "github" : "nmoucht", "name" : "Nikolaos Mouchtaris", "status" : "committer" }, ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [294001] trunk
Title: [294001] trunk Revision 294001 Author nmouchta...@apple.com Date 2022-05-09 23:48:49 -0700 (Mon, 09 May 2022) Log Message Support ray() shape in offset-path https://bugs.webkit.org/show_bug.cgi?id=233344 Reviewed by Simon Fraser. Source/WebCore: Add support for rendering ray path. Involves getting containing block and offset of the element from the containing block. Using the size of the containing block and offset, calculate the length of the ray and create a Line path using the length and angle. Calculating closest/farthest-side and closest/farthest-corner are simple but calculating side requires some explanation. First, we get the two possible sides of the containing block the ray could be intersecting with, based on the angle. To calculate which side is being intersected, if tan(theta) * top/bottom is outside of the containing block, this means that the ray is intersecting with the other side. Finally, we calculate the acute angle based on which side we intersected with. Using the length and angle, we calculate the length of the hypotenuse, which corresponds with the length of the start point of the ray to its intersection with a side of the containing block. Test 7 is still failing due to getting incorrect width of containing block (doesn't happen when animating the path for some reason). Will implement contain in another patch. * WebCore.xcodeproj/project.pbxproj: * rendering/PathOperation.cpp: (WebCore::toPositiveAngle): (WebCore::RayPathOperation::getLengthForPath const): (WebCore::RayPathOperation::pathForReferenceRect const): * rendering/PathOperation.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::setReferenceBoxForPathOperations): (WebCore::RenderLayer::updateTransform): * rendering/RenderLayer.h: * rendering/style/RenderStyle.cpp: (WebCore::getPathFromPathOperation): LayoutTests: * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/platform/gtk/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/css/CSSGradientValue.cpp trunk/Source/WebCore/platform/graphics/GeometryUtilities.cpp trunk/Source/WebCore/platform/graphics/GeometryUtilities.h trunk/Source/WebCore/rendering/PathOperation.cpp trunk/Source/WebCore/rendering/PathOperation.h trunk/Source/WebCore/rendering/RenderLayer.cpp trunk/Source/WebCore/rendering/RenderLayer.h trunk/Source/WebCore/rendering/style/RenderStyle.cpp Diff Modified: trunk/LayoutTests/ChangeLog (294000 => 294001) --- trunk/LayoutTests/ChangeLog 2022-05-10 05:20:24 UTC (rev 294000) +++ trunk/LayoutTests/ChangeLog 2022-05-10 06:48:49 UTC (rev 294001) @@ -1,3 +1,12 @@ +2022-05-09 Nikolaos Mouchtaris + +Support ray() shape in offset-path +https://bugs.webkit.org/show_bug.cgi?id=233344 + +Reviewed by Simon Fraser. + +* TestExpectations: + 2022-05-09 Tim Nguyen Implement CSS :modal pseudo class Modified: trunk/LayoutTests/TestExpectations (294000 => 294001) --- trunk/LayoutTests/TestExpectations 2022-05-10 05:20:24 UTC (rev 294000) +++ trunk/LayoutTests/TestExpectations 2022-05-10 06:48:49 UTC (rev 294001) @@ -5074,23 +5074,15 @@ webkit.org/b/233340 imported/w3c/web-platform-tests/css/motion/offset-anchor-transform-box-fill-box-002.html [ ImageOnlyFailure ] webkit.org/b/233340 imported/w3c/web-platform-tests/css/motion/offset-anchor-transform-box-fill-box-003.html [ ImageOnlyFailure ] -# CSS motion path that depends on ray(), currently not implemented. -webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-001.html [ ImageOnlyFailure ] -webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-002.html [ ImageOnlyFailure ] -webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-003.html [ ImageOnlyFailure ] -webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-004.html [ ImageOnlyFailure ] -webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-005.html [ ImageOnlyFailure ] -webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-006.html [ ImageOnlyFailure ] +# CSS motion path ray test failing due to getting wrong size from containing block. webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-007.html [ ImageOnlyFailure ] -webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-008.html [ ImageOnlyFailure ] -webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-009.html [ ImageOnlyFailure ] + +# CSS motion path needs to implement contain for ray: https://bugs.webkit.org/show_bug.cgi?id=240259. webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-001.html [ ImageOnlyFailure ] webkit.org/b/233344 imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-002.html [ ImageOnlyFailure ]
[webkit-changes] [293870] trunk/Source/WebCore
Title: [293870] trunk/Source/WebCore Revision 293870 Author nmouchta...@apple.com Date 2022-05-05 16:50:17 -0700 (Thu, 05 May 2022) Log Message Add check if referenced element is SVG for clip-path https://bugs.webkit.org/show_bug.cgi?id=240096 Reviewed by Simon Fraser. Add check when creating new ReferencePathOperation that it is referencing an svg element. * style/StyleBuilderConverter.h: (WebCore::Style::BuilderConverter::convertPathOperation): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/style/RenderStyle.cpp trunk/Source/WebCore/style/StyleBuilderConverter.h Diff Modified: trunk/Source/WebCore/ChangeLog (293869 => 293870) --- trunk/Source/WebCore/ChangeLog 2022-05-05 23:43:45 UTC (rev 293869) +++ trunk/Source/WebCore/ChangeLog 2022-05-05 23:50:17 UTC (rev 293870) @@ -1,3 +1,16 @@ +2022-05-05 Nikolaos Mouchtaris + +Add check if referenced element is SVG for clip-path +https://bugs.webkit.org/show_bug.cgi?id=240096 + +Reviewed by Simon Fraser. + +Add check when creating new ReferencePathOperation that it is referencing +an svg element. + +* style/StyleBuilderConverter.h: +(WebCore::Style::BuilderConverter::convertPathOperation): + 2022-05-05 Cameron McCormack Avoid using WebCore::Colors created with out-of-line components in DrawGlyphsRecorder Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (293869 => 293870) --- trunk/Source/WebCore/rendering/style/RenderStyle.cpp 2022-05-05 23:43:45 UTC (rev 293869) +++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp 2022-05-05 23:50:17 UTC (rev 293870) @@ -1527,7 +1527,7 @@ case PathOperation::Shape: return downcast(operation).pathForReferenceRect(box); case PathOperation::Reference: -if (!is(downcast(operation).element()) && !is(downcast(operation).element())) +if (!downcast(operation).element() || (!is(downcast(operation).element()) && !is(downcast(operation).element( return std::nullopt; return pathFromGraphicsElement(downcast(operation).element()); case PathOperation::Box: Modified: trunk/Source/WebCore/style/StyleBuilderConverter.h (293869 => 293870) --- trunk/Source/WebCore/style/StyleBuilderConverter.h 2022-05-05 23:43:45 UTC (rev 293869) +++ trunk/Source/WebCore/style/StyleBuilderConverter.h 2022-05-05 23:50:17 UTC (rev 293870) @@ -629,7 +629,9 @@ auto fragment = SVGURIReference::fragmentIdentifierFromIRIString(cssURLValue, builderState.document()); // FIXME: It doesn't work with external SVG references (see https://bugs.webkit.org/show_bug.cgi?id=126133) auto target = SVGURIReference::targetElementFromIRIString(cssURLValue, builderState.document()); -return ReferencePathOperation::create(cssURLValue, fragment, downcast(target.element.get())); +if (is(target.element.get())) +return ReferencePathOperation::create(cssURLValue, fragment, downcast(target.element.get())); +return ReferencePathOperation::create(cssURLValue, fragment, nullptr); } ASSERT(primitiveValue.valueID() == CSSValueNone); return nullptr; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292893] trunk
Title: [292893] trunk Revision 292893 Author nmouchta...@apple.com Date 2022-04-14 16:32:40 -0700 (Thu, 14 Apr 2022) Log Message calc(): Serialize top level min/max/hypot as calc() https://bugs.webkit.org/show_bug.cgi?id=239019 Reviewed by Darin Adler. LayoutTests/imported/w3c: * web-platform-tests/css/css-values/hypot-pow-sqrt-invalid-expected.txt: * web-platform-tests/css/css-values/hypot-pow-sqrt-serialize-expected.txt: * web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt: * web-platform-tests/css/css-values/minmax-length-percent-serialize-expected.txt: * web-platform-tests/css/css-values/minmax-length-serialize-expected.txt: * web-platform-tests/css/css-values/minmax-number-serialize-expected.txt: * web-platform-tests/css/css-values/minmax-percentage-serialize-expected.txt: * web-platform-tests/css/css-values/minmax-time-serialize-expected.txt: Source/WebCore: For functions that would have no effect on the top level value, serialize as calc() rather than the function. * css/calc/CSSCalcOperationNode.cpp: (WebCore::CSSCalcOperationNode::simplifyNode): * css/calc/CSSCalcOperationNode.h: LayoutTests: * fast/css/calc-parsing-expected.txt: * fast/css/calc-parsing.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/css/calc-parsing-expected.txt trunk/LayoutTests/fast/css/calc-parsing.html trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-invalid-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-serialize-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-serialize-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-serialize-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-serialize-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-serialize-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-time-serialize-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/calc/CSSCalcOperationNode.cpp trunk/Source/WebCore/css/calc/CSSCalcOperationNode.h Diff Modified: trunk/LayoutTests/ChangeLog (292892 => 292893) --- trunk/LayoutTests/ChangeLog 2022-04-14 23:26:34 UTC (rev 292892) +++ trunk/LayoutTests/ChangeLog 2022-04-14 23:32:40 UTC (rev 292893) @@ -1,3 +1,13 @@ +2022-04-14 Nikolaos Mouchtaris + +calc(): Serialize top level min/max/hypot as calc() +https://bugs.webkit.org/show_bug.cgi?id=239019 + +Reviewed by Darin Adler. + +* fast/css/calc-parsing-expected.txt: +* fast/css/calc-parsing.html: + 2022-04-14 Karl Rackler [ Mac ] editing/execCommand/insert-ordered-list-and-delete.html is a flaky failure Modified: trunk/LayoutTests/fast/css/calc-parsing-expected.txt (292892 => 292893) --- trunk/LayoutTests/fast/css/calc-parsing-expected.txt 2022-04-14 23:26:34 UTC (rev 292892) +++ trunk/LayoutTests/fast/css/calc-parsing-expected.txt 2022-04-14 23:32:40 UTC (rev 292893) @@ -9,15 +9,15 @@ PASS getComputedStyle(element).getPropertyValue('width') is "100px" element.style["width"] = "max(100px + 200px)" -PASS element.style['width'] is "max(300px)" +PASS element.style['width'] is "calc(300px)" PASS getComputedStyle(element).getPropertyValue('width') is "300px" element.style["width"] = "max(100px , 200px)" -PASS element.style['width'] is "max(200px)" +PASS element.style['width'] is "calc(200px)" PASS getComputedStyle(element).getPropertyValue('width') is "200px" element.style["width"] = "max(100px,200px)" -PASS element.style['width'] is "max(200px)" +PASS element.style['width'] is "calc(200px)" PASS getComputedStyle(element).getPropertyValue('width') is "200px" element.style["width"] = "clamp(100px,123px,200px)" @@ -73,11 +73,11 @@ PASS getComputedStyle(element).getPropertyValue('width') is "1024px" element.style["width"] = "hypot(4px, 5px, 7px, 9px)" -PASS element.style['width'] is "hypot(13.076697px)" +PASS element.style['width'] is "calc(13.076697px)" PASS getComputedStyle(element).getPropertyValue('width') is "13.0625px" element.style["width"] = "hypot(3px, 4px)" -PASS element.style['width'] is "hypot(5px)" +PASS element.style['width'] is "calc(5px)" PASS getComputedStyle(element).getPropertyValue('width') is "5px" element.style["width"] = "calc(100px * hypot(3, 4))" @@ -85,7 +85,7 @@ PASS getComputedStyle(element).getPropertyValue('width') is "500px" element.style["width"] = "hypot(-5px)" -PASS element.style['width'] is "hypot(5px)" +PASS element.style['width'] is "calc(5px)" PASS getComputedStyle(element).getPropertyValue('width') is "5px" element.style["width"] = "calc(1px * hypot(-5))" @@ -269,15 +269,15 @@ PASS
[webkit-changes] [292732] trunk
Title: [292732] trunk Revision 292732 Author nmouchta...@apple.com Date 2022-04-11 16:05:22 -0700 (Mon, 11 Apr 2022) Log Message calc(): Propogate nan for min, max, clamp, and hypot https://bugs.webkit.org/show_bug.cgi?id=238974 Reviewed by Darin Adler. LayoutTests/imported/w3c: * web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt: * web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt: * web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt: * web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt: Source/WebCore: If min, max, clamp, and hypot have a NaN value we need to propagate the NaN. This has to do with the "infectious" NaN behavior the spec mentions. This patch also removes some unnecessary code in CSSCalcPrimitiveValueNode::invert() and has clamp() properly serialize. May want to separate them and expand clamp() serialization testing so it would have caught this issue. * css/calc/CSSCalcOperationNode.cpp: (WebCore::CSSCalcOperationNode::combineChildren): (WebCore::CSSCalcOperationNode::simplifyNode): (WebCore::CSSCalcOperationNode::evaluateOperator): * css/calc/CSSCalcOperationNode.h: * css/calc/CSSCalcPrimitiveValueNode.cpp: (WebCore::CSSCalcPrimitiveValueNode::invert): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/clamp-length-serialize.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/calc/CSSCalcOperationNode.cpp trunk/Source/WebCore/css/calc/CSSCalcOperationNode.h trunk/Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (292731 => 292732) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-04-11 22:56:48 UTC (rev 292731) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-04-11 23:05:22 UTC (rev 292732) @@ -1,3 +1,15 @@ +2022-04-11 Nikolaos Mouchtaris + +calc(): Propogate nan for min, max, clamp, and hypot +https://bugs.webkit.org/show_bug.cgi?id=238974 + +Reviewed by Darin Adler. + +* web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt: +* web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt: +* web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt: +* web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt: + 2022-04-11 Youenn Fablet Expose more ServiceWorker interfaces to workers Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt (292731 => 292732) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt 2022-04-11 22:56:48 UTC (rev 292731) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt 2022-04-11 23:05:22 UTC (rev 292732) @@ -13,11 +13,11 @@ PASS 'calc(1px * max(0/0, 0))' as a specified value should serialize as 'calc(NaN * 1px)'. PASS 'calc(1px * min(0/0, 0))' as a specified value should serialize as 'calc(NaN * 1px)'. PASS 'calc(1px * max(0/0, min(0,10)))' as a specified value should serialize as 'calc(NaN * 1px)'. -FAIL 'calc(1px * clamp(0/0, 0, 10))' as a specified value should serialize as 'calc(NaN * 1px)'. assert_equals: 'calc(1px * clamp(0/0, 0, 10))' and 'calc(NaN * 1px)' should serialize the same in specified values. expected "calc(NaN * 1px)" but got "calc(1px * clamp(NaN, 0, 10))" -FAIL 'calc(1px * max(0, min(10, 0/0)))' as a specified value should serialize as 'calc(NaN * 1px)'. assert_equals: 'calc(1px * max(0, min(10, 0/0)))' and 'calc(NaN * 1px)' should serialize the same in specified values. expected "calc(NaN * 1px)" but got "calc(10px)" -FAIL 'calc(1px * clamp(0, 10, 0/0))' as a specified value should serialize as 'calc(NaN * 1px)'. assert_equals: 'calc(1px * clamp(0, 10, 0/0))' and 'calc(NaN * 1px)' should serialize the same in specified values. expected "calc(NaN * 1px)" but got "calc(1px * clamp(0, 10, NaN))" -FAIL 'calc(1px * max(0, min(0/0, 10)))' as a specified value should serialize as 'calc(NaN * 1px)'. assert_equals: 'calc(1px * max(0, min(0/0, 10)))' and 'calc(NaN * 1px)' should serialize the same in specified values. expected "calc(NaN * 1px)" but got "calc(0px)" -FAIL 'calc(1px * clamp(0, 0/0, 10))' as a specified value should serialize as 'calc(NaN * 1px)'. assert_equals: 'calc(1px * clamp(0, 0/0, 10))' and 'calc(NaN * 1px)'
[webkit-changes] [292382] trunk
Title: [292382] trunk Revision 292382 Author nmouchta...@apple.com Date 2022-04-05 01:03:38 -0700 (Tue, 05 Apr 2022) Log Message Support rendering url(), CSS basic shapes other than path(), and coord-box for offset-path https://bugs.webkit.org/show_bug.cgi?id=233382 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/css/motion/offset-path-shape-expected.html: Added. * web-platform-tests/css/motion/offset-path-shape.html: Added. * web-platform-tests/css/motion/offset-path-url-expected.html: Added. * web-platform-tests/css/motion/offset-path-url.html: Added. Source/WebCore: Introduce support for url(), CSS basic shapes, and coord-box. Url() allows references to SVG shapes, so we check for either an SVGPathElement or SVGGeometryElement (which includes circles, polygons, etc.). We can then get a Path object for that particular SVGElement using pathFromGraphicsElement(). For coord-box, we check the value for the BoxPathOperation (if it exists) in updateTransform(), and choose the corresponding reference box to the referenceBox() value of the BoxPathOperation. Tests: imported/w3c/web-platform-tests/css/motion/offset-path-shape.html imported/w3c/web-platform-tests/css/motion/offset-path-url.html * Sources.txt: * rendering/PathOperation.cpp: Added. (WebCore::ReferencePathOperation::create): (WebCore::ReferencePathOperation::ReferencePathOperation): (WebCore::ReferencePathOperation::element const): * rendering/PathOperation.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateTransform): * rendering/style/RenderStyle.cpp: (WebCore::getPathFromPathOperation): * style/StyleBuilderConverter.h: (WebCore::Style::BuilderConverter::convertPathOperation): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/rendering/PathOperation.h trunk/Source/WebCore/rendering/RenderLayer.cpp trunk/Source/WebCore/rendering/style/RenderStyle.cpp trunk/Source/WebCore/style/StyleBuilderConverter.h Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-geometry-box-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-geometry-box.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-url-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-url.html trunk/Source/WebCore/rendering/PathOperation.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (292381 => 292382) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-04-05 08:01:50 UTC (rev 292381) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-04-05 08:03:38 UTC (rev 292382) @@ -1,3 +1,15 @@ +2022-04-05 Nikolaos Mouchtaris + +Support rendering url(), CSS basic shapes other than path(), and coord-box for offset-path +https://bugs.webkit.org/show_bug.cgi?id=233382 + +Reviewed by Simon Fraser. + +* web-platform-tests/css/motion/offset-path-shape-expected.html: Added. +* web-platform-tests/css/motion/offset-path-shape.html: Added. +* web-platform-tests/css/motion/offset-path-url-expected.html: Added. +* web-platform-tests/css/motion/offset-path-url.html: Added. + 2022-04-04 Ziran Sun [Forms] change the default appearance of button, checkbox etc. to 'auto' Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-geometry-box-expected.html (0 => 292382) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-geometry-box-expected.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-geometry-box-expected.html 2022-04-05 08:03:38 UTC (rev 292382) @@ -0,0 +1,21 @@ + + + +CSS Motion Path: path(geometry-box) paths + + #target { +position: absolute; +left: 300px; +top: 0px; +width: 300px; +height: 200px; +background-color: lime; +transform-origin: 0px 0px; +transform: translate(0px, 0px); + } + + + + + + Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-geometry-box.html (0 => 292382) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-geometry-box.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-geometry-box.html 2022-04-05 08:03:38 UTC (rev 292382) @@ -0,0 +1,24 @@ + + + +CSS Motion Path: path(basic-shape) paths + + + #target { +position: absolute; +left: 300px; +top: 0px; +width: 300px; +height: 200px; +background-color: lime; +transform-origin: 0px 0px; +offset-path:
[webkit-changes] [292018] trunk
Title: [292018] trunk Revision 292018 Author nmouchta...@apple.com Date 2022-03-28 18:16:31 -0700 (Mon, 28 Mar 2022) Log Message Clamp degenerate calc() values for https://bugs.webkit.org/show_bug.cgi?id=238401 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt: Source/WebCore: Clamp nan, infinity and -infinity to zero for . Issue discussing this: https://github.com/w3c/csswg-drafts/issues/6105. * css/calc/CSSCalcValue.cpp: (WebCore::CSSCalcValue::clampToPermittedRange const): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/calc/CSSCalcValue.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (292017 => 292018) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-03-29 01:14:28 UTC (rev 292017) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-03-29 01:16:31 UTC (rev 292018) @@ -1,3 +1,12 @@ +2022-03-28 Nikolaos Mouchtaris + +Clamp degenerate calc() values for +https://bugs.webkit.org/show_bug.cgi?id=238401 + +Reviewed by Simon Fraser. + +* web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt: + 2022-03-28 Cameron McCormack Remove the 1ms minimum for setTimeout Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt (292017 => 292018) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt 2022-03-29 01:14:28 UTC (rev 292017) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt 2022-03-29 01:16:31 UTC (rev 292018) @@ -21,16 +21,16 @@ PASS Property transition-delay value 'calc(-infinity* 1s)' PASS Property transition-delay value 'calc(max(1s, 0s) + min(-infinity * 1s, infinity * 1s))' PASS Property transition-delay value 'calc(min(-infinity * 1s, 10s))' -FAIL Property rotate(calc(infinity * 1deg)) value expected same with rotate(0deg) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 -FAIL Property rotate(calc(-infinity * 1deg)) value expected same with rotate(0deg) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 -FAIL Property rotate(calc(NaN * 1deg)) value expected same with rotate(0deg) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 -FAIL Property rotate(calc(infinity * 1turn)) value expected same with rotate(0turn) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 -FAIL Property rotate(calc(-infinity * 1turn)) value expected same with rotate(0turn) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 -FAIL Property rotate(calc(NaN * 1turn)) value expected same with rotate(0turn) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 -FAIL Property rotate(calc(infinity * 1rad)) value expected same with rotate(0rad) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 -FAIL Property rotate(calc(-infinity * 1rad)) value expected same with rotate(0rad) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 -FAIL Property rotate(calc(NaN * 1rad)) value expected same with rotate(0rad) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 -FAIL Property rotate(calc(infinity * 1grad)) value expected same with rotate(0grad) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 -FAIL Property rotate(calc(-infinity * 1grad)) value expected same with rotate(0grad) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 -FAIL Property rotate(calc(NaN * 1grad)) value expected same with rotate(0grad) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 +PASS Property rotate(calc(infinity * 1deg)) value expected same with rotate(0deg) in +/-0.0001 +PASS Property rotate(calc(-infinity * 1deg)) value expected same with rotate(0deg) in +/-0.0001 +PASS Property rotate(calc(NaN * 1deg)) value expected same with rotate(0deg) in +/-0.0001 +PASS Property rotate(calc(infinity * 1turn)) value expected same with rotate(0turn) in +/-0.0001 +PASS Property rotate(calc(-infinity * 1turn)) value expected same with rotate(0turn) in +/-0.0001 +PASS Property rotate(calc(NaN * 1turn)) value expected same with rotate(0turn) in +/-0.0001 +PASS Property rotate(calc(infinity * 1rad)) value expected same with rotate(0rad) in +/-0.0001 +PASS Property rotate(calc(-infinity * 1rad)) value expected same with rotate(0rad) in +/-0.0001 +PASS Property rotate(calc(NaN * 1rad)) value expected same with rotate(0rad) in +/-0.0001 +PASS Property rotate(calc(infinity * 1grad)) value expected same with rotate(0grad) in +/-0.0001 +PASS Property rotate(calc(-infinity *
[webkit-changes] [291911] trunk
Title: [291911] trunk Revision 291911 Author nmouchta...@apple.com Date 2022-03-25 18:45:25 -0700 (Fri, 25 Mar 2022) Log Message Incorrect handling of NaN inside calc() for top-level calculation https://bugs.webkit.org/show_bug.cgi?id=234176 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt: Added. * web-platform-tests/css/css-values/calc-infinity-nan-computed.html: Added. * web-platform-tests/css/css-values/round-function-expected.txt: * web-platform-tests/css/css-values/round-function.html: Source/WebCore: Add function to convert any top level NaN values to infinity values as per the spec. This only affects the computed value of the calc _expression_, not its serialization. Test: imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-computed.html * css/calc/CSSCalcOperationNode.cpp: (WebCore::CSSCalcOperationNode::combineChildren): (WebCore::convertToTopLevelValue): (WebCore::CSSCalcOperationNode::evaluateOperator): * css/calc/CSSCalcOperationNode.h: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/calc/CSSCalcOperationNode.cpp trunk/Source/WebCore/css/calc/CSSCalcOperationNode.h Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-computed.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (291910 => 291911) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-03-26 01:38:42 UTC (rev 291910) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-03-26 01:45:25 UTC (rev 291911) @@ -1,3 +1,15 @@ +2022-03-25 Nikolaos Mouchtaris + +Incorrect handling of NaN inside calc() for top-level calculation +https://bugs.webkit.org/show_bug.cgi?id=234176 + +Reviewed by Simon Fraser. + +* web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt: Added. +* web-platform-tests/css/css-values/calc-infinity-nan-computed.html: Added. +* web-platform-tests/css/css-values/round-function-expected.txt: +* web-platform-tests/css/css-values/round-function.html: + 2022-03-25 Youenn Fablet Add support for focused and visible ServiceWorkerWindowClient states Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt (0 => 291911) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-computed-expected.txt 2022-03-26 01:45:25 UTC (rev 291911) @@ -0,0 +1,36 @@ + +PASS Property width value 'calc(NaN * 1px)' +PASS Property width value 'calc(infinity * 1px)' +PASS Property width value 'calc(infinity * 1cm)' +PASS Property width value 'calc(NaN * 1rem)' +FAIL Property width value 'calc(infinity * 1px - infinity * 1%)' assert_greater_than_equal: calc(infinity * 1px - infinity * 1%) expected a number greater than or equal to 33554400 but got 0 +PASS Property width value 'calc(infinity * 1px + infinity * 1%)' +PASS Property width value 'calc(min(NaN * 1px, infinity * 1px) + max(infinity * 1px, -infinity * 1px))' +FAIL Property width value 'calc(infinity * 1px - max(infinity * 1%, 0%))' assert_greater_than_equal: calc(infinity * 1px - max(infinity * 1%, 0%)) expected a number greater than or equal to 33554400 but got 0 +PASS Property width value 'calc(max(infinity * 1px, 10px))' +PASS Property margin-left value 'calc(-infinity * 1px)' +PASS Property margin-left value 'calc(min(1px, -infinity * 1%))' +PASS Property margin-left value 'calc(-infinity * 1%)' +PASS Property margin-left value 'calc(max(1px, 0px) + min(-infinity * 1px, infinity * 1px))' +PASS Property margin-left value 'calc(-infinity * 1px - infinity * 1px)' +PASS Property margin-left value 'calc(min(-infinity * 1px, 10px))' +PASS Property animation-duration value 'calc(NaN * 1s)' +PASS Property animation-duration value 'calc(infinity * 1s)' +PASS Property animation-duration value 'calc(1 / 0 * 1s)' +PASS Property animation-duration value 'calc(max(infinity * 1s, 10s)' +PASS Property transition-delay value 'calc(-infinity* 1s)' +PASS Property transition-delay value 'calc(max(1s, 0s) + min(-infinity * 1s, infinity * 1s))' +PASS Property transition-delay value 'calc(min(-infinity * 1s, 10s))' +FAIL Property rotate(calc(infinity * 1deg)) value expected same with rotate(0deg) in +/-0.0001 assert_array_approx_equals: lengths differ, expected 6 got 16 +FAIL Property rotate(calc(-infinity * 1deg)) value expected same with rotate(0deg) in +/-0.0001
[webkit-changes] [291841] trunk
Title: [291841] trunk Revision 291841 Author nmouchta...@apple.com Date 2022-03-24 18:03:07 -0700 (Thu, 24 Mar 2022) Log Message calc(): Handle finite value with infinite step in round() https://bugs.webkit.org/show_bug.cgi?id=238231 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/css/css-values/round-function-expected.txt: Source/WebCore: Add handling for finite value with infinite step in round(). * css/calc/CSSCalcOperationNode.cpp: (WebCore::CSSCalcOperationNode::evaluateOperator): * css/calc/CSSCalcPrimitiveValueNode.cpp: (WebCore::CSSCalcPrimitiveValueNode::invert): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/calc/CSSCalcOperationNode.cpp trunk/Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (291840 => 291841) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-03-25 00:50:04 UTC (rev 291840) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-03-25 01:03:07 UTC (rev 291841) @@ -1,5 +1,14 @@ 2022-03-24 Nikolaos Mouchtaris +calc(): Handle finite value with infinite step in round() +https://bugs.webkit.org/show_bug.cgi?id=238231 + +Reviewed by Simon Fraser. + +* web-platform-tests/css/css-values/round-function-expected.txt: + +2022-03-24 Nikolaos Mouchtaris + Fix serialization of nan, infinity, -infinity for calc() https://bugs.webkit.org/show_bug.cgi?id=238288 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function-expected.txt (291840 => 291841) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function-expected.txt 2022-03-25 00:50:04 UTC (rev 291840) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/round-function-expected.txt 2022-03-25 01:03:07 UTC (rev 291841) @@ -49,20 +49,20 @@ PASS round(infinity, -5) should be used-value-equivalent to calc(infinity) PASS round(-infinity, 5) should be used-value-equivalent to calc(-infinity) PASS round(-infinity, -5) should be used-value-equivalent to calc(-infinity) -FAIL calc(1 / round(5, infinity)) should be used-value-equivalent to calc(infinity) assert_equals: calc(1 / round(5, infinity)) and calc(infinity) serialize to the same thing in used values. expected "matrix3d(infinity, NaN, NaN, NaN, NaN, infinity, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" but got "matrix3d(NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" -FAIL calc(1 / round(5, -infinity)) should be used-value-equivalent to calc(infinity) assert_equals: calc(1 / round(5, -infinity)) and calc(infinity) serialize to the same thing in used values. expected "matrix3d(infinity, NaN, NaN, NaN, NaN, infinity, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" but got "matrix3d(NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" -FAIL calc(1 / round(-5, infinity)) should be used-value-equivalent to calc(-infinity) assert_equals: calc(1 / round(-5, infinity)) and calc(-infinity) serialize to the same thing in used values. expected "matrix3d(-infinity, NaN, NaN, NaN, NaN, -infinity, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" but got "matrix3d(NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" -FAIL calc(1 / round(-5, -infinity)) should be used-value-equivalent to calc(-infinity) assert_equals: calc(1 / round(-5, -infinity)) and calc(-infinity) serialize to the same thing in used values. expected "matrix3d(-infinity, NaN, NaN, NaN, NaN, -infinity, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" but got "matrix3d(NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" -FAIL calc(1 / round(to-zero, 5, infinity)) should be used-value-equivalent to calc(infinity) assert_equals: calc(1 / round(to-zero, 5, infinity)) and calc(infinity) serialize to the same thing in used values. expected "matrix3d(infinity, NaN, NaN, NaN, NaN, infinity, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" but got "matrix3d(NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" -FAIL calc(1 / round(to-zero, 5, -infinity)) should be used-value-equivalent to calc(infinity) assert_equals: calc(1 / round(to-zero, 5, -infinity)) and calc(infinity) serialize to the same thing in used values. expected "matrix3d(infinity, NaN, NaN, NaN, NaN, infinity, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" but got "matrix3d(NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" -FAIL calc(1 / round(to-zero, -5, infinity)) should be used-value-equivalent to calc(-infinity) assert_equals: calc(1 / round(to-zero, -5, infinity)) and calc(-infinity) serialize to the same thing in used values. expected "matrix3d(-infinity, NaN, NaN, NaN, NaN, -infinity, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" but got "matrix3d(NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 0, 0, 1, 0, 0, 0, 0, 1)" -FAIL calc(1 / round(to-zero, -5, -infinity)) should be used-value-equivalent
[webkit-changes] [291830] trunk
Title: [291830] trunk Revision 291830 Author nmouchta...@apple.com Date 2022-03-24 16:53:00 -0700 (Thu, 24 Mar 2022) Log Message Fix serialization of nan, infinity, -infinity for calc() https://bugs.webkit.org/show_bug.cgi?id=238288 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt: * web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt: * web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt: * web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt: Source/WebCore: Update serializing of nan, infinity, -infinity to be in line with step 2 of: https://drafts.csswg.org/css-values/#calc-serialize. * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::formatNumberValue const): (WebCore::CSSPrimitiveValue::formatIntegerValue const): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/CSSPrimitiveValue.cpp trunk/Source/WebCore/css/CSSPrimitiveValue.h Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (291829 => 291830) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-03-24 23:48:48 UTC (rev 291829) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-03-24 23:53:00 UTC (rev 291830) @@ -1,3 +1,15 @@ +2022-03-24 Nikolaos Mouchtaris + +Fix serialization of nan, infinity, -infinity for calc() +https://bugs.webkit.org/show_bug.cgi?id=238288 + +Reviewed by Simon Fraser. + +* web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt: +* web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt: +* web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt: +* web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt: + 2022-03-24 Cathie Chen Update css/css-sizing/contain-intrinsic-size tests from WPT Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt (291829 => 291830) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt 2022-03-24 23:48:48 UTC (rev 291829) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt 2022-03-24 23:53:00 UTC (rev 291830) @@ -1,23 +1,23 @@ -FAIL 'calc(100px * 0 / 0)' as a specified value should serialize as 'calc(NaN * 1px)'. assert_equals: 'calc(NaN * 1px)' should round-trip exactly in specified values. expected "calc(NaN * 1px)" but got "calc(NaNpx)" -FAIL 'calc(100px / 0)' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected "calc(infinity * 1px)" but got "calc(infinitypx)" -FAIL 'calc(100px / (0))' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected "calc(infinity * 1px)" but got "calc(infinitypx)" -FAIL 'calc(100px / (2 - 2))' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected "calc(infinity * 1px)" but got "calc(infinitypx)" -FAIL 'calc(100px / (2 - (-62 + 64)))' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected "calc(infinity * 1px)" but got "calc(infinitypx)" -FAIL 'calc(100px * (1 / 0))' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected "calc(infinity * 1px)" but got "calc(infinitypx)" -FAIL 'calc(100px * (1 / (0)))' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected "calc(infinity * 1px)" but got "calc(infinitypx)" -FAIL 'calc(100px * (1 / (2 - 2)))' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected "calc(infinity * 1px)" but got "calc(infinitypx)" -FAIL 'calc(100px * (1 / (2 - (-62 + 64' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected
[webkit-changes] [291738] trunk/LayoutTests/imported/w3c
Title: [291738] trunk/LayoutTests/imported/w3c Revision 291738 Author nmouchta...@apple.com Date 2022-03-23 01:02:37 -0700 (Wed, 23 Mar 2022) Log Message Import calc() infinite/nan tests https://bugs.webkit.org/show_bug.cgi?id=238237 Unreviewed, test import. * web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt: Added. * web-platform-tests/css/css-values/calc-catch-divide-by-0.html: Added. * web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt: Added. * web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle.html: Added. * web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt: Added. * web-platform-tests/css/css-values/calc-infinity-nan-serialize-length.html: Added. * web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt: Added. * web-platform-tests/css/css-values/calc-infinity-nan-serialize-time.html: Added. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-serialize-length.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-infinity-nan-serialize-time.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (291737 => 291738) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-03-23 06:47:41 UTC (rev 291737) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-03-23 08:02:37 UTC (rev 291738) @@ -1,3 +1,19 @@ +2022-03-23 Nikolaos Mouchtaris + +Import calc() infinite/nan tests +https://bugs.webkit.org/show_bug.cgi?id=238237 + +Unreviewed, test import. + +* web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt: Added. +* web-platform-tests/css/css-values/calc-catch-divide-by-0.html: Added. +* web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle-expected.txt: Added. +* web-platform-tests/css/css-values/calc-infinity-nan-serialize-angle.html: Added. +* web-platform-tests/css/css-values/calc-infinity-nan-serialize-length-expected.txt: Added. +* web-platform-tests/css/css-values/calc-infinity-nan-serialize-length.html: Added. +* web-platform-tests/css/css-values/calc-infinity-nan-serialize-time-expected.txt: Added. +* web-platform-tests/css/css-values/calc-infinity-nan-serialize-time.html: Added. + 2022-03-22 Sihui Liu Check if origin can access storage in Storage API Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt (0 => 291738) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/calc-catch-divide-by-0-expected.txt 2022-03-23 08:02:37 UTC (rev 291738) @@ -0,0 +1,23 @@ + +FAIL 'calc(100px * 0 / 0)' as a specified value should serialize as 'calc(NaN * 1px)'. assert_equals: 'calc(NaN * 1px)' should round-trip exactly in specified values. expected "calc(NaN * 1px)" but got "calc(NaNpx)" +FAIL 'calc(100px / 0)' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected "calc(infinity * 1px)" but got "calc(infinitypx)" +FAIL 'calc(100px / (0))' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected "calc(infinity * 1px)" but got "calc(infinitypx)" +FAIL 'calc(100px / (2 - 2))' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected "calc(infinity * 1px)" but got "calc(infinitypx)" +FAIL 'calc(100px / (2 - (-62 + 64)))' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected "calc(infinity * 1px)" but got "calc(infinitypx)" +FAIL 'calc(100px * (1 / 0))' as a specified value should serialize as 'calc(infinity * 1px)'. assert_equals: 'calc(infinity * 1px)' should round-trip exactly in specified values. expected "calc(infinity * 1px)" but got "calc(infinitypx)" +FAIL 'calc(100px * (1 / (0)))' as
[webkit-changes] [291516] trunk/Source/WebCore
Title: [291516] trunk/Source/WebCore Revision 291516 Author nmouchta...@apple.com Date 2022-03-18 17:59:09 -0700 (Fri, 18 Mar 2022) Log Message Calc() cleanup https://bugs.webkit.org/show_bug.cgi?id=237982 Reviewed by Simon Fraser. Small cleanup of CSSCalcExpressionNodeParser and CSSCalcOperationNode needed after adding more math functions. * css/calc/CSSCalcExpressionNodeParser.cpp: (WebCore::CSSCalcExpressionNodeParser::parseCalcFunction): * css/calc/CSSCalcOperationNode.cpp: (WebCore::determineCategory): (WebCore::CSSCalcOperationNode::simplifyNode): * css/calc/CSSCalcOperationNode.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/calc/CSSCalcExpressionNodeParser.cpp trunk/Source/WebCore/css/calc/CSSCalcOperationNode.cpp trunk/Source/WebCore/css/calc/CSSCalcOperationNode.h Diff Modified: trunk/Source/WebCore/ChangeLog (291515 => 291516) --- trunk/Source/WebCore/ChangeLog 2022-03-19 00:55:48 UTC (rev 291515) +++ trunk/Source/WebCore/ChangeLog 2022-03-19 00:59:09 UTC (rev 291516) @@ -1,3 +1,20 @@ +2022-03-18 Nikolaos Mouchtaris + +Calc() cleanup +https://bugs.webkit.org/show_bug.cgi?id=237982 + +Reviewed by Simon Fraser. + +Small cleanup of CSSCalcExpressionNodeParser and CSSCalcOperationNode needed after +adding more math functions. + +* css/calc/CSSCalcExpressionNodeParser.cpp: +(WebCore::CSSCalcExpressionNodeParser::parseCalcFunction): +* css/calc/CSSCalcOperationNode.cpp: +(WebCore::determineCategory): +(WebCore::CSSCalcOperationNode::simplifyNode): +* css/calc/CSSCalcOperationNode.h: + 2022-03-18 Eric Carlson [iOS] Fix more build breakage from r291361 Modified: trunk/Source/WebCore/css/calc/CSSCalcExpressionNodeParser.cpp (291515 => 291516) --- trunk/Source/WebCore/css/calc/CSSCalcExpressionNodeParser.cpp 2022-03-19 00:55:48 UTC (rev 291515) +++ trunk/Source/WebCore/css/calc/CSSCalcExpressionNodeParser.cpp 2022-03-19 00:59:09 UTC (rev 291516) @@ -140,11 +140,6 @@ std::optional maxArgumentCount; switch (functionID) { -case CSSValueMin: -case CSSValueMax: -case CSSValueHypot: -maxArgumentCount = std::nullopt; -break; case CSSValueClamp: minArgumentCount = 3; maxArgumentCount = 3; Modified: trunk/Source/WebCore/css/calc/CSSCalcOperationNode.cpp (291515 => 291516) --- trunk/Source/WebCore/css/calc/CSSCalcOperationNode.cpp 2022-03-19 00:55:48 UTC (rev 291515) +++ trunk/Source/WebCore/css/calc/CSSCalcOperationNode.cpp 2022-03-19 00:59:09 UTC (rev 291516) @@ -73,30 +73,7 @@ if (rightCategory != CalculationCategory::Number) return CalculationCategory::Other; return leftCategory; -case CalcOperator::Sin: -case CalcOperator::Cos: -case CalcOperator::Tan: -case CalcOperator::Min: -case CalcOperator::Max: -case CalcOperator::Clamp: -case CalcOperator::Log: -case CalcOperator::Exp: -case CalcOperator::Asin: -case CalcOperator::Acos: -case CalcOperator::Atan: -case CalcOperator::Atan2: -case CalcOperator::Abs: -case CalcOperator::Sign: -case CalcOperator::Mod: -case CalcOperator::Rem: -case CalcOperator::Round: -case CalcOperator::Up: -case CalcOperator::Down: -case CalcOperator::Nearest: -case CalcOperator::ToZero: -case CalcOperator::Pow: -case CalcOperator::Sqrt: -case CalcOperator::Hypot: +default: ASSERT_NOT_REACHED(); return CalculationCategory::Other; } @@ -162,33 +139,13 @@ return CalculationCategory::Other; break; } -case CalcOperator::Sin: -case CalcOperator::Cos: -case CalcOperator::Tan: -case CalcOperator::Abs: -case CalcOperator::Sign: -case CalcOperator::Min: -case CalcOperator::Max: -case CalcOperator::Clamp: -case CalcOperator::Log: -case CalcOperator::Exp: -case CalcOperator::Asin: -case CalcOperator::Acos: -case CalcOperator::Atan: -case CalcOperator::Atan2: -case CalcOperator::Mod: -case CalcOperator::Rem: -case CalcOperator::Round: -case CalcOperator::Up: -case CalcOperator::Down: -case CalcOperator::Nearest: -case CalcOperator::ToZero: -case CalcOperator::Hypot: -return CalculationCategory::Other; case CalcOperator::Pow: case CalcOperator::Sqrt: // The type of pow() and sqrt() functions must evaluate to a number. return CalculationCategory::Number; +default: +return CalculationCategory::Other; + } } @@ -933,43 +890,15 @@ if (calcOperationNode.isCalcSumNode()) { calcOperationNode.hoistChildrenWithOperator(CalcOperator::Add); -calcOperationNode.combineChildren(); }
[webkit-changes] [291497] trunk
Title: [291497] trunk Revision 291497 Author nmouchta...@apple.com Date 2022-03-18 14:59:15 -0700 (Fri, 18 Mar 2022) Log Message Allow history swipe in scroller with overscroll-behavior https://bugs.webkit.org/show_bug.cgi?id=235851 Reviewed by Simon Fraser. Source/WebCore: Re-add code to allow history swipe. Does so by returning unhandled if a horizontal swipe is used. Also add test to make sure history swipes are allowed in scrolling nodes with overscroll-behavior. Test: scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior.html * page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::handleWheelEventWithNode): * page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::shouldRubberBand const): (WebCore::ScrollingTreeScrollingNode::computeScrollPropagation const): (WebCore::ScrollingTreeScrollingNode::shouldBlockScrollPropagation const): Deleted. * page/scrolling/ScrollingTreeScrollingNode.h: LayoutTests: * scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior-expected.txt: Added. * scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h Added Paths trunk/LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior-expected.txt trunk/LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior.html Diff Modified: trunk/LayoutTests/ChangeLog (291496 => 291497) --- trunk/LayoutTests/ChangeLog 2022-03-18 21:53:45 UTC (rev 291496) +++ trunk/LayoutTests/ChangeLog 2022-03-18 21:59:15 UTC (rev 291497) @@ -1,3 +1,13 @@ +2022-03-18 Nikolaos Mouchtaris + +Allow history swipe in scroller with overscroll-behavior +https://bugs.webkit.org/show_bug.cgi?id=235851 + +Reviewed by Simon Fraser. + +* scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior-expected.txt: Added. +* scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior.html: Added. + 2022-03-18 Simon Fraser REGRESSION (r290628): Scrubber makes a visual trail when scrubbing on tv.youtube.com Added: trunk/LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior-expected.txt (0 => 291497) --- trunk/LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior-expected.txt (rev 0) +++ trunk/LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior-expected.txt 2022-03-18 21:59:15 UTC (rev 291497) @@ -0,0 +1,14 @@ +Scrolls vertically +Scrolls horizontally +A back swipe, over a scrolled-to-left overflow, should start a navigation gesture. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +Swipe to the left +PASS minXOffset is 0 +PASS maxXOffset is -1000 +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior.html (0 => 291497) --- trunk/LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior.html (rev 0) +++ trunk/LayoutTests/scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-overscroll-behavior.html 2022-03-18 21:59:15 UTC (rev 291497) @@ -0,0 +1,116 @@ + + + + +body { +height: 2000px; +} + +.scroller { +margin: 10px; +width: 500px; +height: 400px; +overflow: auto; +border: 2px solid black; +} + +.horizontal .scroller { +width: 400px; +height: 400px; +margin: 10px; +overscroll-behavior: contain; +} + +.filler { +height: 200px; +width: 100%; +margin: 10px; +background-color: silver; +} + +.horizontal .filler { +height: 80%; +width: 200%; +background-color: silver; +} + + +jsTestIsAsync = true; + +var minXOffset = 0; +var maxXOffset = -1000; + +async function onScrollCompletion(x, y) +{ +eventSender.monitorWheelEvents(); +eventSender.mouseMoveTo(x, y); +eventSender.mouseScrollByWithWheelAndMomentumPhases(1, 0, "began", "none"); +eventSender.mouseScrollByWithWheelAndMomentumPhases(10, 0, "changed", "none"); +eventSender.mouseScrollByWithWheelAndMomentumPhases(10, 0, "changed", "none"); +
[webkit-changes] [291198] trunk
Title: [291198] trunk Revision 291198 Author nmouchta...@apple.com Date 2022-03-11 15:42:47 -0800 (Fri, 11 Mar 2022) Log Message [iOS] Fix ovserscroll-behavior for main document https://bugs.webkit.org/show_bug.cgi?id=237696 Reviewed by Simon Fraser. Source/WebCore: Make getters for overscroll behavior public. Test: fast/scrolling/ios/overscroll-behavior-on-body.html * page/scrolling/ScrollingTreeScrollingNode.h: Source/WebKit: Get value of over scroll behavior from root scrolling node to set whether root UIScrollView should rubber band or not. Add new UIScrollView SPI. * Platform/spi/ios/UIKitSPI.h: * UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _updateScrollViewForTransaction:]): * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::rootNode const): * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h: * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: (WebKit::ScrollingTreeScrollingNodeDelegateIOS::updateScrollViewForOverscrollBehavior): (WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren): LayoutTests: Added test that does a scroll expecting a rubberband, sets overscroll-behavior:none for the body, then does another scroll, expected that no rubberband occurs. * fast/scrolling/ios/overscroll-behavior-on-body-expected.txt: Added. * fast/scrolling/ios/overscroll-behavior-on-body.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm Added Paths trunk/LayoutTests/fast/scrolling/ios/overscroll-behavior-on-body-expected.txt trunk/LayoutTests/fast/scrolling/ios/overscroll-behavior-on-body.html Diff Modified: trunk/LayoutTests/ChangeLog (291197 => 291198) --- trunk/LayoutTests/ChangeLog 2022-03-11 23:34:29 UTC (rev 291197) +++ trunk/LayoutTests/ChangeLog 2022-03-11 23:42:47 UTC (rev 291198) @@ -1,3 +1,16 @@ +2022-03-11 Nikolaos Mouchtaris + +[iOS] Fix ovserscroll-behavior for main document +https://bugs.webkit.org/show_bug.cgi?id=237696 + +Reviewed by Simon Fraser. + +Added test that does a scroll expecting a rubberband, sets overscroll-behavior:none for +the body, then does another scroll, expected that no rubberband occurs. + +* fast/scrolling/ios/overscroll-behavior-on-body-expected.txt: Added. +* fast/scrolling/ios/overscroll-behavior-on-body.html: Added. + 2022-03-11 Matteo Flores [ iOS ] fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html is flaky failing Added: trunk/LayoutTests/fast/scrolling/ios/overscroll-behavior-on-body-expected.txt (0 => 291198) --- trunk/LayoutTests/fast/scrolling/ios/overscroll-behavior-on-body-expected.txt (rev 0) +++ trunk/LayoutTests/fast/scrolling/ios/overscroll-behavior-on-body-expected.txt 2022-03-11 23:42:47 UTC (rev 291198) @@ -0,0 +1,11 @@ +Top +PASS window.pageYOffset is 0 +PASS window.pageXOffset is 0 +PASS window.pageYOffset is not 0 +PASS window.pageXOffset is not 0 +PASS window.pageYOffset is 0 +PASS window.pageXOffset is 0 +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/fast/scrolling/ios/overscroll-behavior-on-body.html (0 => 291198) --- trunk/LayoutTests/fast/scrolling/ios/overscroll-behavior-on-body.html (rev 0) +++ trunk/LayoutTests/fast/scrolling/ios/overscroll-behavior-on-body.html 2022-03-11 23:42:47 UTC (rev 291198) @@ -0,0 +1,43 @@ + + + + + +body { +height: 5000px; +width: 200%; +} + + +var jsTestIsAsync = true; + +async function doTest() +{ +shouldBe('window.pageYOffset', '0'); +shouldBe('window.pageXOffset', '0'); + +await UIHelper.dragFromPointToPoint(150, 150, 200, 200, 0.1); +shouldNotBe('window.pageYOffset', '0'); +shouldNotBe('window.pageXOffset', '0'); + +document.documentElement.style.overscrollBehavior = "none"; +await UIHelper.dragFromPointToPoint(150, 150, 200, 200, 0.1); +shouldBe('window.pageYOffset', '0'); +shouldBe('window.pageXOffset', '0'); +finishJSTest(); +} + +window.addEventListener('load', () => { +doTest(); +}, false); + + + +Top
[webkit-changes] [290417] trunk/Source/WTF
Title: [290417] trunk/Source/WTF Revision 290417 Author nmouchta...@apple.com Date 2022-02-24 00:57:30 -0800 (Thu, 24 Feb 2022) Log Message REGRESSION(r289683): [GTK][WPE] Scrolling with the mouse wheel doesn't work in twitter after r289683 https://bugs.webkit.org/show_bug.cgi?id=237093 Reviewed by Carlos Garcia Campos. Turn off by default for wpe/gtk and windows to investigate issue. * Scripts/Preferences/WebPreferencesExperimental.yaml: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml Diff Modified: trunk/Source/WTF/ChangeLog (290416 => 290417) --- trunk/Source/WTF/ChangeLog 2022-02-24 08:56:54 UTC (rev 290416) +++ trunk/Source/WTF/ChangeLog 2022-02-24 08:57:30 UTC (rev 290417) @@ -1,3 +1,14 @@ +2022-02-24 Nikolaos Mouchtaris + +REGRESSION(r289683): [GTK][WPE] Scrolling with the mouse wheel doesn't work in twitter after r289683 +https://bugs.webkit.org/show_bug.cgi?id=237093 + +Reviewed by Carlos Garcia Campos. + +Turn off by default for wpe/gtk and windows to investigate issue. + +* Scripts/Preferences/WebPreferencesExperimental.yaml: + 2022-02-24 Chris Dumez Small optimizations to TinyLRUCache Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (290416 => 290417) --- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2022-02-24 08:56:54 UTC (rev 290416) +++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2022-02-24 08:57:30 UTC (rev 290417) @@ -977,8 +977,10 @@ WebKitLegacy: default: false WebKit: + "PLATFORM(WIN) || PLATFORM(GTK) || PLATFORM(WPE)": false default: true WebCore: + "PLATFORM(WIN) || PLATFORM(GTK) || PLATFORM(WPE)": false default: true PageAtRuleSupportEnabled: ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290071] trunk/Source/WTF
Title: [290071] trunk/Source/WTF Revision 290071 Author nmouchta...@apple.com Date 2022-02-17 13:45:19 -0800 (Thu, 17 Feb 2022) Log Message Enable CSS Motion Path by default https://bugs.webkit.org/show_bug.cgi?id=236681 Unreviewed enable of WebKitLegacy. * Scripts/Preferences/WebPreferencesExperimental.yaml: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml Diff Modified: trunk/Source/WTF/ChangeLog (290070 => 290071) --- trunk/Source/WTF/ChangeLog 2022-02-17 21:38:44 UTC (rev 290070) +++ trunk/Source/WTF/ChangeLog 2022-02-17 21:45:19 UTC (rev 290071) @@ -1,5 +1,14 @@ 2022-02-17 Nikolaos Mouchtaris +Enable CSS Motion Path by default +https://bugs.webkit.org/show_bug.cgi?id=236681 + +Unreviewed enable of WebKitLegacy. + +* Scripts/Preferences/WebPreferencesExperimental.yaml: + +2022-02-17 Nikolaos Mouchtaris + [Web Animations] Enable Composite Animations https://bugs.webkit.org/show_bug.cgi?id=236682 Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (290070 => 290071) --- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2022-02-17 21:38:44 UTC (rev 290070) +++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2022-02-17 21:45:19 UTC (rev 290071) @@ -339,7 +339,7 @@ humanReadableDescription: "Enable CSS Motion Path support" defaultValue: WebKitLegacy: - default: false + default: true WebKit: default: true WebCore: ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290067] trunk/Source/WTF
Title: [290067] trunk/Source/WTF Revision 290067 Author nmouchta...@apple.com Date 2022-02-17 13:29:19 -0800 (Thu, 17 Feb 2022) Log Message [Web Animations] Enable Composite Animations https://bugs.webkit.org/show_bug.cgi?id=236682 Reviewed by Dean Jackson. * Scripts/Preferences/WebPreferencesExperimental.yaml: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml Diff Modified: trunk/Source/WTF/ChangeLog (290066 => 290067) --- trunk/Source/WTF/ChangeLog 2022-02-17 21:27:37 UTC (rev 290066) +++ trunk/Source/WTF/ChangeLog 2022-02-17 21:29:19 UTC (rev 290067) @@ -1,5 +1,14 @@ 2022-02-17 Nikolaos Mouchtaris +[Web Animations] Enable Composite Animations +https://bugs.webkit.org/show_bug.cgi?id=236682 + +Reviewed by Dean Jackson. + +* Scripts/Preferences/WebPreferencesExperimental.yaml: + +2022-02-17 Nikolaos Mouchtaris + Enable CSS Motion Path by default https://bugs.webkit.org/show_bug.cgi?id=236681 Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (290066 => 290067) --- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2022-02-17 21:27:37 UTC (rev 290066) +++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2022-02-17 21:29:19 UTC (rev 290067) @@ -1518,7 +1518,6 @@ WebKit: default: true -# FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well. WebAnimationsCompositeOperationsEnabled: type: bool humanReadableName: "Web Animations composite operations" @@ -1525,12 +1524,11 @@ humanReadableDescription: "Support for the CompositeOperation enum and properties consuming it" defaultValue: WebKitLegacy: - default: false + default: true WebKit: - "ENABLE(EXPERIMENTAL_FEATURES)" : true - default: false + default: true WebCore: - default: false + default: true WebAnimationsCustomEffectsEnabled: type: bool ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290051] trunk/Source/WTF
Title: [290051] trunk/Source/WTF Revision 290051 Author nmouchta...@apple.com Date 2022-02-17 12:27:17 -0800 (Thu, 17 Feb 2022) Log Message Enable CSS Motion Path by default https://bugs.webkit.org/show_bug.cgi?id=236681 Reviewed by Dean Jackson. * Scripts/Preferences/WebPreferencesExperimental.yaml: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml Diff Modified: trunk/Source/WTF/ChangeLog (290050 => 290051) --- trunk/Source/WTF/ChangeLog 2022-02-17 20:21:43 UTC (rev 290050) +++ trunk/Source/WTF/ChangeLog 2022-02-17 20:27:17 UTC (rev 290051) @@ -1,3 +1,12 @@ +2022-02-17 Nikolaos Mouchtaris + +Enable CSS Motion Path by default +https://bugs.webkit.org/show_bug.cgi?id=236681 + +Reviewed by Dean Jackson. + +* Scripts/Preferences/WebPreferencesExperimental.yaml: + 2022-02-17 Chris Dumez Clean up / optimize call sites constructing vectors Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (290050 => 290051) --- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2022-02-17 20:21:43 UTC (rev 290050) +++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2022-02-17 20:27:17 UTC (rev 290051) @@ -341,9 +341,9 @@ WebKitLegacy: default: false WebKit: - default: false + default: true WebCore: - default: false + default: true CSSOMViewSmoothScrollingEnabled: type: bool ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [289876] trunk
Title: [289876] trunk Revision 289876 Author nmouchta...@apple.com Date 2022-02-15 21:27:04 -0800 (Tue, 15 Feb 2022) Log Message Implement parsing and animation support for offset shorthand https://bugs.webkit.org/show_bug.cgi?id=233109 Reviewed by Dean Jackson. LayoutTests/imported/w3c: * web-platform-tests/css/motion/animation/offset-interpolation-expected.txt: * web-platform-tests/css/motion/parsing/offset-parsing-valid-expected.txt: * web-platform-tests/css/motion/parsing/offset-parsing-valid.html: * web-platform-tests/css/motion/parsing/offset-shorthand-expected.txt: Source/WebCore: This patch implements support for the offset shorthand for css motion path. This involves adding the offset property to CSSProperties.json, the introduction of consumeOffset() to parse the set offset, and serialization of the offset values. * animation/CSSPropertyAnimation.cpp: (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): * animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::CSSPropertyIDToIDLAttributeName): (WebCore::IDLAttributeNameToAnimationPropertyName): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForOffsetShorthand): (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * css/CSSOffsetRotateValue.cpp: (WebCore::CSSOffsetRotateValue::initialValue): (WebCore::CSSOffsetRotateValue::isInitialValue const): * css/CSSOffsetRotateValue.h: * css/CSSProperties.json: * css/StyleProperties.cpp: (WebCore::StyleProperties::getPropertyValue const): (WebCore::StyleProperties::offsetValue const): * css/StyleProperties.h: * css/parser/CSSPropertyParser.cpp: (WebCore::consumeBasicShapeOrBox): (WebCore::CSSPropertyParser::consumeOffset): (WebCore::CSSPropertyParser::parseShorthand): * css/parser/CSSPropertyParser.h: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-interpolation-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-parsing-valid-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-parsing-valid.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-shorthand-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp trunk/Source/WebCore/animation/KeyframeEffect.cpp trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp trunk/Source/WebCore/css/CSSOffsetRotateValue.cpp trunk/Source/WebCore/css/CSSOffsetRotateValue.h trunk/Source/WebCore/css/CSSProperties.json trunk/Source/WebCore/css/StyleProperties.cpp trunk/Source/WebCore/css/StyleProperties.h trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp trunk/Source/WebCore/css/parser/CSSPropertyParser.h Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (289875 => 289876) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-16 05:20:04 UTC (rev 289875) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-16 05:27:04 UTC (rev 289876) @@ -1,5 +1,17 @@ 2022-02-15 Nikolaos Mouchtaris +Implement parsing and animation support for offset shorthand +https://bugs.webkit.org/show_bug.cgi?id=233109 + +Reviewed by Dean Jackson. + +* web-platform-tests/css/motion/animation/offset-interpolation-expected.txt: +* web-platform-tests/css/motion/parsing/offset-parsing-valid-expected.txt: +* web-platform-tests/css/motion/parsing/offset-parsing-valid.html: +* web-platform-tests/css/motion/parsing/offset-shorthand-expected.txt: + +2022-02-15 Nikolaos Mouchtaris + [css-transforms] properly handle interpolation of non-invertible matrices https://bugs.webkit.org/show_bug.cgi?id=236480 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-interpolation-expected.txt (289875 => 289876) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-interpolation-expected.txt 2022-02-16 05:20:04 UTC (rev 289875) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-interpolation-expected.txt 2022-02-16 05:27:04 UTC (rev 289876) @@ -1,38 +1,38 @@ -FAIL CSS Transitions: property from [path("M0 200H 700") 500px 800deg] to [path("M0 300H 700 Z") 600px 900deg] at (-0.3) should be [path("M0 300H 700 Z") 470px 770deg] assert_true: 'from' value should be supported expected true got false -FAIL CSS Transitions: property from [path("M0 200H 700") 500px 800deg] to [path("M0 300H 700 Z") 600px 900deg] at (0) should be [path("M0 300H 700 Z") 500px 800deg] assert_true: 'from' value should be supported expected true got false -FAIL CSS Transitions: property from [path("M0 200H 700") 500px 800deg] to [path("M0 300H 700 Z") 600px 900deg] at (0.3) should be [path("M0 300H 700 Z") 530px 830deg] assert_true: 'from' value should be supported expected true got false -FAIL CSS Transitions: property from [path("M0 200H 700") 500px 800deg] to [path("M0 300H
[webkit-changes] [289862] trunk
Title: [289862] trunk Revision 289862 Author nmouchta...@apple.com Date 2022-02-15 16:26:24 -0800 (Tue, 15 Feb 2022) Log Message [css-transforms] properly handle interpolation of non-invertible matrices https://bugs.webkit.org/show_bug.cgi?id=236480 Reviewed by Martin Robinson. LayoutTests/imported/w3c: * web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt: * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt: Source/WebCore: All composition types should fall back to discrete animation behavior when interpolating non-invertible matrices. Need to segment progress value depending on either side of 0.5. * platform/graphics/transforms/TransformOperations.cpp: (WebCore::TransformOperations::shouldFallbackToDiscreteAnimation const): (WebCore::TransformOperations::blendByMatchingOperations const): (WebCore::TransformOperations::blendByUsingMatrixInterpolation const): * platform/graphics/transforms/TransformOperations.h: (WebCore::TransformOperations::hasMatrixOperation const): * platform/graphics/transforms/TransformationMatrix.cpp: (WebCore::TransformationMatrix::blend): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/transforms/TransformOperations.cpp trunk/Source/WebCore/platform/graphics/transforms/TransformOperations.h trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (289861 => 289862) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-16 00:26:00 UTC (rev 289861) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-16 00:26:24 UTC (rev 289862) @@ -1,3 +1,13 @@ +2022-02-15 Nikolaos Mouchtaris + +[css-transforms] properly handle interpolation of non-invertible matrices +https://bugs.webkit.org/show_bug.cgi?id=236480 + +Reviewed by Martin Robinson. + +* web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt: +* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt: + 2022-02-15 Antti Koivisto [CSS Container Queries] Support all size features Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt (289861 => 289862) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt 2022-02-16 00:26:00 UTC (rev 289861) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt 2022-02-16 00:26:24 UTC (rev 289862) @@ -13,20 +13,20 @@ PASS Compositing: property underlying [matrix3d(0.8535533905932737,0.1464466094067262,-0.5,0,0.1464466094067262,0.8535533905932737,0.5,0,0.5,-0.5,0.7071067811865476,0,100,0,0,1)] from add [matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 100, 0, 0, 1)] to add [matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 200, 0, 0, 1)] at (0.75) should be [translateX(100px) rotate3d(1, 1, 0, 45deg) translateX(175px)] PASS Compositing: property underlying [matrix3d(0.8535533905932737,0.1464466094067262,-0.5,0,0.1464466094067262,0.8535533905932737,0.5,0,0.5,-0.5,0.7071067811865476,0,100,0,0,1)] from add [matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 100, 0, 0, 1)] to add [matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 200, 0, 0, 1)] at (1) should be [translateX(100px) rotate3d(1, 1, 0, 45deg) translateX(200px)] PASS Compositing: property underlying [matrix3d(0.8535533905932737,0.1464466094067262,-0.5,0,0.1464466094067262,0.8535533905932737,0.5,0,0.5,-0.5,0.7071067811865476,0,100,0,0,1)] from add [matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 100, 0, 0, 1)] to add [matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 200, 0, 0, 1)] at (1.5) should be [translateX(100px) rotate3d(1, 1, 0, 45deg) translateX(250px)] -FAIL Compositing: property underlying [matrix(1, 1, 0, 0, 0, 100)] from add [matrix(1, 0, 0, 1, 100, 0)] to add [matrix(1, 0, 0, 1, 200, 0)] at (-0.5) should be [matrix(1, 1, 0, 0, 100, 200)] assert_equals: expected "matrix ( 1 , 1 , 0 , 0 , 100 , 200 ) " but got "matrix ( 1 , 1 , 0 , 0 , 100 , 100 ) " +PASS Compositing: property underlying [matrix(1, 1, 0, 0, 0, 100)] from add [matrix(1, 0, 0, 1, 100, 0)] to add [matrix(1, 0, 0, 1, 200, 0)] at (-0.5) should be [matrix(1, 1, 0, 0, 100, 200)] PASS Compositing: property underlying [matrix(1, 1, 0, 0, 0, 100)] from add [matrix(1, 0, 0, 1, 100, 0)] to add [matrix(1, 0, 0, 1, 200, 0)] at (0) should be [matrix(1, 1, 0, 0, 100, 200)] -FAIL Compositing: property underlying
[webkit-changes] [289683] trunk/Source/WTF
Title: [289683] trunk/Source/WTF Revision 289683 Author nmouchta...@apple.com Date 2022-02-11 17:35:41 -0800 (Fri, 11 Feb 2022) Log Message Turn overscroll-behavior on by default https://bugs.webkit.org/show_bug.cgi?id=236060 Reviewed by Tim Nguyen. * Scripts/Preferences/WebPreferencesExperimental.yaml: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml Diff Modified: trunk/Source/WTF/ChangeLog (289682 => 289683) --- trunk/Source/WTF/ChangeLog 2022-02-12 01:15:31 UTC (rev 289682) +++ trunk/Source/WTF/ChangeLog 2022-02-12 01:35:41 UTC (rev 289683) @@ -1,3 +1,12 @@ +2022-02-11 Nikolaos Mouchtaris + +Turn overscroll-behavior on by default +https://bugs.webkit.org/show_bug.cgi?id=236060 + +Reviewed by Tim Nguyen. + +* Scripts/Preferences/WebPreferencesExperimental.yaml: + 2022-02-11 Wenson Hsieh [iOS] Add a "Copy Cropped Image" context menu item when long pressing images Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (289682 => 289683) --- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2022-02-12 01:15:31 UTC (rev 289682) +++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2022-02-12 01:35:41 UTC (rev 289683) @@ -976,9 +976,9 @@ WebKitLegacy: default: false WebKit: - default: false + default: true WebCore: - default: false + default: true PageAtRuleSupportEnabled: type: bool ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [289599] trunk
Title: [289599] trunk Revision 289599 Author nmouchta...@apple.com Date 2022-02-10 18:27:02 -0800 (Thu, 10 Feb 2022) Log Message Web animations- Composite operation accumulation support for transform properties https://bugs.webkit.org/show_bug.cgi?id=236116 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt: * web-platform-tests/css/css-transforms/animation/transform-rotate-composition-expected.txt: * web-platform-tests/css/css-transforms/animation/transform-skew-composition-expected.txt: * web-platform-tests/css/css-transforms/animation/transform-translate-composition-expected.txt: * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt: * web-platform-tests/web-animations/animation-model/combining-effects/effect-composition-expected.txt: Source/WebCore: This patch brings further support for accumulation on transform properties. The main aspect being addressed is handling accumulation of TransformationMatrices. This involves accumulating on the decomposed functions, which occurs in blendFloat() and accumulateQuaternion(). Since we need to perform accumulation for one-based values on certain decomposed functions, (scale, diagonals of matrices, etc), we set the operation to accumulate only for these cases. A couple of bugs introduced by this additional support are also addressed. For a property with a different transform operation than the keyframes given, transformFunctionListsMatch() would return true when it shouldn't. Addressed by checking in blendByMatchingOperations and falling back on matrix interpolation. Another bug is that we need to pass the composite operation to TransformationMatrix blend(). Another bug is that we should to use Replace behavior if either of the transform matrices are non-invertible. * animation/CSSPropertyAnimation.cpp: (WebCore::blendFunc): * platform/graphics/transforms/Matrix3DTransformOperation.cpp: (WebCore::createOperation): * platform/graphics/transforms/MatrixTransformOperation.cpp: (WebCore::MatrixTransformOperation::blend): * platform/graphics/transforms/RotateTransformOperation.cpp: (WebCore::RotateTransformOperation::blend): * platform/graphics/transforms/TransformOperations.cpp: (WebCore::TransformOperations::blendByMatchingOperations const): (WebCore::TransformOperations::blendByUsingMatrixInterpolation const): (WebCore::TransformOperations::blend const): * platform/graphics/transforms/TransformOperations.h: (WebCore::TransformOperations::isInvertible const): * platform/graphics/transforms/TransformationMatrix.cpp: (WebCore::blendFloat): (WebCore::TransformationMatrix::blend2): (WebCore::accumulateQuaternion): (WebCore::TransformationMatrix::blend4): (WebCore::TransformationMatrix::blend): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-rotate-composition-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-skew-composition-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-translate-composition-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/combining-effects/effect-composition-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp trunk/Source/WebCore/platform/graphics/transforms/Matrix3DTransformOperation.cpp trunk/Source/WebCore/platform/graphics/transforms/MatrixTransformOperation.cpp trunk/Source/WebCore/platform/graphics/transforms/RotateTransformOperation.cpp trunk/Source/WebCore/platform/graphics/transforms/TransformOperations.cpp trunk/Source/WebCore/platform/graphics/transforms/TransformOperations.h trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (289598 => 289599) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-11 02:03:18 UTC (rev 289598) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-11 02:27:02 UTC (rev 289599) @@ -1,3 +1,17 @@ +2022-02-10 Nikolaos Mouchtaris + +Web animations- Composite operation accumulation support for transform properties +https://bugs.webkit.org/show_bug.cgi?id=236116 + +Reviewed by Simon Fraser. + +* web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt: +* web-platform-tests/css/css-transforms/animation/transform-rotate-composition-expected.txt: +* web-platform-tests/css/css-transforms/animation/transform-skew-composition-expected.txt: +
[webkit-changes] [289074] trunk
Title: [289074] trunk Revision 289074 Author nmouchta...@apple.com Date 2022-02-03 13:32:43 -0800 (Thu, 03 Feb 2022) Log Message Implement CSS overscroll-behavior for synchronous scroll https://bugs.webkit.org/show_bug.cgi?id=222968 Reviewed by Simon Fraser. Source/WebCore: Tests: fast/scrolling/sync-scroll-overscroll-behavior-element.html fast/scrolling/sync-scroll-overscroll-behavior-iframe.html fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-element.html fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-iframe.html Split up patch by Cathie Chen and Frederic Wang. Add function for blocking scroll chaining and filtering scroll delta depending on the values of overscroll behavior for a scrollable area. This patch is for synchronous scrolling only. * page/EventHandler.cpp: (WebCore::EventHandler::handleWheelEventInternal): (WebCore::scrollViaNonPlatformEvent): (WebCore::EventHandler::handleWheelEventInAppropriateEnclosingBox): (WebCore::EventHandler::scrollableAreaCanHandleEvent): * page/EventHandler.h: * page/mac/EventHandlerMac.mm: (WebCore::findEnclosingScrollableContainer): * page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::eventForPropagation const): * platform/ScrollableArea.cpp: (WebCore::ScrollableArea::deltaForPropagation const): (WebCore::ScrollableArea::shouldBlockScrollPropagation const): * platform/ScrollableArea.h: (WebCore::ScrollableArea::horizontalOverscrollBehaviorPreventsPropagation const): (WebCore::ScrollableArea::verticalOverscrollBehaviorPreventsPropagation const): * platform/ScrollingEffectsController.h: * platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimatorMac::allowsVerticalStretching const): (WebCore::ScrollAnimatorMac::allowsHorizontalStretching const): * platform/mac/ScrollingEffectsController.mm: (WebCore::ScrollingEffectsController::wheelDeltaBiasingTowardsVertical): LayoutTests: * fast/scrolling/sync-scroll-overscroll-behavior-element-expected.txt: Added. * fast/scrolling/sync-scroll-overscroll-behavior-element.html: Added. * fast/scrolling/sync-scroll-overscroll-behavior-iframe-expected.txt: Added. * fast/scrolling/sync-scroll-overscroll-behavior-iframe.html: Added. * fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-element-expected.txt: Added. * fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-element.html: Added. * fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-iframe-expected.txt: Added. * fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-iframe.html: Added. * platform/mac-wk1/TestExpectations: * platform/win/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/TestExpectations trunk/LayoutTests/platform/mac-wk1/TestExpectations trunk/LayoutTests/platform/win/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/EventHandler.cpp trunk/Source/WebCore/page/EventHandler.h trunk/Source/WebCore/page/mac/EventHandlerMac.mm trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h trunk/Source/WebCore/platform/ScrollableArea.cpp trunk/Source/WebCore/platform/ScrollableArea.h trunk/Source/WebCore/platform/ScrollingEffectsController.h trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm trunk/Source/WebCore/platform/mac/ScrollingEffectsController.mm Added Paths trunk/LayoutTests/fast/scrolling/sync-scroll-overscroll-behavior-element-expected.txt trunk/LayoutTests/fast/scrolling/sync-scroll-overscroll-behavior-element.html trunk/LayoutTests/fast/scrolling/sync-scroll-overscroll-behavior-iframe-expected.txt trunk/LayoutTests/fast/scrolling/sync-scroll-overscroll-behavior-iframe.html trunk/LayoutTests/fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-element-expected.txt trunk/LayoutTests/fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-element.html trunk/LayoutTests/fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-iframe-expected.txt trunk/LayoutTests/fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-iframe.html Diff Modified: trunk/LayoutTests/ChangeLog (289073 => 289074) --- trunk/LayoutTests/ChangeLog 2022-02-03 21:30:22 UTC (rev 289073) +++ trunk/LayoutTests/ChangeLog 2022-02-03 21:32:43 UTC (rev 289074) @@ -1,3 +1,21 @@ +2022-02-03 Nikolaos Mouchtaris + +Implement CSS overscroll-behavior for synchronous scroll +https://bugs.webkit.org/show_bug.cgi?id=222968 + +Reviewed by Simon Fraser. + +* fast/scrolling/sync-scroll-overscroll-behavior-element-expected.txt: Added. +* fast/scrolling/sync-scroll-overscroll-behavior-element.html: Added. +* fast/scrolling/sync-scroll-overscroll-behavior-iframe-expected.txt: Added. +* fast/scrolling/sync-scroll-overscroll-behavior-iframe.html: Added. +* fast/scrolling/sync-scroll-overscroll-behavior-unscrollable-element-expected.txt: Added. +*
[webkit-changes] [288782] trunk/Source/WebKit
Title: [288782] trunk/Source/WebKit Revision 288782 Author nmouchta...@apple.com Date 2022-01-28 20:22:39 -0800 (Fri, 28 Jan 2022) Log Message Implement CSS overscroll-behavior for iOS https://bugs.webkit.org/show_bug.cgi?id=233788 Reviewed by Simon Fraser. Add setting of ScrollView parameters based on overscroll-behavior values. * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: (WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm Diff Modified: trunk/Source/WebKit/ChangeLog (288781 => 288782) --- trunk/Source/WebKit/ChangeLog 2022-01-29 03:29:55 UTC (rev 288781) +++ trunk/Source/WebKit/ChangeLog 2022-01-29 04:22:39 UTC (rev 288782) @@ -1,3 +1,15 @@ +2022-01-28 Nikolaos Mouchtaris + +Implement CSS overscroll-behavior for iOS +https://bugs.webkit.org/show_bug.cgi?id=233788 + +Reviewed by Simon Fraser. + +Add setting of ScrollView parameters based on overscroll-behavior values. + +* UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: +(WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren): + 2022-01-28 Per Arne Vollan [macOS][WP] Temporarily add syscall to sandbox Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm (288781 => 288782) --- trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm 2022-01-29 03:29:55 UTC (rev 288781) +++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm 2022-01-29 04:22:39 UTC (rev 288782) @@ -230,7 +230,8 @@ || scrollingStateNode.hasChangedProperty(ScrollingStateNode::Property::TotalContentsSize) || scrollingStateNode.hasChangedProperty(ScrollingStateNode::Property::ReachableContentsSize) || scrollingStateNode.hasChangedProperty(ScrollingStateNode::Property::ScrollPosition) -|| scrollingStateNode.hasChangedProperty(ScrollingStateNode::Property::ScrollOrigin)) { +|| scrollingStateNode.hasChangedProperty(ScrollingStateNode::Property::ScrollOrigin) +|| scrollingStateNode.hasChangedProperty(ScrollingStateNode::Property::ScrollableAreaParams)) { BEGIN_BLOCK_OBJC_EXCEPTIONS UIScrollView *scrollView = this->scrollView(); if (scrollingStateNode.hasChangedProperty(ScrollingStateNode::Property::ScrollContainerLayer)) { @@ -251,7 +252,15 @@ scrollView.contentSize = scrollingStateNode.reachableContentsSize(); recomputeInsets = true; } - +#if HAVE(UIKIT_OVERSCROLL_BEHAVIOR_SUPPORT) +if (scrollingStateNode.hasChangedProperty(ScrollingStateNode::Property::ScrollableAreaParams)) { +auto params = scrollingStateNode.scrollableAreaParameters(); +scrollView.bouncesHorizontally = params.horizontalOverscrollBehavior != OverscrollBehavior::None; +scrollView.bouncesVertically = params.verticalOverscrollBehavior != OverscrollBehavior::None; +scrollView._allowsParentToBeginHorizontally = params.horizontalOverscrollBehavior == OverscrollBehavior::Auto; +scrollView._allowsParentToBeginVertically = params.verticalOverscrollBehavior == OverscrollBehavior::Auto; +} +#endif if (scrollingStateNode.hasChangedProperty(ScrollingStateNode::Property::ScrollOrigin)) recomputeInsets = true; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [288777] trunk
Title: [288777] trunk Revision 288777 Author nmouchta...@apple.com Date 2022-01-28 18:56:40 -0800 (Fri, 28 Jan 2022) Log Message Implement CSS overscroll-behavior for asynchronous scroll on Mac https://bugs.webkit.org/show_bug.cgi?id=220139 Reviewed by Simon Fraser. Source/WebCore: Split up patch by Cathie Chen and Frederic Wang. Add function for blocking scroll chaining and filtering scroll delta depending on the values of overscroll behavior for a scrolling node. This patch is for asynchronous scrolling only. Tests: fast/scrolling/mac/async-overscroll-behavior-element.html fast/scrolling/mac/async-overscroll-behavior-iframe.html fast/scrolling/mac/async-overscroll-behavior-unscrollable-element.html fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe.html * page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::shouldBlockScrollChainingWithNode): (WebCore::ScrollingTree::handleWheelEventWithNode): * page/scrolling/ScrollingTree.h: * page/scrolling/ScrollingTreeScrollingNode.h: * page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsHorizontalStretching const): (WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsVerticalStretching const): * rendering/RenderLayerCompositor.cpp: (WebCore::recompositeChangeRequiresGeometryUpdate): (WebCore::RenderLayerCompositor::rootOrBodyStyleChanged): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRecompositeLayer const): LayoutTests: * fast/scrolling/mac/async-overscroll-behavior-element-expected.txt: Added. * fast/scrolling/mac/async-overscroll-behavior-element.html: Added. * fast/scrolling/mac/async-overscroll-behavior-iframe-expected.txt: Added. * fast/scrolling/mac/async-overscroll-behavior-iframe.html: Added. * fast/scrolling/mac/async-overscroll-behavior-unscrollable-element-expected.txt: Added. * fast/scrolling/mac/async-overscroll-behavior-unscrollable-element.html: Added. * fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe-expected.txt: Added. * fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe.html: Added. * fast/scrolling/resources/overscroll-behavior-support.js: Added. (getDeltas): (async mouseWheelScrollAndWait): Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp trunk/Source/WebCore/rendering/style/RenderStyle.cpp Added Paths trunk/LayoutTests/fast/scrolling/mac/async-overscroll-behavior-element-expected.txt trunk/LayoutTests/fast/scrolling/mac/async-overscroll-behavior-element.html trunk/LayoutTests/fast/scrolling/mac/async-overscroll-behavior-iframe-expected.txt trunk/LayoutTests/fast/scrolling/mac/async-overscroll-behavior-iframe.html trunk/LayoutTests/fast/scrolling/mac/async-overscroll-behavior-unscrollable-element-expected.txt trunk/LayoutTests/fast/scrolling/mac/async-overscroll-behavior-unscrollable-element.html trunk/LayoutTests/fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe-expected.txt trunk/LayoutTests/fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe.html trunk/LayoutTests/fast/scrolling/resources/overscroll-behavior-support.js Diff Modified: trunk/LayoutTests/ChangeLog (288776 => 288777) --- trunk/LayoutTests/ChangeLog 2022-01-29 02:42:21 UTC (rev 288776) +++ trunk/LayoutTests/ChangeLog 2022-01-29 02:56:40 UTC (rev 288777) @@ -1,3 +1,22 @@ +2022-01-28 Nikolaos Mouchtaris + +Implement CSS overscroll-behavior for asynchronous scroll on Mac +https://bugs.webkit.org/show_bug.cgi?id=220139 + +Reviewed by Simon Fraser. + +* fast/scrolling/mac/async-overscroll-behavior-element-expected.txt: Added. +* fast/scrolling/mac/async-overscroll-behavior-element.html: Added. +* fast/scrolling/mac/async-overscroll-behavior-iframe-expected.txt: Added. +* fast/scrolling/mac/async-overscroll-behavior-iframe.html: Added. +* fast/scrolling/mac/async-overscroll-behavior-unscrollable-element-expected.txt: Added. +* fast/scrolling/mac/async-overscroll-behavior-unscrollable-element.html: Added. +* fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe-expected.txt: Added. +* fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe.html: Added. +* fast/scrolling/resources/overscroll-behavior-support.js: Added. +(getDeltas): +(async mouseWheelScrollAndWait): + 2022-01-28 Robert Jenner [ BigSur+ Release wk1 arm64 ] Bots are flaky exiting testing after 500 layout-test failures (235733) Added: trunk/LayoutTests/fast/scrolling/mac/async-overscroll-behavior-element-expected.txt (0 =>
[webkit-changes] [285904] trunk/Source
Title: [285904] trunk/Source Revision 285904 Author nmouchta...@apple.com Date 2021-11-16 17:26:57 -0800 (Tue, 16 Nov 2021) Log Message Rename TextDecoration to TextDecorationLine https://bugs.webkit.org/show_bug.cgi?id=232729 Reviewed by Myles C. Maxfield. Source/WebCore: Split up patch by Tim Nguyen: https://bugs.webkit.org/show_bug.cgi?id=230083. This patch renames enum TextDecoration to TextDecorationLine, to be more in line with the current spec. * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::hasUnderline const): * accessibility/atk/WebKitAccessibleInterfaceText.cpp: (getAttributeSetForAccessibilityObject): * accessibility/mac/WebAccessibilityObjectWrapperBase.mm: (AXAttributeStringSetStyle): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (AXAttributeStringSetStyle): * animation/CSSPropertyAnimation.cpp: (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): * css/CSSComputedStyleDeclaration.cpp: (WebCore::renderTextDecorationLineFlagsToCSSValue): (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): (WebCore::renderTextDecorationFlagsToCSSValue): Deleted. * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::operator OptionSet const): (WebCore::CSSPrimitiveValue::operator OptionSet const): Deleted. * editing/Editor.cpp: (WebCore::Editor::fontAttributesAtSelectionStart): * editing/cocoa/HTMLConverter.mm: (WebCore::editingAttributedString): * rendering/StyledMarkedText.cpp: (WebCore::resolveStyleForMarkedText): * rendering/TextDecorationPainter.cpp: (WebCore::TextDecorationPainter::TextDecorationPainter): (WebCore::TextDecorationPainter::paintTextDecoration): (WebCore::collectStylesForRenderer): (WebCore::TextDecorationPainter::textDecorationsInEffectForStyle): (WebCore::TextDecorationPainter::stylesForRenderer): * rendering/TextDecorationPainter.h: * rendering/style/RenderStyle.h: (WebCore::RenderStyle::textDecorationsInEffect const): (WebCore::RenderStyle::textDecoration const): (WebCore::RenderStyle::addToTextDecorationsInEffect): (WebCore::RenderStyle::setTextDecorationsInEffect): (WebCore::RenderStyle::setTextDecoration): (WebCore::RenderStyle::initialTextDecoration): * rendering/style/RenderStyleConstants.cpp: (WebCore::operator<<): * rendering/style/RenderStyleConstants.h: * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paint): (WebCore::positionOffsetForDecoration): (WebCore::thicknessForDecoration): (WebCore::SVGInlineTextBox::paintDecoration): (WebCore::SVGInlineTextBox::paintDecorationWithStyle): * rendering/svg/SVGInlineTextBox.h: * style/InlineTextBoxStyle.cpp: (WebCore::minLogicalTopForTextDecorationLine): (WebCore::maxLogicalBottomForTextDecorationLine): (WebCore::enclosingRendererWithTextDecoration): (WebCore::computeUnderlineOffset): (WebCore::visualOverflowForDecorations): * style/StyleBuilderConverter.h: (WebCore::Style::BuilderConverter::convertTextDecoration): Source/WebKitLegacy/mac: * WebView/WebView.mm: (-[WebView updateTextTouchBar]): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp trunk/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceText.cpp trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h trunk/Source/WebCore/editing/Editor.cpp trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm trunk/Source/WebCore/rendering/StyledMarkedText.cpp trunk/Source/WebCore/rendering/TextDecorationPainter.cpp trunk/Source/WebCore/rendering/TextDecorationPainter.h trunk/Source/WebCore/rendering/style/RenderStyle.h trunk/Source/WebCore/rendering/style/RenderStyleConstants.cpp trunk/Source/WebCore/rendering/style/RenderStyleConstants.h trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.h trunk/Source/WebCore/style/InlineTextBoxStyle.cpp trunk/Source/WebCore/style/StyleBuilderConverter.h trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/WebView/WebView.mm Diff Modified: trunk/Source/WebCore/ChangeLog (285903 => 285904) --- trunk/Source/WebCore/ChangeLog 2021-11-17 01:08:34 UTC (rev 285903) +++ trunk/Source/WebCore/ChangeLog 2021-11-17 01:26:57 UTC (rev 285904) @@ -1,3 +1,69 @@ +2021-11-16 Nikolaos Mouchtaris + +Rename TextDecoration to TextDecorationLine +https://bugs.webkit.org/show_bug.cgi?id=232729 + +Reviewed by Myles C. Maxfield. + +Split up patch by Tim Nguyen: https://bugs.webkit.org/show_bug.cgi?id=230083. This patch +renames enum TextDecoration to TextDecorationLine, to be more in line with the current spec. + +* accessibility/AccessibilityRenderObject.cpp: +
[webkit-changes] [285893] trunk/Source
Title: [285893] trunk/Source Revision 285893 Author nmouchta...@apple.com Date 2021-11-16 15:53:48 -0800 (Tue, 16 Nov 2021) Log Message Add overscroll behavior to ScrollableAreaParameters https://bugs.webkit.org/show_bug.cgi?id=233159 Reviewed by Simon Fraser. Source/WebCore: Split patch by Cathie Chen and Frederic Wang. This patch lands the addition of horizontalOverscrollBehavior and verticalOverscrollBehavior to ScrollableAreaParameters to track value of over scroll behavior for particular scroll node. Patches for synchronous/ asynchronous scrolling on Mac and on iOS to come. * page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry): * page/scrolling/ScrollingCoordinatorTypes.h: (WebCore::ScrollableAreaParameters::operator== const): * page/scrolling/ScrollingTreeScrollingNode.h: * platform/ScrollableArea.h: (WebCore::ScrollableArea::horizontalOverscrollBehavior const): (WebCore::ScrollableArea::verticalOverscrollBehavior const): * rendering/RenderLayerScrollableArea.cpp: (WebCore::RenderLayerScrollableArea::horizontalOverscrollBehavior const): (WebCore::RenderLayerScrollableArea::verticalOverscrollBehavior const): * rendering/RenderLayerScrollableArea.h: Source/WebKit: * Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder::encode): (IPC::ArgumentCoder::decode): * Shared/WebCoreArgumentCoders.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/FrameView.cpp trunk/Source/WebCore/page/FrameView.h trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp trunk/Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h trunk/Source/WebCore/platform/ScrollableArea.h trunk/Source/WebCore/rendering/RenderLayerScrollableArea.cpp trunk/Source/WebCore/rendering/RenderLayerScrollableArea.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp trunk/Source/WebKit/Shared/WebCoreArgumentCoders.h Diff Modified: trunk/Source/WebCore/ChangeLog (285892 => 285893) --- trunk/Source/WebCore/ChangeLog 2021-11-16 22:58:57 UTC (rev 285892) +++ trunk/Source/WebCore/ChangeLog 2021-11-16 23:53:48 UTC (rev 285893) @@ -1,3 +1,28 @@ +2021-11-16 Nikolaos Mouchtaris + +Add overscroll behavior to ScrollableAreaParameters +https://bugs.webkit.org/show_bug.cgi?id=233159 + +Reviewed by Simon Fraser. + +Split patch by Cathie Chen and Frederic Wang. This patch lands the addition of +horizontalOverscrollBehavior and verticalOverscrollBehavior to ScrollableAreaParameters +to track value of over scroll behavior for particular scroll node. Patches for synchronous/ +asynchronous scrolling on Mac and on iOS to come. + +* page/scrolling/AsyncScrollingCoordinator.cpp: +(WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry): +* page/scrolling/ScrollingCoordinatorTypes.h: +(WebCore::ScrollableAreaParameters::operator== const): +* page/scrolling/ScrollingTreeScrollingNode.h: +* platform/ScrollableArea.h: +(WebCore::ScrollableArea::horizontalOverscrollBehavior const): +(WebCore::ScrollableArea::verticalOverscrollBehavior const): +* rendering/RenderLayerScrollableArea.cpp: +(WebCore::RenderLayerScrollableArea::horizontalOverscrollBehavior const): +(WebCore::RenderLayerScrollableArea::verticalOverscrollBehavior const): +* rendering/RenderLayerScrollableArea.h: + 2021-11-16 Rob Buis [css-contain] Support contain:paint Modified: trunk/Source/WebCore/page/FrameView.cpp (285892 => 285893) --- trunk/Source/WebCore/page/FrameView.cpp 2021-11-16 22:58:57 UTC (rev 285892) +++ trunk/Source/WebCore/page/FrameView.cpp 2021-11-16 23:53:48 UTC (rev 285893) @@ -5739,6 +5739,24 @@ verticalScrollbar()->setSteps(Scrollbar::pixelsPerLineStep(), pageStep); } } + +OverscrollBehavior FrameView::horizontalOverscrollBehavior() const +{ +auto* document = frame().document(); +auto scrollingObject = document && document->documentElement() ? document->documentElement()->renderer() : nullptr; +if (scrollingObject && renderView() && renderView()->canBeScrolledAndHasScrollableArea()) +return scrollingObject->style().overscrollBehaviorX(); +return OverscrollBehavior::Auto; +} + +OverscrollBehavior FrameView::verticalOverscrollBehavior() const +{ +auto* document = frame().document(); +auto scrollingObject = document && document->documentElement() ? document->documentElement()->renderer() : nullptr; +if (scrollingObject && renderView() && renderView()->canBeScrolledAndHasScrollableArea()) +return scrollingObject->style().overscrollBehaviorY(); +return OverscrollBehavior::Auto; +} } // namespace WebCore #undef PAGE_ID Modified: trunk/Source/WebCore/page/FrameView.h (285892 => 285893) --- trunk/Source/WebCore/page/FrameView.h 2021-11-16 22:58:57 UTC (rev 285892) +++
[webkit-changes] [285669] trunk
Title: [285669] trunk Revision 285669 Author nmouchta...@apple.com Date 2021-11-11 14:41:39 -0800 (Thu, 11 Nov 2021) Log Message REGRESSION: (r283871) [ macOS wk2 Release ] 2 css/cssom-view/scroll-behavior-main-frame tests are failing https://bugs.webkit.org/show_bug.cgi?id=231600 Reviewed by Simon Fraser. Source/WebCore: Fix for issue where a scroll animation is not properly cancelled by a second scroll request. This occurs when the first scroll animation has not been fully started by the time the second request has been received by the scrolling thread (first animation still in m_nodesWithPendingScrollAnimations). For the scenario where the second scroll request is animated, we change ThreadedScrollingTree::scrollingTreeNodeRequestsScroll to use set (add is ignored if key exists in the hash map which caused the second request to be ignored). For the scenario where the second scroll request is not animated, we clear the pending request for that scrolling node (if one exists). * page/scrolling/ScrollingTree.h: (WebCore::ScrollingTree::removePendingScrollAnimationForNode): * page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::handleScrollPositionRequest): * page/scrolling/ThreadedScrollingTree.cpp: (WebCore::ThreadedScrollingTree::scrollingTreeNodeRequestsScroll): (WebCore::ThreadedScrollingTree::removePendingScrollAnimationForNode): * page/scrolling/ThreadedScrollingTree.h: LayoutTests: * platform/mac-wk2/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-wk2/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/scrolling/ScrollingTree.h trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.h Diff Modified: trunk/LayoutTests/ChangeLog (285668 => 285669) --- trunk/LayoutTests/ChangeLog 2021-11-11 22:40:57 UTC (rev 285668) +++ trunk/LayoutTests/ChangeLog 2021-11-11 22:41:39 UTC (rev 285669) @@ -1,3 +1,12 @@ +2021-11-11 Nikolaos Mouchtaris + +REGRESSION: (r283871) [ macOS wk2 Release ] 2 css/cssom-view/scroll-behavior-main-frame tests are failing +https://bugs.webkit.org/show_bug.cgi?id=231600 + +Reviewed by Simon Fraser. + +* platform/mac-wk2/TestExpectations: + 2021-11-11 Ryan Haddad REGRESSION (r285618): [mac-wk1] ASSERTION FAILED: cgContext == [currentContext CGContext] Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (285668 => 285669) --- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2021-11-11 22:40:57 UTC (rev 285668) +++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2021-11-11 22:41:39 UTC (rev 285669) @@ -1679,9 +1679,6 @@ webkit.org/b/231386 [ BigSur ] http/tests/resourceLoadStatistics/website-data-removal-for-site-with-user-interaction.html [ Pass Timeout ] -webkit.org/b/231600 [ Release ] imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window.html [ Pass Failure ] -webkit.org/b/231600 [ Release ] imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root.html [ Failure ] - webkit.org/b/231765 [ Release ] http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration.html [ Pass Timeout ] webkit.org/b/231780 [ Debug ] imported/w3c/web-platform-tests/webrtc/simulcast/basic.https.html [ Pass Failure ] Modified: trunk/Source/WebCore/ChangeLog (285668 => 285669) --- trunk/Source/WebCore/ChangeLog 2021-11-11 22:40:57 UTC (rev 285668) +++ trunk/Source/WebCore/ChangeLog 2021-11-11 22:41:39 UTC (rev 285669) @@ -1,3 +1,28 @@ +2021-11-11 Nikolaos Mouchtaris + +REGRESSION: (r283871) [ macOS wk2 Release ] 2 css/cssom-view/scroll-behavior-main-frame tests are failing +https://bugs.webkit.org/show_bug.cgi?id=231600 + +Reviewed by Simon Fraser. + +Fix for issue where a scroll animation is not properly cancelled by a second scroll request. +This occurs when the first scroll animation has not been fully started by the time the second +request has been received by the scrolling thread (first animation still in +m_nodesWithPendingScrollAnimations). For the scenario where the second scroll request is animated, +we change ThreadedScrollingTree::scrollingTreeNodeRequestsScroll to use set (add is ignored if +key exists in the hash map which caused the second request to be ignored). For the scenario +where the second scroll request is not animated, we clear the pending request for that +scrolling node (if one exists). + +* page/scrolling/ScrollingTree.h: +(WebCore::ScrollingTree::removePendingScrollAnimationForNode): +* page/scrolling/ScrollingTreeScrollingNode.cpp: +(WebCore::ScrollingTreeScrollingNode::handleScrollPositionRequest): +*
[webkit-changes] [285640] trunk/Source
Title: [285640] trunk/Source Revision 285640 Author nmouchta...@apple.com Date 2021-11-11 10:31:29 -0800 (Thu, 11 Nov 2021) Log Message Make scroll granularity an enum class https://bugs.webkit.org/show_bug.cgi?id=232641 Reviewed by Cameron McCormack. Source/WebCore: * dom/Element.cpp: (WebCore::Element::scrollByLines): (WebCore::Element::scrollByPages): * editing/EditorCommand.cpp: (WebCore::executeScrollPageBackward): (WebCore::executeScrollPageForward): (WebCore::executeScrollLineUp): (WebCore::executeScrollLineDown): (WebCore::executeScrollToBeginningOfDocument): (WebCore::executeScrollToEndOfDocument): * page/EventHandler.cpp: (WebCore::wheelGranularityToScrollGranularity): (WebCore::EventHandler::logicalScrollRecursively): (WebCore::EventHandler::defaultSpaceEventHandler): (WebCore::EventHandler::scrollDistance): * page/FrameView.cpp: (WebCore::FrameView::adjustScrollStepForFixedContent): * platform/KeyboardScrollingAnimator.cpp: (WebCore::KeyboardScrollingAnimator::scrollDistance const): (WebCore::KeyboardScrollingAnimator::keyboardScrollForKeyboardEvent const): (WebCore::KeyboardScrollingAnimator::beginKeyboardScrollGesture): * platform/ScrollAnimator.cpp: (WebCore::ScrollAnimator::handleWheelEvent): * platform/ScrollTypes.h: * platform/ScrollableArea.cpp: (WebCore::ScrollableArea::scroll): * platform/Scrollbar.cpp: (WebCore::Scrollbar::pressedPartScrollGranularity): * platform/ios/ScrollAnimatorIOS.mm: (WebCore::ScrollAnimatorIOS::handleTouchEvent): * platform/win/PopupMenuWin.cpp: (WebCore::PopupMenuWin::wndProc): * rendering/RenderBox.cpp: (WebCore::RenderBox::logicalScroll): Source/WebKit: * Scripts/webkit/messages.py: (headers_for_type): * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView keyboardScrollViewAnimator:distanceForIncrement:inDirection:]): * UIProcess/ios/WKKeyboardScrollingAnimator.mm: (-[WKKeyboardScrollingAnimator keyboardScrollForEvent:]): (-[WKKeyboardScrollingAnimator beginWithEvent:]): (-[WKKeyboardScrollViewAnimator distanceForIncrement:inDirection:]): * UIProcess/win/WebPopupMenuProxyWin.cpp: (WebKit::WebPopupMenuProxyWin::onMouseWheel): * UIProcess/win/WebView.cpp: (WebKit::WebView::onHorizontalScroll): (WebKit::WebView::onVerticalScroll): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::scrollBy): * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: * WebProcess/WebPage/gtk/WebPageGtk.cpp: (WebKit::WebPage::performDefaultBehaviorForKeyEvent): * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::performNonEditingBehaviorForSelector): * WebProcess/WebPage/win/WebPageWin.cpp: (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Source/WebKitLegacy/mac: * WebView/WebFrameView.mm: (-[WebFrameView _scrollToBeginningOfDocument]): (-[WebFrameView _scrollToEndOfDocument]): (-[WebFrameView _pageVertically:]): (-[WebFrameView _pageHorizontally:]): (-[WebFrameView _scrollLineVertically:]): (-[WebFrameView _scrollLineHorizontally:]): Source/WebKitLegacy/win: * WebView.cpp: (WebView::verticalScroll): (WebView::horizontalScroll): (WebView::keyDown): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Element.cpp trunk/Source/WebCore/editing/EditorCommand.cpp trunk/Source/WebCore/page/EventHandler.cpp trunk/Source/WebCore/page/FrameView.cpp trunk/Source/WebCore/platform/KeyboardScrollingAnimator.cpp trunk/Source/WebCore/platform/ScrollAnimator.cpp trunk/Source/WebCore/platform/ScrollTypes.h trunk/Source/WebCore/platform/ScrollableArea.cpp trunk/Source/WebCore/platform/Scrollbar.cpp trunk/Source/WebCore/platform/ios/ScrollAnimatorIOS.mm trunk/Source/WebCore/platform/win/PopupMenuWin.cpp trunk/Source/WebCore/rendering/RenderBox.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Scripts/webkit/messages.py trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm trunk/Source/WebKit/UIProcess/ios/WKKeyboardScrollingAnimator.mm trunk/Source/WebKit/UIProcess/win/WebPopupMenuProxyWin.cpp trunk/Source/WebKit/UIProcess/win/WebView.cpp trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp trunk/Source/WebKit/WebProcess/WebPage/WebPage.h trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in trunk/Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm trunk/Source/WebKit/WebProcess/WebPage/win/WebPageWin.cpp trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/WebView/WebFrameView.mm trunk/Source/WebKitLegacy/win/ChangeLog trunk/Source/WebKitLegacy/win/WebView.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (285639 => 285640) --- trunk/Source/WebCore/ChangeLog 2021-11-11 18:29:14 UTC (rev 285639) +++ trunk/Source/WebCore/ChangeLog 2021-11-11 18:31:29 UTC (rev 285640) @@ -1,3 +1,45 @@ +2021-11-11 Nikolaos Mouchtaris + +Make scroll granularity an enum class +https://bugs.webkit.org/show_bug.cgi?id=232641 + +Reviewed by Cameron McCormack. + +* dom/Element.cpp: +
[webkit-changes] [285357] trunk/Source
Title: [285357] trunk/Source Revision 285357 Author nmouchta...@apple.com Date 2021-11-05 16:06:50 -0700 (Fri, 05 Nov 2021) Log Message Make scroll bar mode an enum class https://bugs.webkit.org/show_bug.cgi?id=232651 Reviewed by Simon Fraser. Source/WebCore: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::scrollingMode const): * html/HTMLFrameOwnerElement.h: (WebCore::HTMLFrameOwnerElement::scrollingMode const): * page/Frame.cpp: (WebCore::Frame::createView): * page/Frame.h: * page/FrameView.cpp: (WebCore::FrameView::resetScrollbars): (WebCore::FrameView::init): (WebCore::FrameView::updateCanHaveScrollbars): (WebCore::FrameView::applyOverflowToViewport): (WebCore::FrameView::calculateScrollbarModesForLayout): (WebCore::FrameView::adjustScrollbarsForLayout): (WebCore::FrameView::performFixedWidthAutoSize): (WebCore::FrameView::performSizeToContentAutoSize): (WebCore::FrameView::isScrollable): (WebCore::FrameView::enableAutoSizeMode): * page/SpatialNavigation.cpp: (WebCore::canScrollInDirection): * page/scrolling/ScrollingCoordinatorTypes.h: * page/scrolling/ScrollingTreeScrollingNode.h: * platform/ScrollTypes.cpp: (WebCore::operator<<): * platform/ScrollTypes.h: * platform/ScrollView.cpp: (WebCore::ScrollView::setCanHaveScrollbars): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::platformScrollbarModes const): * platform/ScrollView.h: * platform/ScrollableArea.h: (WebCore::ScrollableArea::horizontalScrollbarMode const): (WebCore::ScrollableArea::verticalScrollbarMode const): (WebCore::ScrollableArea::canHaveScrollbars const): * platform/ios/wak/WAKScrollView.mm: (-[WAKScrollView horizontalScrollingMode]): (-[WAKScrollView verticalScrollingMode]): * rendering/RenderFrameBase.cpp: (WebCore::RenderFrameBase::performLayoutWithFlattening): * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::flattenFrame const): * rendering/RenderLayer.cpp: (WebCore::frameElementAndViewPermitScroll): * rendering/RenderLayerBacking.cpp: (WebCore::computePageTiledBackingCoverage): Source/WebKit: * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setAlwaysShowsHorizontalScroller): (WebKit::WebPage::setAlwaysShowsVerticalScroller): Source/WebKitLegacy/mac: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::transitionToCommittedForNewPage): * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): (-[WebDynamicScrollBarsView updateScrollers]): (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): (-[WebDynamicScrollBarsView allowsVerticalScrolling]): * WebView/WebView.mm: (-[WebView setAlwaysShowVerticalScroller:]): (-[WebView alwaysShowVerticalScroller]): (-[WebView setAlwaysShowHorizontalScroller:]): (-[WebView alwaysShowHorizontalScroller]): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLFrameElementBase.cpp trunk/Source/WebCore/html/HTMLFrameOwnerElement.h trunk/Source/WebCore/page/Frame.cpp trunk/Source/WebCore/page/Frame.h trunk/Source/WebCore/page/FrameView.cpp trunk/Source/WebCore/page/SpatialNavigation.cpp trunk/Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h trunk/Source/WebCore/platform/ScrollTypes.cpp trunk/Source/WebCore/platform/ScrollTypes.h trunk/Source/WebCore/platform/ScrollView.cpp trunk/Source/WebCore/platform/ScrollView.h trunk/Source/WebCore/platform/ScrollableArea.h trunk/Source/WebCore/platform/ios/wak/WAKScrollView.mm trunk/Source/WebCore/rendering/RenderFrameBase.cpp trunk/Source/WebCore/rendering/RenderIFrame.cpp trunk/Source/WebCore/rendering/RenderLayer.cpp trunk/Source/WebCore/rendering/RenderLayerBacking.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm trunk/Source/WebKitLegacy/mac/WebView/WebDynamicScrollBarsView.mm trunk/Source/WebKitLegacy/mac/WebView/WebView.mm Diff Modified: trunk/Source/WebCore/ChangeLog (285356 => 285357) --- trunk/Source/WebCore/ChangeLog 2021-11-05 22:42:12 UTC (rev 285356) +++ trunk/Source/WebCore/ChangeLog 2021-11-05 23:06:50 UTC (rev 285357) @@ -1,3 +1,56 @@ +2021-11-05 Nikolaos Mouchtaris + +Make scroll bar mode an enum class +https://bugs.webkit.org/show_bug.cgi?id=232651 + +Reviewed by Simon Fraser. + +* html/HTMLFrameElementBase.cpp: +(WebCore::HTMLFrameElementBase::scrollingMode const): +* html/HTMLFrameOwnerElement.h: +(WebCore::HTMLFrameOwnerElement::scrollingMode const): +* page/Frame.cpp: +(WebCore::Frame::createView): +* page/Frame.h: +* page/FrameView.cpp: +(WebCore::FrameView::resetScrollbars): +
[webkit-changes] [285347] trunk/Source
Title: [285347] trunk/Source Revision 285347 Author nmouchta...@apple.com Date 2021-11-05 11:46:21 -0700 (Fri, 05 Nov 2021) Log Message Make scroll elasticity an enum class https://bugs.webkit.org/show_bug.cgi?id=232646 Reviewed by Simon Fraser. Source/WebCore: * page/FrameView.cpp: (WebCore::FrameView::FrameView): * page/Page.cpp: (WebCore::Page::Page): * page/Page.h: * page/scrolling/ScrollingCoordinatorTypes.h: * page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsHorizontalStretching const): (WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsVerticalStretching const): * platform/ScrollTypes.cpp: (WebCore::operator<<): * platform/ScrollTypes.h: * platform/ScrollableArea.h: * platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimatorMac::allowsVerticalStretching const): (WebCore::ScrollAnimatorMac::allowsHorizontalStretching const): * rendering/RenderLayerScrollableArea.cpp: (WebCore::RenderLayerScrollableArea::setHasHorizontalScrollbar): (WebCore::RenderLayerScrollableArea::setHasVerticalScrollbar): Source/WebKit: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setEnableVerticalRubberBanding): (WebKit::WebPage::setEnableHorizontalRubberBanding): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/FrameView.cpp trunk/Source/WebCore/page/Page.cpp trunk/Source/WebCore/page/Page.h trunk/Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm trunk/Source/WebCore/platform/ScrollTypes.cpp trunk/Source/WebCore/platform/ScrollTypes.h trunk/Source/WebCore/platform/ScrollableArea.h trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm trunk/Source/WebCore/rendering/RenderLayerScrollableArea.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (285346 => 285347) --- trunk/Source/WebCore/ChangeLog 2021-11-05 18:14:31 UTC (rev 285346) +++ trunk/Source/WebCore/ChangeLog 2021-11-05 18:46:21 UTC (rev 285347) @@ -1,3 +1,30 @@ +2021-11-05 Nikolaos Mouchtaris + +Make scroll elasticity an enum class +https://bugs.webkit.org/show_bug.cgi?id=232646 + +Reviewed by Simon Fraser. + +* page/FrameView.cpp: +(WebCore::FrameView::FrameView): +* page/Page.cpp: +(WebCore::Page::Page): +* page/Page.h: +* page/scrolling/ScrollingCoordinatorTypes.h: +* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: +(WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsHorizontalStretching const): +(WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsVerticalStretching const): +* platform/ScrollTypes.cpp: +(WebCore::operator<<): +* platform/ScrollTypes.h: +* platform/ScrollableArea.h: +* platform/mac/ScrollAnimatorMac.mm: +(WebCore::ScrollAnimatorMac::allowsVerticalStretching const): +(WebCore::ScrollAnimatorMac::allowsHorizontalStretching const): +* rendering/RenderLayerScrollableArea.cpp: +(WebCore::RenderLayerScrollableArea::setHasHorizontalScrollbar): +(WebCore::RenderLayerScrollableArea::setHasVerticalScrollbar): + 2021-11-05 Devin Rousso [css-values-4] viewport units should be floats Modified: trunk/Source/WebCore/page/FrameView.cpp (285346 => 285347) --- trunk/Source/WebCore/page/FrameView.cpp 2021-11-05 18:14:31 UTC (rev 285346) +++ trunk/Source/WebCore/page/FrameView.cpp 2021-11-05 18:46:21 UTC (rev 285347) @@ -196,14 +196,14 @@ init(); #if HAVE(RUBBER_BANDING) -ScrollElasticity verticalElasticity = ScrollElasticityNone; -ScrollElasticity horizontalElasticity = ScrollElasticityNone; +auto verticalElasticity = ScrollElasticity::None; +auto horizontalElasticity = ScrollElasticity::None; if (m_frame->isMainFrame()) { -verticalElasticity = m_frame->page() ? m_frame->page()->verticalScrollElasticity() : ScrollElasticityAllowed; -horizontalElasticity = m_frame->page() ? m_frame->page()->horizontalScrollElasticity() : ScrollElasticityAllowed; +verticalElasticity = m_frame->page() ? m_frame->page()->verticalScrollElasticity() : ScrollElasticity::Allowed; +horizontalElasticity = m_frame->page() ? m_frame->page()->horizontalScrollElasticity() : ScrollElasticity::Allowed; } else if (m_frame->settings().rubberBandingForSubScrollableRegionsEnabled()) { -verticalElasticity = ScrollElasticityAutomatic; -horizontalElasticity = ScrollElasticityAutomatic; +verticalElasticity = ScrollElasticity::Automatic; +horizontalElasticity = ScrollElasticity::Automatic; } ScrollableArea::setVerticalScrollElasticity(verticalElasticity); Modified: trunk/Source/WebCore/page/Page.cpp (285346 => 285347) --- trunk/Source/WebCore/page/Page.cpp 2021-11-05 18:14:31 UTC (rev 285346) +++
[webkit-changes] [285316] trunk/Source
Title: [285316] trunk/Source Revision 285316 Author nmouchta...@apple.com Date 2021-11-04 14:58:31 -0700 (Thu, 04 Nov 2021) Log Message Make scrollbar orientation an enum class https://bugs.webkit.org/show_bug.cgi?id=232648 Reviewed by Simon Fraser. Source/WebCore: * accessibility/AccessibilityScrollbar.cpp: (WebCore::AccessibilityScrollbar::orientation const): * css/SelectorChecker.h: * css/SelectorCheckerTestFunctions.h: (WebCore::scrollbarMatchesHorizontalPseudoClass): (WebCore::scrollbarMatchesVerticalPseudoClass): * page/FrameView.cpp: (WebCore::FrameView::horizontalScrollbarHiddenByStyle const): (WebCore::FrameView::verticalScrollbarHiddenByStyle const): (WebCore::FrameView::performSizeToContentAutoSize): (WebCore::FrameView::adjustScrollStepForFixedContent): * page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange): * platform/ScrollAnimator.cpp: (WebCore::ScrollAnimator::scroll): (WebCore::ScrollAnimator::deltaFromStep): (WebCore::ScrollAnimator::handleWheelEvent): * platform/ScrollTypes.h: * platform/ScrollView.cpp: (WebCore::ScrollView::setHasHorizontalScrollbar): (WebCore::ScrollView::setHasVerticalScrollbar): * platform/ScrollableArea.cpp: (WebCore::ScrollableArea::scroll): (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation): (WebCore::ScrollableArea::didAddScrollbar): (WebCore::ScrollableArea::willRemoveScrollbar): (WebCore::ScrollableArea::doPostThumbMoveSnapping): * platform/ScrollableArea.h: (WebCore::offsetForOrientation): * platform/Scrollbar.cpp: (WebCore::Scrollbar::pressedPartScrollDirection): (WebCore::Scrollbar::moveThumb): (WebCore::Scrollbar::mouseMoved): (WebCore::Scrollbar::mouseDown): * platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::splitTrack): (WebCore::ScrollbarThemeComposite::trackPosition): (WebCore::ScrollbarThemeComposite::trackLength): * platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::registerScrollbar): (WebCore::ScrollbarThemeMac::hasButtons): (WebCore::ScrollbarThemeMac::hasThumb): (WebCore::buttonRepaintRect): (WebCore::ScrollbarThemeMac::backButtonRect): (WebCore::ScrollbarThemeMac::forwardButtonRect): (WebCore::ScrollbarThemeMac::trackRect): * platform/mac/ScrollbarsControllerMac.mm: (-[WebScrollerImpDelegate layer]): (-[WebScrollerImpDelegate setUpAlphaAnimation:scrollerPainter:part:animateAlphaTo:duration:]): * rendering/RenderBox.cpp: (WebCore::RenderBox::hasAutoScrollbar const): (WebCore::RenderBox::hasAlwaysPresentScrollbar const): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateOverflowControlsLayers): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): (WebCore::RenderLayerCompositor::destroyRootLayer): * rendering/RenderLayerScrollableArea.cpp: (WebCore::RenderLayerScrollableArea::clear): (WebCore::RenderLayerScrollableArea::destroyScrollbar): (WebCore::RenderLayerScrollableArea::setHasHorizontalScrollbar): (WebCore::RenderLayerScrollableArea::setHasVerticalScrollbar): (WebCore::RenderLayerScrollableArea::updateScrollbarPresenceAndState): (WebCore::RenderLayerScrollableArea::updateScrollbarsAfterLayout): * rendering/RenderListBox.cpp: (WebCore::RenderListBox::layout): (WebCore::RenderListBox::scrollToRevealElementAtListIndex): (WebCore::RenderListBox::setScrollTop): (WebCore::RenderListBox::createScrollbar): (WebCore::RenderListBox::destroyScrollbar): * rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::RenderScrollbar): (WebCore::RenderScrollbar::updateScrollbarParts): (WebCore::RenderScrollbar::buttonRect const): (WebCore::RenderScrollbar::trackRect const): (WebCore::RenderScrollbar::trackPieceRectWithMargins const): (WebCore::RenderScrollbar::minimumThumbLength const): * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::layout): * rendering/RenderScrollbarTheme.cpp: (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis): (WebCore::RenderScrollbarTheme::hasButtons): (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces): Source/WebKit: * Shared/WebHitTestResultData.cpp: (WebKit::WebHitTestResultData::WebHitTestResultData): * WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::updateScrollbars): (WebKit::PDFPlugin::createScrollbar): (WebKit::PDFPlugin::destroyScrollbar): (WebKit::PDFPlugin::destroy): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/accessibility/AccessibilityScrollbar.cpp trunk/Source/WebCore/css/SelectorChecker.h trunk/Source/WebCore/css/SelectorCheckerTestFunctions.h trunk/Source/WebCore/page/FrameView.cpp trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp trunk/Source/WebCore/platform/ScrollAnimator.cpp trunk/Source/WebCore/platform/ScrollTypes.h trunk/Source/WebCore/platform/ScrollView.cpp trunk/Source/WebCore/platform/ScrollableArea.cpp trunk/Source/WebCore/platform/ScrollableArea.h trunk/Source/WebCore/platform/Scrollbar.cpp
[webkit-changes] [285238] trunk/LayoutTests
Title: [285238] trunk/LayoutTests Revision 285238 Author nmouchta...@apple.com Date 2021-11-03 15:41:25 -0700 (Wed, 03 Nov 2021) Log Message Add platform test expectations for imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001.html https://bugs.webkit.org/show_bug.cgi?id=232504 Reviewed by Myles Maxfield. Fix expectations for Big Sur wk1. * platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Added. * platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Added. Modified Paths trunk/LayoutTests/ChangeLog Added Paths trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt trunk/LayoutTests/platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/ trunk/LayoutTests/platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/ trunk/LayoutTests/platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/html5-tree/ trunk/LayoutTests/platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt trunk/LayoutTests/platform/mac-catalina/imported/w3c/web-platform-tests/mathml/relations/html5-tree/ trunk/LayoutTests/platform/mac-catalina/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt Removed Paths trunk/LayoutTests/platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/mathml/ trunk/LayoutTests/platform/mac-catalina-wk2/imported/w3c/web-platform-tests/mathml/ Diff Modified: trunk/LayoutTests/ChangeLog (285237 => 285238) --- trunk/LayoutTests/ChangeLog 2021-11-03 22:40:59 UTC (rev 285237) +++ trunk/LayoutTests/ChangeLog 2021-11-03 22:41:25 UTC (rev 285238) @@ -1,3 +1,15 @@ +2021-11-03 Nikos Mouchtaris + +Add platform test expectations for imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001.html +https://bugs.webkit.org/show_bug.cgi?id=232504 + +Reviewed by Myles Maxfield. + +Fix expectations for Big Sur wk1. + +* platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Added. +* platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Added. + 2021-11-03 Rob Buis Return nullopt in aspect-ratio+intrinsic width case Copied: trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt (from rev 285236, trunk/LayoutTests/platform/mac-catalina-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt) (0 => 285238) --- trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt (rev 0) +++ trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt 2021-11-03 22:41:25 UTC (rev 285238) @@ -0,0 +1,101 @@ + +PASS Adding missing children to mfrac +PASS Removing child from valid mfrac +FAIL Adding child to valid mfrac assert_approx_equals: block position (child 1) expected 0 +/- 1 but got 13.234375 +PASS Removing extra child from mfrac +PASS Adding missing children to munder +PASS Removing child from valid munder +FAIL Adding child to valid munder assert_approx_equals: block position (child 1) expected 0 +/- 1 but got 11.90625 +PASS Removing extra child from munder +PASS Adding missing children to mover +FAIL Removing child from valid mover assert_approx_equals: block position (child 0) expected 0 +/- 1 but got 22.53125 +FAIL Adding child to valid mover assert_approx_equals: block position (child 0) expected 0 +/- 1 but got 22.53125 +PASS Removing extra child from mover +PASS Adding missing children to munderover +FAIL Removing child from valid munderover assert_approx_equals: block position (child 0) expected 0 +/- 1 but got 32.53125 +FAIL Adding child to valid munderover assert_approx_equals: block position (child 0) expected 0 +/- 1 but got 32.53125 +PASS Removing extra child from munderover +PASS Adding missing children to msub +PASS Removing child from valid msub +FAIL Adding child to valid msub assert_approx_equals: inline position (child 1) expected 0 +/- 1 but got 10 +PASS Removing extra child from msub +PASS Adding missing children to msup +FAIL Removing child from valid msup assert_approx_equals: block position (child 0) expected 0 +/- 1 but got 16 +FAIL Adding child to valid msup assert_approx_equals: block position (child 0) expected 0 +/- 1 but got 16 +PASS Removing extra child from msup +PASS Adding missing children to msubsup +FAIL Removing child from valid msubsup assert_approx_equals: block position (child 0) expected 0 +/- 1 but got 26 +FAIL Adding child to valid msubsup
[webkit-changes] [285134] trunk/LayoutTests
Title: [285134] trunk/LayoutTests Revision 285134 Author nmouchta...@apple.com Date 2021-11-01 15:04:09 -0700 (Mon, 01 Nov 2021) Log Message Add platform test expectations for imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001.html https://bugs.webkit.org/show_bug.cgi?id=232504 Reviewed by Myles C. Maxfield. * platform/ios-simulator-wk2/TestExpectations: * platform/ios-wk2/TestExpectations: * platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Added. * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations trunk/LayoutTests/platform/ios-wk2/TestExpectations trunk/LayoutTests/platform/mac/TestExpectations Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/mathml/ trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/mathml/relations/ trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/ trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt trunk/LayoutTests/platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/mathml/ trunk/LayoutTests/platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/mathml/relations/ trunk/LayoutTests/platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/ trunk/LayoutTests/platform/mac-bigsur-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt trunk/LayoutTests/platform/mac-catalina-wk2/imported/w3c/web-platform-tests/mathml/ trunk/LayoutTests/platform/mac-catalina-wk2/imported/w3c/web-platform-tests/mathml/relations/ trunk/LayoutTests/platform/mac-catalina-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/ trunk/LayoutTests/platform/mac-catalina-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt Removed Paths trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt trunk/LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (285133 => 285134) --- trunk/LayoutTests/ChangeLog 2021-11-01 21:58:38 UTC (rev 285133) +++ trunk/LayoutTests/ChangeLog 2021-11-01 22:04:09 UTC (rev 285134) @@ -1,3 +1,15 @@ +2021-11-01 Nikos Mouchtaris + +Add platform test expectations for imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001.html +https://bugs.webkit.org/show_bug.cgi?id=232504 + +Reviewed by Myles C. Maxfield. + +* platform/ios-simulator-wk2/TestExpectations: +* platform/ios-wk2/TestExpectations: +* platform/mac-bigsur/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt: Added. +* platform/mac/TestExpectations: + 2021-11-01 Ayumi Kojima [ iOS Debug ] http/wpt/push-api tests are flaky failing. Copied: trunk/LayoutTests/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt (from rev 285133, trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt) (0 => 285134) --- trunk/LayoutTests/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-001-expected.txt 2021-11-01 22:04:09 UTC (rev 285134) @@ -0,0 +1,101 @@ + +PASS Adding missing children to mfrac +PASS Removing child from valid mfrac +FAIL Adding child to valid mfrac assert_approx_equals: block position (child 1) expected 0 +/- 1 but got 12.375 +PASS Removing extra child from mfrac +PASS Adding missing children to munder +PASS Removing child from valid munder +FAIL Adding child to valid munder assert_approx_equals: block position (child 1) expected 0 +/- 1 but got 12.390625 +PASS Removing extra child from munder +PASS Adding missing children to mover +FAIL Removing child from valid mover assert_approx_equals: block position (child 0) expected 0 +/- 1 but got 23.1875 +FAIL Adding child to valid mover assert_approx_equals: block position (child 0) expected 0 +/- 1 but got 23.1875 +PASS Removing extra child from mover +PASS Adding missing
[webkit-changes] [285015] trunk
Title: [285015] trunk Revision 285015 Author nmouchta...@apple.com Date 2021-10-28 19:19:51 -0700 (Thu, 28 Oct 2021) Log Message if border-radius includes a var(), the value is not readable from .style https://bugs.webkit.org/show_bug.cgi?id=230389 Reviewed by Myles Maxfield. Source/WebCore: Return correct string for shorthand CSS values set by var. Add extra checks for if all longhand properties are pending values and if the requested shorthand property was set to a variable. Test: css3/short-hand-var-serialization.html * css/StyleProperties.cpp: (WebCore::StyleProperties::getPropertyValue const): LayoutTests: * css3/short-hand-var-serialization-expected.txt: Added. * css3/short-hand-var-serialization.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-logical/logicalprops-with-variables-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-reference-shorthands-cssom-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-variables/variable-reference-shorthands-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/cssom/shorthand-serialization-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/StyleProperties.cpp trunk/Source/WebCore/css/StyleProperties.h Added Paths trunk/LayoutTests/css3/short-hand-var-serialization-expected.txt trunk/LayoutTests/css3/short-hand-var-serialization.html Removed Paths trunk/LayoutTests/fast/css/variables/rule-property-get-expected.html trunk/LayoutTests/fast/css/variables/rule-property-get.html Diff Modified: trunk/LayoutTests/ChangeLog (285014 => 285015) --- trunk/LayoutTests/ChangeLog 2021-10-29 02:00:18 UTC (rev 285014) +++ trunk/LayoutTests/ChangeLog 2021-10-29 02:19:51 UTC (rev 285015) @@ -1,3 +1,13 @@ +2021-10-28 Nikos Mouchtaris + +if border-radius includes a var(), the value is not readable from .style +https://bugs.webkit.org/show_bug.cgi?id=230389 + +Reviewed by Myles Maxfield. + +* css3/short-hand-var-serialization-expected.txt: Added. +* css3/short-hand-var-serialization.html: Added. + 2021-10-28 Arcady Goldmints-Orlov [GLIB] Update test baselines. Unreviewed test gardening. Added: trunk/LayoutTests/css3/short-hand-var-serialization-expected.txt (0 => 285015) --- trunk/LayoutTests/css3/short-hand-var-serialization-expected.txt (rev 0) +++ trunk/LayoutTests/css3/short-hand-var-serialization-expected.txt 2021-10-29 02:19:51 UTC (rev 285015) @@ -0,0 +1,15 @@ +Test that shorthand css properties set to a variable return that variable when accessed through the style sheet. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +- Tests - +PASS styleSheet.rules[1].style.borderRadius is "var(--v0)" +PASS styleSheet.rules[2].style.margin is "var(--v0)" +PASS styleSheet.rules[3].style.borderBlockWidth is "var(--v0)" +PASS styleSheet.rules[4].style.borderInlineWidth is "var(--v0)" +PASS styleSheet.rules[5].style.perspectiveOrigin is "var(--v0)" +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/css3/short-hand-var-serialization.html (0 => 285015) --- trunk/LayoutTests/css3/short-hand-var-serialization.html (rev 0) +++ trunk/LayoutTests/css3/short-hand-var-serialization.html 2021-10-29 02:19:51 UTC (rev 285015) @@ -0,0 +1,55 @@ + + + +div { +width: 100px; +height: 100px; +border: 3px solid red; +} +#div0 { +--v0: 50px; +border-radius: var(--v0); +} +#div1 { +--v0: 50px; +margin: var(--v0); +} + +#div2 { +--v0: 50px; +border-block-width: var(--v0); +} + +#div3 { +--v0: 50px; +border-inline-width: var(--v0); +} + +#div4 { +--v0: left; +perspective-origin: var(--v0); +} + + + + + + + + +