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

Reply via email to