Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 042baf1bcedc7f8b3ceefce31a7b813b040aa854
https://github.com/WebKit/WebKit/commit/042baf1bcedc7f8b3ceefce31a7b813b040aa854
Author: Phinehas Fuachie <[email protected]>
Date: 2025-11-18 (Tue, 18 Nov 2025)
Changed paths:
A LayoutTests/webaudio/AudioParam/exponential-ramp-crash-expected.txt
A LayoutTests/webaudio/AudioParam/exponential-ramp-crash.html
M Source/WebCore/Modules/webaudio/AudioParamTimeline.cpp
M Source/WebCore/Modules/webaudio/AudioParamTimeline.h
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
A Tools/TestWebKitAPI/Tests/WebCore/ExponentialRampAtTimeTest.cpp
Log Message:
-----------
Exponential ramp can produce NaN when starting value is zero
https://bugs.webkit.org/show_bug.cgi?id=297579
rdar://157301250
Reviewed by Darin Adler and Youenn Fablet.
Return the start value when value1 == 0 or value1 and value2 have opposite
signs, matching Blink
and the spec. This prevents invalid exponential ramps across zero. Added test
cases for
positive→negative, negative→positive, and zero start.
* LayoutTests/webaudio/AudioParam/exponential-ramp-crash-expected.txt: Added.
* LayoutTests/webaudio/AudioParam/exponential-ramp-crash.html: Added.
* Source/WebCore/Modules/webaudio/AudioParamTimeline.cpp:
(WebCore::AudioParamTimeline::exponentialRampAtTime):
* Source/WebCore/Modules/webaudio/AudioParamTimeline.h:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebCore/ExponentialRampAtTimeTest.cpp: Added.
(expInterp):
(TEST(WebCore, AudioParamTimeline_OppositeSigns_PositiveToNegative)):
(TEST(WebCore, AudioParamTimeline_OppositeSigns_NegativeToPositive)):
(TEST(WebCore, AudioParamTimeline_OppositeSigns_MultipleTimes)):
(TEST(WebCore, AudioParamTimeline_OppositeSigns_SmallMagnitudes)):
(TEST(WebCore, AudioParamTimeline_OppositeSigns_LargeMagnitudes)):
(TEST(WebCore, AudioParamTimeline_SameSign_PositiveFollowsExponential)):
(TEST(WebCore, AudioParamTimeline_SameSign_NegativeFollowsExponential)):
Originally-landed-as: 297297.313@safari-7622-branch (6d65d918b410).
rdar://164280107
Canonical link: https://commits.webkit.org/303190@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications