[webkit-changes] [294752] trunk
Title: [294752] trunk Revision 294752 Author mrobin...@webkit.org Date 2022-05-24 09:57:53 -0700 (Tue, 24 May 2022) Log Message REGRESSION (r289032): rotate animation doesn't interpolate between 0 and 1turn without forced 50% https://bugs.webkit.org/show_bug.cgi?id=239906 Reviewed by Simon Fraser. When using CoreAnimation non-matrix animations to animate rotations, CoreAnimation will use the shortest direction between two rotation angles. This means that a rotation from 0 to 360 will not rotate at all. This is different from how CSS works, where it expects the animation to do a full turn. In order to avoid problems with this difference, when an animation includes larger angles (> 180 degrees), fall back to software animation. No new tests. It is difficult to make a test for this because when pausing animations the software path is used. * LayoutTests/animations/3d/full-rotation-animation-expected.html: Added. * LayoutTests/animations/3d/full-rotation-animation.html: Added. * Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::transformationAnimationValueAt): (WebCore::hasBigRotationAngle): (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints): * Source/WebCore/platform/graphics/transforms/TransformOperations.h: (WebCore::SharedPrimitivesPrefix::primitives const): (WebCore::SharedPrimitivesPrefix::primitives): Deleted. Canonical link: https://commits.webkit.org/250920@main Modified Paths trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp trunk/Source/WebCore/platform/graphics/transforms/TransformOperations.h Added Paths trunk/LayoutTests/animations/3d/full-rotation-animation-expected.html trunk/LayoutTests/animations/3d/full-rotation-animation.html Diff Added: trunk/LayoutTests/animations/3d/full-rotation-animation-expected.html (0 => 294752) --- trunk/LayoutTests/animations/3d/full-rotation-animation-expected.html (rev 0) +++ trunk/LayoutTests/animations/3d/full-rotation-animation-expected.html 2022-05-24 16:57:53 UTC (rev 294752) @@ -0,0 +1,20 @@ + + + + + +.test { + height: 80px; + width: 80px; + perspective: 250px; + border: 1px solid black; + background: green; +} + + + + + + + + Added: trunk/LayoutTests/animations/3d/full-rotation-animation.html (0 => 294752) --- trunk/LayoutTests/animations/3d/full-rotation-animation.html (rev 0) +++ trunk/LayoutTests/animations/3d/full-rotation-animation.html 2022-05-24 16:57:53 UTC (rev 294752) @@ -0,0 +1,39 @@ + + + + + +.box { + height: 80px; + width: 80px; + background-color: red; + + animation-name: animation; + animation-duration: 10s; + animation-delay: -25000s; + animation-timing-function: linear; +} + +.test { + height: 80px; + width: 80px; + perspective: 250px; + border: 1px solid black; + background: green; +} + + @keyframes animation { + 0% { transform: rotateY(0); } + 100% { transform: rotateY(-1turn); } +} + + + + + + + + + + + Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (294751 => 294752) --- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2022-05-24 16:39:51 UTC (rev 294751) +++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2022-05-24 16:57:53 UTC (rev 294752) @@ -3463,6 +3463,37 @@ return true; } +static const TransformOperations& transformationAnimationValueAt(const KeyframeValueList& valueList, unsigned i) +{ +return static_cast(valueList.at(i)).value(); +} + +static bool hasBigRotationAngle(const KeyframeValueList& valueList, const SharedPrimitivesPrefix& prefix) +{ +// Hardware non-matrix animations are used for every function in the shared primitives prefix. +// These kind of animations have issues with large rotation angles, so for every function that +// will be represented as a hardware non-matrix animation, check that for each of those functions +// the animation that's created for it will not have two consecutive keyframes that have a large +// rotation angle between them. +const auto& primitives = prefix.primitives(); +for (unsigned animationIndex = 0; animationIndex < primitives.size(); ++animationIndex) { +auto type = primitives[animationIndex]; +if (type != TransformOperation::ROTATE && type != TransformOperation::ROTATE_3D) +continue; +for (size_t i = 1; i < valueList.size(); ++i) { +// Since the shared primitive at this index is a rotation, both of these transform +// functions should be RotateTransformOperations. +auto prevOperation = downcast(transformationAnimationValueAt(valueList, i - 1).at(animationIndex)); +auto operation = downcast(transformationAnimationValueAt(valueList, i).at(animationIndex)); +auto
[webkit-changes] [294224] trunk
Title: [294224] trunk Revision 294224 Author mrobin...@webkit.org Date 2022-05-16 01:14:46 -0700 (Mon, 16 May 2022) Log Message Do not allow unitless values for CSS unprefixed perspective property https://bugs.webkit.org/show_bug.cgi?id=104805 Reviewed by Tim Nguyen. LayoutTests/imported/w3c: * web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: * web-platform-tests/quirks/unitless-length/excluded-properties-001-expected.txt: Source/WebCore: No new tests. This is tested by an existing WPT test: web-platform-tests/quirks/unitless-length/excluded-properties-001.html * animation/CSSPropertyAnimation.cpp: (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * css/CSSProperties.json: * css/parser/CSSPropertyParser.cpp: (WebCore::consumePerspective): (WebCore::CSSPropertyParser::consumePrefixedPerspective): (WebCore::CSSPropertyParser::parseShorthand): * css/parser/CSSPropertyParser.h: * rendering/style/WillChangeData.cpp: (WebCore::WillChangeData::propertyCreatesStackingContext): LayoutTests: * platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: * platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: * platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: * platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: * platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/quirks/unitless-length/excluded-properties-001-expected.txt trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt trunk/LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp trunk/Source/WebCore/css/CSSProperties.json trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp trunk/Source/WebCore/css/parser/CSSPropertyParser.h trunk/Source/WebCore/rendering/style/WillChangeData.cpp Diff Modified: trunk/LayoutTests/ChangeLog (294223 => 294224) --- trunk/LayoutTests/ChangeLog 2022-05-16 07:26:25 UTC (rev 294223) +++ trunk/LayoutTests/ChangeLog 2022-05-16 08:14:46 UTC (rev 294224) @@ -1,3 +1,17 @@ +2022-05-16 Martin Robinson + +Do not allow unitless values for CSS unprefixed perspective property +https://bugs.webkit.org/show_bug.cgi?id=104805 + + +Reviewed by Tim Nguyen. + +* platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: +* platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: +* platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: +* platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: +* platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: + 2022-05-15 Fujii Hironori [WinCairo] Unreviewed test gardening Modified: trunk/LayoutTests/imported/w3c/ChangeLog (294223 => 294224) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-05-16 07:26:25 UTC (rev 294223) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-05-16 08:14:46 UTC (rev 294224) @@ -1,3 +1,14 @@ +2022-05-16 Martin Robinson + +Do not allow unitless values for CSS unprefixed perspective property +https://bugs.webkit.org/show_bug.cgi?id=104805 + + +Reviewed by Tim Nguyen. + +* web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: +* web-platform-tests/quirks/unitless-length/excluded-properties-001-expected.txt: + 2022-05-13 Tim Nguyen [css-ui] Unexpose appearance property values already handled by appearance: auto Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt (294223 => 294224) ---
[webkit-changes] [293010] trunk/Source/JavaScriptCore
Title: [293010] trunk/Source/_javascript_Core Revision 293010 Author mrobin...@webkit.org Date 2022-04-19 01:48:16 -0700 (Tue, 19 Apr 2022) Log Message Fix the address sanitizer build when building with gcc https://bugs.webkit.org/show_bug.cgi?id=238869 Reviewed by Philippe Normand. * runtime/ConfigFile.cpp: (JSC::ConfigFile::ConfigFile): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/ConfigFile.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (293009 => 293010) --- trunk/Source/_javascript_Core/ChangeLog 2022-04-19 08:06:44 UTC (rev 293009) +++ trunk/Source/_javascript_Core/ChangeLog 2022-04-19 08:48:16 UTC (rev 293010) @@ -1,3 +1,13 @@ +2022-04-19 Martin Robinson + +Fix the address sanitizer build when building with gcc +https://bugs.webkit.org/show_bug.cgi?id=238869 + +Reviewed by Philippe Normand. + +* runtime/ConfigFile.cpp: +(JSC::ConfigFile::ConfigFile): + 2022-04-18 Yusuke Suzuki [JSC] Use constants buffer in DFG Modified: trunk/Source/_javascript_Core/runtime/ConfigFile.cpp (293009 => 293010) --- trunk/Source/_javascript_Core/runtime/ConfigFile.cpp 2022-04-19 08:06:44 UTC (rev 293009) +++ trunk/Source/_javascript_Core/runtime/ConfigFile.cpp 2022-04-19 08:48:16 UTC (rev 293010) @@ -243,7 +243,9 @@ if (!filename) m_filename[0] = '\0'; else { +IGNORE_GCC_WARNINGS_BEGIN("stringop-truncation") strncpy(m_filename, filename, s_maxPathLength); +IGNORE_GCC_WARNINGS_END m_filename[s_maxPathLength] = '\0'; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292953] trunk/LayoutTests
Title: [292953] trunk/LayoutTests Revision 292953 Author mrobin...@webkit.org Date 2022-04-18 05:35:13 -0700 (Mon, 18 Apr 2022) Log Message TestRunner testdriver does not properly focus elements before sending keys to them https://bugs.webkit.org/show_bug.cgi?id=237589 Reviewed by Carlos Garcia Campos. LayoutTests/imported/w3c: * web-platform-tests/css/css-scroll-snap/input/keyboard-expected.txt: * web-platform-tests/css/css-scroll-snap/input/keyboard.html: * web-platform-tests/css/css-scroll-snap/input/snap-area-overflow-boundary-expected.txt: * web-platform-tests/css/css-scroll-snap/input/snap-area-overflow-boundary.html: * web-platform-tests/html/semantics/forms/input-change-event-properties-expected.txt: * web-platform-tests/html/semantics/forms/textfieldselection/selection-expected.txt: * web-platform-tests/html/semantics/forms/the-input-element/defaultValue-clobbering-expected.txt: * web-platform-tests/html/semantics/forms/the-input-element/email-set-value-expected.txt: * web-platform-tests/html/semantics/forms/the-input-element/maxlength-number-expected.txt: * web-platform-tests/html/semantics/forms/the-input-element/radio-double-activate-pseudo-expected.txt: * web-platform-tests/html/semantics/selectors/pseudo-classes/invalid-after-clone-expected.txt: * web-platform-tests/resources/testdriver-vendor.js: When sending keys, first focus the element in question. LayoutTests: * platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/input-change-event-properties-expected.txt: Added. * platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/invalid-after-clone-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/invalid-after-clone-expected.txt. * platform/ios/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/input-change-event-properties-expected.txt: Added. * platform/mac/imported/w3c/web-platform-tests/css/css-scroll-snap/input/keyboard-expected.txt: Added. * platform/mac/imported/w3c/web-platform-tests/css/selectors/focus-visible-008-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/input/keyboard-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/input/keyboard.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/input/snap-area-overflow-boundary-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/input/snap-area-overflow-boundary.html trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/input-change-event-properties-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/defaultValue-clobbering-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/email-set-value-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/maxlength-number-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/radio-double-activate-pseudo-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/invalid-after-clone-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/resources/testdriver-vendor.js trunk/LayoutTests/platform/ios/TestExpectations trunk/LayoutTests/platform/mac/imported/w3c/web-platform-tests/css/selectors/focus-visible-008-expected.txt trunk/LayoutTests/platform/mac-wk1/TestExpectations Added Paths trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/input-change-event-properties-expected.txt trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/ trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/ trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/selectors/ trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/ trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/invalid-after-clone-expected.txt trunk/LayoutTests/platform/mac/imported/w3c/web-platform-tests/css/css-scroll-snap/ trunk/LayoutTests/platform/mac/imported/w3c/web-platform-tests/css/css-scroll-snap/input/ trunk/LayoutTests/platform/mac/imported/w3c/web-platform-tests/css/css-scroll-snap/input/keyboard-expected.txt trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/input-change-event-properties-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (292952 => 292953) --- trunk/LayoutTests/ChangeLog 2022-04-18 11:47:39 UTC (rev 292952) +++ trunk/LayoutTests/ChangeLog 2022-04-18 12:35:13 UTC (rev 292953)
[webkit-changes] [292901] trunk/Source/WebCore
Title: [292901] trunk/Source/WebCore Revision 292901 Author mrobin...@webkit.org Date 2022-04-14 23:08:27 -0700 (Thu, 14 Apr 2022) Log Message [GTK] AddressSanitizer: heap-buffer-overflow in WebCore::Length::ref() https://bugs.webkit.org/show_bug.cgi?id=237389 Reviewed by Žan Doberšek. * platform/graphics/nicosia/NicosiaAnimation.cpp: (Nicosia::createThreadsafeKeyFrames): Convert Length members of transform functions to the fixed variety before they are moved to separate threads. (Nicosia::Animation::Animation): Use the new helper. * platform/graphics/transforms/TranslateTransformOperation.h: Added setters. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/nicosia/NicosiaAnimation.cpp trunk/Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.h Diff Modified: trunk/Source/WebCore/ChangeLog (292900 => 292901) --- trunk/Source/WebCore/ChangeLog 2022-04-15 05:54:49 UTC (rev 292900) +++ trunk/Source/WebCore/ChangeLog 2022-04-15 06:08:27 UTC (rev 292901) @@ -1,3 +1,16 @@ +2022-04-14 Martin Robinson + +[GTK] AddressSanitizer: heap-buffer-overflow in WebCore::Length::ref() +https://bugs.webkit.org/show_bug.cgi?id=237389 + +Reviewed by Žan Doberšek. + +* platform/graphics/nicosia/NicosiaAnimation.cpp: +(Nicosia::createThreadsafeKeyFrames): Convert Length members of transform functions to +the fixed variety before they are moved to separate threads. +(Nicosia::Animation::Animation): Use the new helper. +* platform/graphics/transforms/TranslateTransformOperation.h: Added setters. + 2022-04-14 Zan Dobersek Unreviewed build fix for GTK and WPE. Modified: trunk/Source/WebCore/platform/graphics/nicosia/NicosiaAnimation.cpp (292900 => 292901) --- trunk/Source/WebCore/platform/graphics/nicosia/NicosiaAnimation.cpp 2022-04-15 05:54:49 UTC (rev 292900) +++ trunk/Source/WebCore/platform/graphics/nicosia/NicosiaAnimation.cpp 2022-04-15 06:08:27 UTC (rev 292901) @@ -21,6 +21,7 @@ #include "NicosiaAnimation.h" #include "LayoutSize.h" +#include "TranslateTransformOperation.h" namespace Nicosia { @@ -138,9 +139,35 @@ return CubicBezierTimingFunction::defaultTimingFunction(); } +static KeyframeValueList createThreadsafeKeyFrames(const KeyframeValueList& originalKeyframes, const FloatSize& boxSize) +{ +if (originalKeyframes.property() != AnimatedPropertyTransform) +return originalKeyframes; + +// Currently translation operations are the only transform operations that store a non-fixed +// Length. Some Lengths, in particular those for calc() operations, are not thread-safe or +// multiprocess safe, because they maintain indices into a shared HashMap of CalculationValues. +// This code converts all possible unsafe Length parameters to fixed Lengths, which are safe to +// use in other threads and across IPC channels. +KeyframeValueList keyframes = originalKeyframes; +for (unsigned i = 0; i < keyframes.size(); i++) { +const auto& transformValue = static_cast(keyframes.at(i)); +for (auto& operation : transformValue.value().operations()) { +if (is(operation)) { +TranslateTransformOperation* translation = static_cast(operation.get()); +translation->setX(Length(translation->xAsFloat(boxSize), LengthType::Fixed)); +translation->setY(Length(translation->yAsFloat(boxSize), LengthType::Fixed)); +translation->setZ(Length(translation->zAsFloat(), LengthType::Fixed)); +} +} +} + +return keyframes; +} + Animation::Animation(const String& name, const KeyframeValueList& keyframes, const FloatSize& boxSize, const WebCore::Animation& animation, MonotonicTime startTime, Seconds pauseTime, AnimationState state) : m_name(name.isSafeToSendToAnotherThread() ? name : name.isolatedCopy()) -, m_keyframes(keyframes) +, m_keyframes(createThreadsafeKeyFrames(keyframes, boxSize)) , m_boxSize(boxSize) , m_timingFunction(animation.timingFunction()->clone()) , m_iterationCount(animation.iterationCount()) Modified: trunk/Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.h (292900 => 292901) --- trunk/Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.h 2022-04-15 05:54:49 UTC (rev 292900) +++ trunk/Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.h 2022-04-15 06:08:27 UTC (rev 292901) @@ -58,6 +58,10 @@ Length y() const { return m_y; } Length z() const { return m_z; } +void setX(Length newX) { m_x = newX; } +void setY(Length newY) { m_y = newY; } +void setZ(Length newZ) { m_z = newZ; } + OperationType primitiveType() const final { return isRepresentableIn2D() ? TRANSLATE : TRANSLATE_3D; } bool apply(TransformationMatrix& transform, const FloatSize& borderBoxSize) const final
[webkit-changes] [292528] trunk
Title: [292528] trunk Revision 292528 Author mrobin...@webkit.org Date 2022-04-07 03:57:36 -0700 (Thu, 07 Apr 2022) Log Message [GTK] Turning on the address sanitizer should disable GIR and documentation https://bugs.webkit.org/show_bug.cgi?id=238868 Reviewed by Adrian Perez de Castro. * Source/cmake/OptionsGTK.cmake: Disable documentation when the address sanitizer is on. Documentation depends on GIR. Also fix the adjustment of the documentation setting when building on Mac. This also has to happen before the call to find_package(GI). Modified Paths trunk/ChangeLog trunk/Source/cmake/OptionsGTK.cmake Diff Modified: trunk/ChangeLog (292527 => 292528) --- trunk/ChangeLog 2022-04-07 10:15:35 UTC (rev 292527) +++ trunk/ChangeLog 2022-04-07 10:57:36 UTC (rev 292528) @@ -1,3 +1,15 @@ +2022-04-07 Martin Robinson + +[GTK] Turning on the address sanitizer should disable GIR and documentation +https://bugs.webkit.org/show_bug.cgi?id=238868 + +Reviewed by Adrian Perez de Castro. + +* Source/cmake/OptionsGTK.cmake: Disable documentation when the address +sanitizer is on. Documentation depends on GIR. Also fix the adjustment +of the documentation setting when building on Mac. This also has to +happen before the call to find_package(GI). + 2022-04-04 Stephan Szabo [PlayStation] Re-disable WebDriver Modified: trunk/Source/cmake/OptionsGTK.cmake (292527 => 292528) --- trunk/Source/cmake/OptionsGTK.cmake 2022-04-07 10:15:35 UTC (rev 292527) +++ trunk/Source/cmake/OptionsGTK.cmake 2022-04-07 10:57:36 UTC (rev 292528) @@ -276,6 +276,12 @@ SET_AND_EXPOSE_TO_BUILD(HAVE_GTK_UNIX_PRINTING ${GTK_UNIX_PRINT_FOUND}) SET_AND_EXPOSE_TO_BUILD(HAVE_OS_DARK_MODE_SUPPORT 1) +# https://bugs.webkit.org/show_bug.cgi?id=182247 +if (ENABLED_COMPILER_SANITIZERS) +set(ENABLE_INTROSPECTION OFF) +set(ENABLE_DOCUMENTATION OFF) +endif () + # GUri is available in GLib since version 2.66, but we only want to use it if version is >= 2.67.1. if (PC_GLIB_VERSION VERSION_GREATER "2.67.1" OR PC_GLIB_VERSION STREQUAL "2.67.1") SET_AND_EXPOSE_TO_BUILD(HAVE_GURI 1) @@ -494,11 +500,6 @@ endif () endif () -# https://bugs.webkit.org/show_bug.cgi?id=182247 -if (ENABLED_COMPILER_SANITIZERS) -set(ENABLE_INTROSPECTION OFF) -endif () - # Override the cached variable, gtk-doc does not really work when building on Mac. if (APPLE) set(ENABLE_GTKDOC OFF) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290667] trunk
Title: [290667] trunk Revision 290667 Author mrobin...@webkit.org Date 2022-03-01 12:01:25 -0800 (Tue, 01 Mar 2022) Log Message When interpolating between transform lists partial prefix matches should not use matrix interpolation https://bugs.webkit.org/show_bug.cgi?id=235757 Reviewed by Dean Jackson. LayoutTests/imported/w3c: * web-platform-tests/css/css-transforms/animation/list-interpolation-expected.txt: Mark subtests as passing. * web-platform-tests/css/css-transforms/animation/transform-composition-expected.txt: Ditto. * web-platform-tests/css/css-transforms/animation/transform-interpolation-004-expected.txt: Ditto. Source/WebCore: No new tests. This is covered by existing WPT tests. When interpolation between keyframes in transform animations, interpolate prefixes of compatible transform functions directly. For instance if there are three keyframes: 1. transform: rotateX(...) translateY(...) skew(...) 2. transform: rotateY(...) translateY(...) 3. transform: rotateZ(...) translateZ(...) matrix3d(...) There will be a directly interpolated rotation animation, a directly interpolated translation animation, and finally a matrix animation for the remaining functions. This is important for preserving transforms (such as full rotations) that are lost during matrix decompose and recompose operations. This change adds a new helper class SharedPrimitivesPrefix which is used to calculate the prefix of shared primitives that are shared between keyframes. Currently, the Core Animation backend only supports animation transformation primitives across the entire animation, so shared primitive prefixes must span the entire animation if an animation is accelerated. In the case that an animation is rendered in software, this prefix can simply be between the current next and previous keyframes. TransformOperations::blend is extended to blend any two TransformationOperations, which makes it the only blend function necessary for software animations, computed CSS values, and for the Nicosia backend, simplifying the interpolation code path. * animation/CSSPropertyAnimation.cpp: (WebCore::blendFunc): * animation/CSSPropertyBlendingClient.h: * animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::checkForMatchingTransformFunctionLists): (WebCore::KeyframeEffect::computeExtentOfTransformAnimation const): * animation/KeyframeEffect.h: * platform/graphics/GraphicsLayer.cpp: (WebCore::operationsAt): Deleted. (WebCore::GraphicsLayer::getSharedPrimitivesForTransformKeyframes): Deleted. * platform/graphics/GraphicsLayer.h: * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes): * platform/graphics/ca/GraphicsLayerCA.h: * platform/graphics/nicosia/NicosiaAnimation.cpp: (Nicosia::applyTransformAnimation): (Nicosia::Animation::Animation): (Nicosia::Animation::operator=): (Nicosia::Animation::applyInternal): * platform/graphics/nicosia/NicosiaAnimation.h: * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: (WebCore::GraphicsLayerTextureMapper::addAnimation): * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: (WebCore::CoordinatedGraphicsLayer::addAnimation): * platform/graphics/transforms/TransformOperations.cpp: (WebCore::SharedPrimitivesPrefix::update): (WebCore::TransformOperations::blend const): (WebCore::TransformOperations::createBlendedMatrixOperationFromOperationsSuffix const): (WebCore::TransformOperations::operationsMatch const): Deleted. (WebCore::TransformOperations::updateSharedPrimitives const): Deleted. (WebCore::TransformOperations::blendByMatchingOperations const): Deleted. (WebCore::TransformOperations::blendByUsingMatrixInterpolation const): Deleted. * platform/graphics/transforms/TransformOperations.h: (WebCore::TransformOperations::apply const): (WebCore::SharedPrimitivesPrefix::hadIncompatibleTransformFunctions): (WebCore::SharedPrimitivesPrefix::primitives): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/list-interpolation-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-composition-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-004-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp trunk/Source/WebCore/animation/CSSPropertyBlendingClient.h trunk/Source/WebCore/animation/KeyframeEffect.cpp trunk/Source/WebCore/animation/KeyframeEffect.h trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp trunk/Source/WebCore/platform/graphics/GraphicsLayer.h trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h trunk/Source/WebCore/platform/graphics/nicosia/NicosiaAnimation.cpp
[webkit-changes] [290422] trunk
Title: [290422] trunk Revision 290422 Author mrobin...@webkit.org Date 2022-02-24 03:57:47 -0800 (Thu, 24 Feb 2022) Log Message Implement logical properties for CSS overscroll-behavior https://bugs.webkit.org/show_bug.cgi?id=237080 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt: Update expectations for passing tests. * web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical-expected.txt: Ditto. * web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-computed-expected.txt: Ditto. * web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-valid-expected.txt: Ditto. Source/WebCore: No new tests. This is covered by existing WPT tests. Add support for overscroll-behavior-block and overscroll-behavior-inline, the logical versions of the overscroll behavior properties. * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * css/CSSProperties.json: * css/parser/CSSParserContext.cpp: (WebCore::CSSParserContext::isPropertyRuntimeDisabled const): * css/parser/CSSParserFastPaths.cpp: (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue): (WebCore::CSSParserFastPaths::isKeywordPropertyID): * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-computed-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-valid-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp trunk/Source/WebCore/css/CSSProperties.json trunk/Source/WebCore/css/parser/CSSParserContext.cpp trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (290421 => 290422) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-24 11:13:46 UTC (rev 290421) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-24 11:57:47 UTC (rev 290422) @@ -1,3 +1,15 @@ +2022-02-24 Martin Robinson + +Implement logical properties for CSS overscroll-behavior +https://bugs.webkit.org/show_bug.cgi?id=237080 + +Reviewed by Simon Fraser. + +* web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt: Update expectations for passing tests. +* web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical-expected.txt: Ditto. +* web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-computed-expected.txt: Ditto. +* web-platform-tests/css/css-overscroll-behavior/parsing/overscroll-behavior-valid-expected.txt: Ditto. + 2022-02-23 Antti Koivisto [CSS Container Queries] offsetWidth/Height and similar should update layout for container queries Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt (290421 => 290422) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt 2022-02-24 11:13:46 UTC (rev 290421) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt 2022-02-24 11:57:47 UTC (rev 290422) @@ -1,8 +1,8 @@ -FAIL Property overscroll-behavior-block has initial value auto assert_true: overscroll-behavior-block doesn't seem to be supported in the computed style expected true got false -FAIL Property overscroll-behavior-block does not inherit assert_true: expected true got false -FAIL Property overscroll-behavior-inline has initial value auto assert_true: overscroll-behavior-inline doesn't seem to be supported in the computed style expected true got false -FAIL Property overscroll-behavior-inline does not inherit assert_true: expected true got false +PASS Property overscroll-behavior-block has initial value auto +PASS Property overscroll-behavior-block does not inherit +PASS Property overscroll-behavior-inline has initial value auto +PASS Property overscroll-behavior-inline does not inherit PASS Property overscroll-behavior-x has initial value auto PASS Property overscroll-behavior-x does not inherit PASS Property overscroll-behavior-y has initial value auto Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical-expected.txt (290421 => 290422) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-overscroll-behavior/overscroll-behavior-logical-expected.txt 2022-02-24 11:13:46 UTC (rev 290421) +++
[webkit-changes] [289903] trunk
Title: [289903] trunk Revision 289903 Author mrobin...@webkit.org Date 2022-02-16 10:08:58 -0800 (Wed, 16 Feb 2022) Log Message transform: perspective(0) should not be considered an identity operation https://bugs.webkit.org/show_bug.cgi?id=236644 Reviewed by Antoine Quint. LayoutTests/imported/w3c: * web-platform-tests/css/css-transforms/animation/transform-interpolation-verify-reftests-expected.txt: Update expectations. * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt: Source/WebCore: No new tests. This is covered by existing WPT tests. * platform/graphics/transforms/PerspectiveTransformOperation.h: When the value of a perspective operation is zero, it isn't an identity operation, because it will be rounded to 1px. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-verify-reftests-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/PerspectiveTransformOperation.h Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (289902 => 289903) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-16 18:04:21 UTC (rev 289902) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-16 18:08:58 UTC (rev 289903) @@ -1,3 +1,13 @@ +2022-02-16 Martin Robinson + +transform: perspective(0) should not be considered an identity operation +https://bugs.webkit.org/show_bug.cgi?id=236644 + +Reviewed by Antoine Quint. + +* web-platform-tests/css/css-transforms/animation/transform-interpolation-verify-reftests-expected.txt: Update expectations. +* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt: + 2022-02-16 Ziran Sun [InputElement] Remove extra form data made by image submit button when "value" attribute is present. Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-verify-reftests-expected.txt (289902 => 289903) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-verify-reftests-expected.txt 2022-02-16 18:04:21 UTC (rev 289902) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-verify-reftests-expected.txt 2022-02-16 18:08:58 UTC (rev 289903) @@ -161,12 +161,12 @@ PASS Web Animations: property from [perspective(0.1px) translateZ(0.25px)] to [perspective(0.1px) translateZ(0.25px)] at (0.5) should be [perspective(1px) translateZ(0.25px)] PASS CSS Transitions: property from [perspective(0px) translateZ(0.25px)] to [perspective(0px) translateZ(0.25px)] at (0.5) should be [perspective(1px) translateZ(0.25px)] PASS CSS Transitions with transition: all: property from [perspective(0px) translateZ(0.25px)] to [perspective(0px) translateZ(0.25px)] at (0.5) should be [perspective(1px) translateZ(0.25px)] -FAIL CSS Animations: property from [perspective(0px) translateZ(0.25px)] to [perspective(0px) translateZ(0.25px)] at (0.5) should be [perspective(1px) translateZ(0.25px)] assert_equals: expected "matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , - 1 , 0 , 0 , 0.25 , 0.75 ) " but got "matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0.25 , 1 ) " -FAIL Web Animations: property from [perspective(0px) translateZ(0.25px)] to [perspective(0px) translateZ(0.25px)] at (0.5) should be [perspective(1px) translateZ(0.25px)] assert_equals: expected "matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , - 1 , 0 , 0 , 0.25 , 0.75 ) " but got "matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0.25 , 1 ) " -FAIL CSS Transitions: property from [perspective(0px) translateZ(0.5px)] to [perspective(3px) translateZ(0.5px)] at (0.5) should be [perspective(1.5px) translateZ(0.5px)] assert_equals: expected "matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , - 0.67 , 0 , 0 , 0.5 , 0.67 ) " but got "matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , - 0.17 , 0 , 0 , 0.5 , 0.92 ) " -FAIL CSS Transitions with transition: all: property from [perspective(0px) translateZ(0.5px)] to [perspective(3px) translateZ(0.5px)] at (0.5) should be [perspective(1.5px) translateZ(0.5px)] assert_equals: expected "matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , - 0.67 , 0 , 0 , 0.5 , 0.67 ) " but got "matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , - 0.17 , 0 , 0 , 0.5 , 0.92 ) " -FAIL CSS Animations: property from [perspective(0px) translateZ(0.5px)] to [perspective(3px) translateZ(0.5px)] at (0.5) should be [perspective(1.5px) translateZ(0.5px)] assert_equals: expected "matrix3d ( 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , - 0.67 , 0 , 0 , 0.5 ,
[webkit-changes] [289810] trunk
Title: [289810] trunk Revision 289810 Author mrobin...@webkit.org Date 2022-02-15 06:53:00 -0800 (Tue, 15 Feb 2022) Log Message Scrolling while focusing an element should take into account scroll margin https://bugs.webkit.org/show_bug.cgi?id=235432 Reviewed by Simon Fraser. Source/WebCore: No new tests. This is covered by existing WPT tests. * page/FrameView.cpp: (WebCore::FrameView::scrollToFocusedElementInternal): Respect the scroll margin when focusing an element. LayoutTests: * TestExpectations: Mark two tests as passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/FrameView.cpp Diff Modified: trunk/LayoutTests/ChangeLog (289809 => 289810) --- trunk/LayoutTests/ChangeLog 2022-02-15 14:44:59 UTC (rev 289809) +++ trunk/LayoutTests/ChangeLog 2022-02-15 14:53:00 UTC (rev 289810) @@ -1,3 +1,12 @@ +2022-02-15 Martin Robinson + +Scrolling while focusing an element should take into account scroll margin +https://bugs.webkit.org/show_bug.cgi?id=235432 + +Reviewed by Simon Fraser. + +* TestExpectations: Mark two tests as passing. + 2022-02-15 Gabriel Nava Marino null ptr deref in WebCore::HTMLModelElement::enterFullscreen() Modified: trunk/LayoutTests/TestExpectations (289809 => 289810) --- trunk/LayoutTests/TestExpectations 2022-02-15 14:44:59 UTC (rev 289809) +++ trunk/LayoutTests/TestExpectations 2022-02-15 14:53:00 UTC (rev 289810) @@ -4605,11 +4605,9 @@ imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-snap-root-003.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-align-001.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-align-002.html [ ImageOnlyFailure ] -imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-align-003.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-snap-001.html [ ImageOnlyFailure ] imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-snap-002.html [ ImageOnlyFailure ] webkit.org/b/218325 imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-001.html [ Pass ImageOnlyFailure ] -webkit.org/b/218325 imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-003.html [ Pass ImageOnlyFailure ] # Cocoa-only http/tests/media/hls/hls-hdr-switch.html [ Skip ] Modified: trunk/Source/WebCore/ChangeLog (289809 => 289810) --- trunk/Source/WebCore/ChangeLog 2022-02-15 14:44:59 UTC (rev 289809) +++ trunk/Source/WebCore/ChangeLog 2022-02-15 14:53:00 UTC (rev 289810) @@ -1,3 +1,16 @@ +2022-02-15 Martin Robinson + +Scrolling while focusing an element should take into account scroll margin +https://bugs.webkit.org/show_bug.cgi?id=235432 + +Reviewed by Simon Fraser. + +No new tests. This is covered by existing WPT tests. + +* page/FrameView.cpp: +(WebCore::FrameView::scrollToFocusedElementInternal): Respect the scroll margin +when focusing an element. + 2022-02-15 Antoine Quint REGRESSION(r289216): Crash in DocumentTimeline::animationCanBeRemoved Modified: trunk/Source/WebCore/page/FrameView.cpp (289809 => 289810) --- trunk/Source/WebCore/page/FrameView.cpp 2022-02-15 14:44:59 UTC (rev 289809) +++ trunk/Source/WebCore/page/FrameView.cpp 2022-02-15 14:53:00 UTC (rev 289810) @@ -2440,7 +2440,7 @@ return; bool insideFixed; -LayoutRect absoluteBounds = renderer->absoluteAnchorRect(); +LayoutRect absoluteBounds = renderer->absoluteAnchorRectWithScrollMargin(); renderer->scrollRectToVisible(absoluteBounds, insideFixed, { m_selectionRevealModeForFocusedElement, ScrollAlignment::alignCenterIfNeeded, ScrollAlignment::alignCenterIfNeeded, ShouldAllowCrossOriginScrolling::No }); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [289732] trunk
Title: [289732] trunk Revision 289732 Author mrobin...@webkit.org Date 2022-02-14 06:03:06 -0800 (Mon, 14 Feb 2022) Log Message Animation from "scale()" to "scale() translate()" does not yield the expected result https://bugs.webkit.org/show_bug.cgi?id=222595 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/css/css-transforms/animation/list-interpolation-expected.txt: Mark tests as passing. * web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt: * web-platform-tests/css/css-transforms/animation/transform-interpolation-003-expected.txt: Source/WebCore: No new tests. This is covered by existing WPT tests. When blending two transform lists, where one list is longer than the other, extending the shorter list with identity transform functions. This is the behavior specified in the CSS Transforms Module Level 2 specification. * animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::checkForMatchingTransformFunctionLists): Instead of checking each frame against the first keyframe, collect a list of shared transform primitives and check that each list has the same number of compatible primitives or a prefix of compatible primitives and is shorter. * platform/graphics/GraphicsLayer.cpp: (WebCore::GraphicsLayer::getSharedPrimitivesForTransformKeyframes): When the transform operation lists have different sizes, don't always return false. Instead check that the parts that do exist have matching primitives. * platform/graphics/transforms/TransformOperations.cpp: (WebCore::TransformOperations::operationsMatch const): Only check the transformations in the shared list size. (WebCore::TransformOperations::blendByMatchingOperations const): Properly handle when one of the two operations is null instead of just the toOperation. LayoutTests: * compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt: * compositing/layer-creation/translate-scale-animation-overlap-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt trunk/LayoutTests/compositing/layer-creation/translate-scale-animation-overlap-expected.txt trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/list-interpolation-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-003-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/animation/KeyframeEffect.cpp trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp trunk/Source/WebCore/platform/graphics/transforms/TransformOperations.cpp trunk/Source/WebCore/platform/graphics/transforms/TransformOperations.h Diff Modified: trunk/LayoutTests/ChangeLog (289731 => 289732) --- trunk/LayoutTests/ChangeLog 2022-02-14 13:04:06 UTC (rev 289731) +++ trunk/LayoutTests/ChangeLog 2022-02-14 14:03:06 UTC (rev 289732) @@ -1,3 +1,14 @@ +2022-02-14 Martin Robinson + +Animation from "scale()" to "scale() translate()" does not yield the expected result +https://bugs.webkit.org/show_bug.cgi?id=222595 + + +Reviewed by Simon Fraser. + +* compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt: +* compositing/layer-creation/translate-scale-animation-overlap-expected.txt: + 2022-02-13 Fujii Hironori Delete fast/animation/request-animation-frame-disabled.html after RequestAnimationFrameEnabled setting is deleted Modified: trunk/LayoutTests/compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt (289731 => 289732) --- trunk/LayoutTests/compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt 2022-02-14 13:04:06 UTC (rev 289731) +++ trunk/LayoutTests/compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt 2022-02-14 14:03:06 UTC (rev 289732) @@ -5,7 +5,7 @@ (GraphicsLayer (bounds 800.00 600.00) (contentsOpaque 1) - (children 783 + (children 800 (GraphicsLayer (offsetFromRenderer width=-14 height=-14) (position 34.00 66.00) @@ -14,11 +14,6 @@ (drawsContent 1) ) (GraphicsLayer - (position 20.00 30.00) - (bounds 4.00 4.00) - (contentsOpaque 1) -) -(GraphicsLayer (position 30.00 30.00) (bounds 4.00 4.00) (contentsOpaque 1) @@ -244,11 +239,16 @@ (contentsOpaque 1) ) (GraphicsLayer - (position 20.00 40.00) + (position 480.00 30.00) (bounds 4.00 4.00) (contentsOpaque 1)
[webkit-changes] [289523] trunk/LayoutTests
Title: [289523] trunk/LayoutTests Revision 289523 Author mrobin...@webkit.org Date 2022-02-10 01:07:04 -0800 (Thu, 10 Feb 2022) Log Message [macOS arm64] imported/w3c/web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html is consistently failing https://bugs.webkit.org/show_bug.cgi?id=235084 Reviewed by Simon Fraser. LayoutTests/imported/w3c: Update pixel tolerances for some tests from the WPT transforms suite, fixing them on Mac and on Glib-based ports. * web-platform-tests/css/css-transforms/2d-rotate-001.html: * web-platform-tests/css/css-transforms/group/svg-transform-nested-009.html: * web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html: * web-platform-tests/css/css-transforms/preserve3d-and-filter-with-perspective.html: * web-platform-tests/css/css-transforms/skew-test1.html: * web-platform-tests/css/css-transforms/transform-background-001.html: * web-platform-tests/css/css-transforms/transform-background-002.html: * web-platform-tests/css/css-transforms/transform-table-009.html: * web-platform-tests/css/css-transforms/transform-table-010.html: * web-platform-tests/css/css-transforms/transform-table-011.html: * web-platform-tests/css/css-transforms/transforms-skewX.html: LayoutTests: * platform/glib/TestExpectations: Unskip newly passing tests. * platform/mac/TestExpectations: Ditto. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/2d-rotate-001.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/group/svg-transform-nested-009.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/preserve3d-and-filter-with-perspective.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/skew-test1.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/transform-background-001.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/transform-background-002.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/transform-table-009.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/transform-table-010.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/transform-table-011.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/transforms-skewX.html trunk/LayoutTests/platform/glib/TestExpectations trunk/LayoutTests/platform/mac/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (289522 => 289523) --- trunk/LayoutTests/ChangeLog 2022-02-10 08:17:01 UTC (rev 289522) +++ trunk/LayoutTests/ChangeLog 2022-02-10 09:07:04 UTC (rev 289523) @@ -1,3 +1,14 @@ +2022-02-10 Martin Robinson + +[macOS arm64] imported/w3c/web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html is consistently failing +https://bugs.webkit.org/show_bug.cgi?id=235084 + + +Reviewed by Simon Fraser. + +* platform/glib/TestExpectations: Unskip newly passing tests. +* platform/mac/TestExpectations: Ditto. + 2022-02-09 Diego Pino Garcia [WPE] Mark several WPT SVG import filter tests as failure Modified: trunk/LayoutTests/imported/w3c/ChangeLog (289522 => 289523) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-10 08:17:01 UTC (rev 289522) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-10 09:07:04 UTC (rev 289523) @@ -1,3 +1,26 @@ +2022-02-10 Martin Robinson + +[macOS arm64] imported/w3c/web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html is consistently failing +https://bugs.webkit.org/show_bug.cgi?id=235084 + + +Reviewed by Simon Fraser. + +Update pixel tolerances for some tests from the WPT transforms suite, +fixing them on Mac and on Glib-based ports. + +* web-platform-tests/css/css-transforms/2d-rotate-001.html: +* web-platform-tests/css/css-transforms/group/svg-transform-nested-009.html: +* web-platform-tests/css/css-transforms/perspective-transforms-equivalence.html: +* web-platform-tests/css/css-transforms/preserve3d-and-filter-with-perspective.html: +* web-platform-tests/css/css-transforms/skew-test1.html: +* web-platform-tests/css/css-transforms/transform-background-001.html: +* web-platform-tests/css/css-transforms/transform-background-002.html: +* web-platform-tests/css/css-transforms/transform-table-009.html: +* web-platform-tests/css/css-transforms/transform-table-010.html: +* web-platform-tests/css/css-transforms/transform-table-011.html: +* web-platform-tests/css/css-transforms/transforms-skewX.html: + 2022-02-10 Manuel Rego Casasnovas :focus-visible with click on radio/checkbox labels is broken
[webkit-changes] [289470] trunk/Tools
Title: [289470] trunk/Tools Revision 289470 Author mrobin...@webkit.org Date 2022-02-09 07:58:58 -0800 (Wed, 09 Feb 2022) Log Message [Flatpak SDK] Add a wrapper for clangd https://bugs.webkit.org/show_bug.cgi?id=236240 Reviewed by Philippe Normand. * flatpak/flatpakutils.py: Refactor this file so that the build constants can be reused in the new script. (convert_webkit_source_path_to_sandbox_path): (convert_sandbox_path_to_webkit_source_path): (get_build_dir): (WebkitFlatpak.__init__): (WebkitFlatpak.clean_args): (WebkitFlatpak.setup_gstbuild): (WebkitFlatpak.is_build_jsc): (WebkitFlatpak.run_in_sandbox): (WebkitFlatpak.main): (WebkitFlatpak.check_toolchains_generated): (WebkitFlatpak.pack_toolchain): (WebkitFlatpak.host_path_to_sandbox_path): Deleted. (WebkitFlatpak.sandbox_path_to_host_path): Deleted. * flatpak/webkit-clangd: Added. Modified Paths trunk/Tools/ChangeLog trunk/Tools/flatpak/flatpakutils.py Added Paths trunk/Tools/flatpak/webkit-clangd Diff Modified: trunk/Tools/ChangeLog (289469 => 289470) --- trunk/Tools/ChangeLog 2022-02-09 15:13:24 UTC (rev 289469) +++ trunk/Tools/ChangeLog 2022-02-09 15:58:58 UTC (rev 289470) @@ -1,3 +1,27 @@ +2022-02-09 Martin Robinson + +[Flatpak SDK] Add a wrapper for clangd +https://bugs.webkit.org/show_bug.cgi?id=236240 + +Reviewed by Philippe Normand. + +* flatpak/flatpakutils.py: Refactor this file so that the build constants can be +reused in the new script. +(convert_webkit_source_path_to_sandbox_path): +(convert_sandbox_path_to_webkit_source_path): +(get_build_dir): +(WebkitFlatpak.__init__): +(WebkitFlatpak.clean_args): +(WebkitFlatpak.setup_gstbuild): +(WebkitFlatpak.is_build_jsc): +(WebkitFlatpak.run_in_sandbox): +(WebkitFlatpak.main): +(WebkitFlatpak.check_toolchains_generated): +(WebkitFlatpak.pack_toolchain): +(WebkitFlatpak.host_path_to_sandbox_path): Deleted. +(WebkitFlatpak.sandbox_path_to_host_path): Deleted. +* flatpak/webkit-clangd: Added. + 2022-02-09 Angelos Oikonomopoulos Allow hanging run-_javascript_core-tests to print backtrace Modified: trunk/Tools/flatpak/flatpakutils.py (289469 => 289470) --- trunk/Tools/flatpak/flatpakutils.py 2022-02-09 15:13:24 UTC (rev 289469) +++ trunk/Tools/flatpak/flatpakutils.py 2022-02-09 15:58:58 UTC (rev 289470) @@ -35,6 +35,9 @@ import re import platform +SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__)) +WEBKIT_SOURCE_DIR = os.path.normpath(os.path.abspath(os.path.join(SCRIPT_DIR, "..", ".."))) +sys.path.insert(0, os.path.join(WEBKIT_SOURCE_DIR, "Tools", "Scripts")) from webkitpy.common.system.logutils import configure_logging from webkitcorepy import string_utils import toml @@ -59,12 +62,21 @@ FLATPAK_REQUIRED_VERSION = "1.4.4" -scriptdir = os.path.abspath(os.path.dirname(__file__)) _log = logging.getLogger(__name__) -FLATPAK_USER_DIR_PATH = os.path.realpath(os.path.join(scriptdir, "../../WebKitBuild", "UserFlatpak")) +BUILD_ROOT_DIR_NAME = 'WebKitBuild' + +# This path doesn't take $WEBKIT_OUTPUTDIR in account because the standalone toolchains +# paths depend on it and those are also hard-coded in the generated sccache config. +DEFAULT_BUILD_ROOT = os.path.join(WEBKIT_SOURCE_DIR, BUILD_ROOT_DIR_NAME) +BUILD_ROOT = os.path.join(os.environ.get("WEBKIT_OUTPUTDIR", WEBKIT_SOURCE_DIR), BUILD_ROOT_DIR_NAME) +FLATPAK_USER_DIR_PATH = os.path.realpath(os.path.join(DEFAULT_BUILD_ROOT, "UserFlatpak")) + DEFAULT_SCCACHE_SCHEDULER='https://sccache.igalia.com' +# Where the source folder is mounted inside the sandbox. +SANDBOX_SOURCE_ROOT = "/app/webkit" + # Our SDK branch matches with the FDO SDK branch. When updating the FDO SDK release branch # in our SDK build definitions please don't forget to update the version here as well. SDK_BRANCH = "21.08" @@ -198,6 +210,20 @@ return current_version +def convert_webkit_source_path_to_sandbox_path(source_path): +'''Convert a path in the WebKit source directory to the same path in the + sandboxed source diretory. ''' +return source_path.replace(WEBKIT_SOURCE_DIR, SANDBOX_SOURCE_ROOT) + + +def convert_sandbox_path_to_webkit_source_path(sandbox_path): +# For now this supports only files in the /app/webkit path +return sandbox_path.replace(SANDBOX_SOURCE_ROOT, WEBKIT_SOURCE_DIR) + + +def get_build_dir(platform, build_type): +return os.path.join(BUILD_ROOT, platform, build_type) + class FlatpakObject: def __init__(self, user): @@ -523,12 +549,7 @@ self.release = False self.debug = False -self.source_root = os.path.normpath(os.path.abspath(os.path.join(scriptdir, '../../'))) -# Where the source folder is mounted inside the sandbox. -self.sandbox_source_root = "/app/webkit" -self.base_build_dir = 'WebKitBuild' - self.build_gst = False self.platform
[webkit-changes] [289219] trunk/Source/WebCore
Title: [289219] trunk/Source/WebCore Revision 289219 Author mrobin...@webkit.org Date 2022-02-07 07:30:26 -0800 (Mon, 07 Feb 2022) Log Message Fix some compilation warnings coming from unhandled execution paths for unexpected enum values https://bugs.webkit.org/show_bug.cgi?id=236228 Reviewed by Darin Adler. No new tests. This should not change behavior. * animation/CompositeOperationOrAuto.h: (WebCore::toCompositeOperationOrAuto): * bindings/js/JSCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSCSSTransformComponentCustom.cpp: (WebCore::toJSNewlyCreated): * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForAnimationComposition): * css/CSSUnits.cpp: (WebCore::unitCategory): (WebCore::canonicalUnitTypeForCategory): * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: (WebCore::LibWebRTCProvider::receiverCapabilities): (WebCore::LibWebRTCProvider::senderCapabilities): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CompositeOperationOrAuto.h trunk/Source/WebCore/bindings/js/JSCSSStyleValueCustom.cpp trunk/Source/WebCore/bindings/js/JSCSSTransformComponentCustom.cpp trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp trunk/Source/WebCore/css/CSSUnits.cpp trunk/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (289218 => 289219) --- trunk/Source/WebCore/ChangeLog 2022-02-07 15:27:16 UTC (rev 289218) +++ trunk/Source/WebCore/ChangeLog 2022-02-07 15:30:26 UTC (rev 289219) @@ -1,3 +1,27 @@ +2022-02-07 Martin Robinson + +Fix some compilation warnings coming from unhandled execution paths for unexpected enum values +https://bugs.webkit.org/show_bug.cgi?id=236228 + +Reviewed by Darin Adler. + +No new tests. This should not change behavior. + +* animation/CompositeOperationOrAuto.h: +(WebCore::toCompositeOperationOrAuto): +* bindings/js/JSCSSStyleValueCustom.cpp: +(WebCore::toJSNewlyCreated): +* bindings/js/JSCSSTransformComponentCustom.cpp: +(WebCore::toJSNewlyCreated): +* css/CSSComputedStyleDeclaration.cpp: +(WebCore::valueForAnimationComposition): +* css/CSSUnits.cpp: +(WebCore::unitCategory): +(WebCore::canonicalUnitTypeForCategory): +* platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: +(WebCore::LibWebRTCProvider::receiverCapabilities): +(WebCore::LibWebRTCProvider::senderCapabilities): + 2022-02-07 Antoine Quint [css-logical] [web-animations] Add support for logical properties in JS-originated animations Modified: trunk/Source/WebCore/animation/CompositeOperationOrAuto.h (289218 => 289219) --- trunk/Source/WebCore/animation/CompositeOperationOrAuto.h 2022-02-07 15:27:16 UTC (rev 289218) +++ trunk/Source/WebCore/animation/CompositeOperationOrAuto.h 2022-02-07 15:30:26 UTC (rev 289219) @@ -41,6 +41,8 @@ case CompositeOperation::Accumulate: return CompositeOperationOrAuto::Accumulate; } +ASSERT_NOT_REACHED(); +return CompositeOperationOrAuto::Auto; } } // namespace WebCore Modified: trunk/Source/WebCore/bindings/js/JSCSSStyleValueCustom.cpp (289218 => 289219) --- trunk/Source/WebCore/bindings/js/JSCSSStyleValueCustom.cpp 2022-02-07 15:27:16 UTC (rev 289218) +++ trunk/Source/WebCore/bindings/js/JSCSSStyleValueCustom.cpp 2022-02-07 15:30:26 UTC (rev 289219) @@ -58,6 +58,9 @@ case CSSStyleValueType::CSSStyleValue: return createWrapper(globalObject, WTFMove(value)); } + +ASSERT_NOT_REACHED(); +return createWrapper(globalObject, WTFMove(value)); } JSValue toJS(JSGlobalObject* lexicalGlobalObject, JSDOMGlobalObject* globalObject, CSSStyleValue& object) Modified: trunk/Source/WebCore/bindings/js/JSCSSTransformComponentCustom.cpp (289218 => 289219) --- trunk/Source/WebCore/bindings/js/JSCSSTransformComponentCustom.cpp 2022-02-07 15:27:16 UTC (rev 289218) +++ trunk/Source/WebCore/bindings/js/JSCSSTransformComponentCustom.cpp 2022-02-07 15:30:26 UTC (rev 289219) @@ -63,6 +63,8 @@ case CSSTransformType::Translate: return createWrapper(globalObject, WTFMove(value)); } +ASSERT_NOT_REACHED(); +return createWrapper(globalObject, WTFMove(value)); } JSValue toJS(JSGlobalObject* lexicalGlobalObject, JSDOMGlobalObject* globalObject, CSSTransformComponent& object) Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (289218 => 289219) --- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2022-02-07 15:27:16 UTC (rev 289218) +++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2022-02-07 15:30:26 UTC (rev 289219) @@ -1388,6 +1388,7 @@ case CompositeOperation::Replace: return CSSValuePool::singleton().createIdentifierValue(CSSValueReplace); } +RELEASE_ASSERT_NOT_REACHED(); } static Ref valueForAnimationPlayState(AnimationPlayState playState) Modified:
[webkit-changes] [289032] trunk
Title: [289032] trunk Revision 289032 Author mrobin...@webkit.org Date 2022-02-03 00:35:59 -0800 (Thu, 03 Feb 2022) Log Message Transform interpolation should blend between shared transform function primitives https://bugs.webkit.org/show_bug.cgi?id=235311 Reviewed by Simon Fraser. LayoutTests/imported/w3c: Mark some tests as newly passing. * web-platform-tests/css/css-transforms/animation/list-interpolation-expected.txt: * web-platform-tests/css/css-transforms/animation/matrix-interpolation-expected.txt: * web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt: * web-platform-tests/css/css-transforms/animation/transform-interpolation-002-expected.txt: * web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt: * web-platform-tests/css/css-transforms/animation/transform-interpolation-verify-reftests-expected.txt: * web-platform-tests/css/css-transforms/animation/transform-translate-composition-expected.txt: Source/WebCore: No new tests. This is covered by existing WPT tests. Allow direct interpolation between mismatching transform functions that share a primitive. This fixes many tests expecting a certain computed transformation matrix in WPT, but also allows using hardware animations more often for the CoreAnimation backend. Rotation, scale, and translate are the only functions that have shared primitives, so they are the only ones in this change to allow for this new behavior. When determining if a list of keyframes has shared compatible lists of transforms, return the vector of primitives that can represent them. In addition code for calculating big rotations has been removed, because it was unused. * platform/graphics/GraphicsLayer.cpp: (WebCore::gSharedPrimitivesForTransformKeyframe): Added. (WebCore::GraphicsLayer::getSharedPrimitivesForTransformKeyframes): Added. * platform/graphics/GraphicsLayer.h: * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Modified to take a vector of shared primitive types instead of a pointer to an array of operations. (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): * platform/graphics/ca/GraphicsLayerCA.h: * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: (WebCore::GraphicsLayerTextureMapper::addAnimation): Use new method. * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: (WebCore::CoordinatedGraphicsLayer::addAnimation): Ditto. * platform/graphics/transforms/Matrix3DTransformOperation.cpp: (WebCore::Matrix3DTransformOperation::blend): Use the new sharedPrimitiveType method to determine if the two operations can blend. * platform/graphics/transforms/MatrixTransformOperation.cpp: (WebCore::MatrixTransformOperation::blend): Ditto. * platform/graphics/transforms/PerspectiveTransformOperation.cpp: (WebCore::PerspectiveTransformOperation::blend): Ditto. * platform/graphics/transforms/RotateTransformOperation.cpp: (WebCore::RotateTransformOperation::blend): Ditto. * platform/graphics/transforms/RotateTransformOperation.h: * platform/graphics/transforms/ScaleTransformOperation.cpp: (WebCore::ScaleTransformOperation::blend): Ditto. * platform/graphics/transforms/ScaleTransformOperation.h: * platform/graphics/transforms/SkewTransformOperation.cpp: (WebCore::SkewTransformOperation::blend): Ditto. * platform/graphics/transforms/TransformOperation.cpp: (WebCore::TransformOperation::sharedPrimitiveType const): * platform/graphics/transforms/TransformOperation.h: (WebCore::TransformOperation::primitiveType const): Added this virtual function which return the type for the base class. Rotation, scale, and translate specialize this to return a compatible primitive type. * platform/graphics/transforms/TransformOperations.cpp: (WebCore::TransformOperations::operationsMatch const): Modified to check whether operations share primitives. * platform/graphics/transforms/TranslateTransformOperation.cpp: (WebCore::TranslateTransformOperation::blend): Use the new sharedPrimitiveType method. * platform/graphics/transforms/TranslateTransformOperation.h: LayoutTests: Remove a duplicated baseline. * platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt: Removed. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/list-interpolation-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/matrix-interpolation-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-001-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-002-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt
[webkit-changes] [288947] trunk
Title: [288947] trunk Revision 288947 Author mrobin...@webkit.org Date 2022-02-02 01:12:57 -0800 (Wed, 02 Feb 2022) Log Message scroll-margin-top doesn't work on inline elements https://bugs.webkit.org/show_bug.cgi?id=235933 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/css/css-scroll-snap/scroll-target-margin-006-expected.txt: Added. * web-platform-tests/css/css-scroll-snap/scroll-target-margin-006.html: Added. Source/WebCore: Test: imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-005.html Move the implementation of absoluteAnchorRectWithScrollMargin which actually processes the CSS scroll-margin property to RenderElement. This allows it to be used for inline as well as block elements. The specification says it should apply to both. The box sizes passed in here do not matter too much, because the Length should never be a percentage. * rendering/RenderBox.cpp: (WebCore::RenderBox::absoluteAnchorRectWithScrollMargin const): Deleted. * rendering/RenderBox.h: * rendering/RenderElement.cpp: (WebCore::RenderElement::absoluteAnchorRectWithScrollMargin const): * rendering/RenderElement.h: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBox.cpp trunk/Source/WebCore/rendering/RenderBox.h trunk/Source/WebCore/rendering/RenderElement.cpp trunk/Source/WebCore/rendering/RenderElement.h Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-006-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-006.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (288946 => 288947) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-02 08:40:41 UTC (rev 288946) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-02 09:12:57 UTC (rev 288947) @@ -1,3 +1,14 @@ +2022-02-02 Martin Robinson + +scroll-margin-top doesn't work on inline elements +https://bugs.webkit.org/show_bug.cgi?id=235933 + + +Reviewed by Simon Fraser. + +* web-platform-tests/css/css-scroll-snap/scroll-target-margin-006-expected.txt: Added. +* web-platform-tests/css/css-scroll-snap/scroll-target-margin-006.html: Added. + 2022-02-01 Antti Koivisto [CSS Container Queries] Ensure query containers have valid layout before resolving the subtree Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-006-expected.txt (0 => 288947) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-006-expected.txt (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-006-expected.txt 2022-02-02 09:12:57 UTC (rev 288947) @@ -0,0 +1,4 @@ + TARGETTARGETTARGETTARGET + +PASS scroll-margin is taken into account when scrolling an inline element into view + Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-006.html (0 => 288947) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-006.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-006.html 2022-02-02 09:12:57 UTC (rev 288947) @@ -0,0 +1,57 @@ + + +scrollIntoView() and scroll-margin applied to an inline element + + + + .container { +border: solid black 1px; +height: 40px; +width: 40px; +overflow: auto; + } + + ++ ++ ++ +TARGETTARGETTARGETTARGET + ++ +