Title: [266293] trunk
Revision
266293
Author
[email protected]
Date
2020-08-28 14:27:28 -0700 (Fri, 28 Aug 2020)

Log Message

AudioParam.value setter should call setValueAtTime(value, now)
https://bugs.webkit.org/show_bug.cgi?id=215946

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/no-dezippering-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/no-dezippering-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/no-dezippering-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/automation-changes-expected.txt:

Source/WebCore:

AudioParam.value setter should call setValueAtTime(value, now), as per:
- https://www.w3.org/TR/webaudio/#dom-audioparam-value

No new tests, rebaselined existing tests.

* Modules/webaudio/AudioParam.cpp:
(WebCore::AudioParam::valueForBindings const):
(WebCore::AudioParam::setValueForBindings):
* Modules/webaudio/AudioParam.h:
* Modules/webaudio/AudioParam.idl:

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (266292 => 266293)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2020-08-28 21:09:51 UTC (rev 266292)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2020-08-28 21:27:28 UTC (rev 266293)
@@ -1,5 +1,19 @@
 2020-08-28  Chris Dumez  <[email protected]>
 
+        AudioParam.value setter should call setValueAtTime(value, now)
+        https://bugs.webkit.org/show_bug.cgi?id=215946
+
+        Reviewed by Eric Carlson.
+
+        Rebaseline WPT tests now that more checks are passing.
+
+        * web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/no-dezippering-expected.txt:
+        * web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/no-dezippering-expected.txt:
+        * web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/no-dezippering-expected.txt:
+        * web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/automation-changes-expected.txt:
+
+2020-08-28  Chris Dumez  <[email protected]>
+
         Resync web-platform-tests/webaudio from upstream
         https://bugs.webkit.org/show_bug.cgi?id=215935
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/no-dezippering-expected.txt (266292 => 266293)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/no-dezippering-expected.txt	2020-08-28 21:09:51 UTC (rev 266292)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/no-dezippering-expected.txt	2020-08-28 21:27:28 UTC (rev 266293)
@@ -11,84 +11,43 @@
 PASS   At time 0, frequency is equal to 350. 
 PASS   At time 0.015625, frequency is equal to 800. 
 PASS   At time 0.0546875, frequency is equal to 200. 
-FAIL X Output from frequency setter does not equal [0.7863562107086182,0.9676618576049805,1.135772466659546,1.2858247756958008,1.4133927822113037,1.514617681503296,1.5863231420516968,1.6261112689971924,1.63243567943573,1.604650855064392,1.5430365800857544,1.4487941265106201,1.324018955230713,1.1716450452804565,0.9953676462173462,0.7995421290397644...] with an element-wise tolerance of {"absoluteThreshold":0.0000030399,"relativeThreshold":0}.
-	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[0]	7.3010045289993286e-1	7.8635621070861816e-1	5.6255757808685303e-2	7.1539789528705960e-2	3.0398999999999999e-6
-	[1]	9.9232119321823120e-1	9.6766185760498047e-1	2.4659335613250732e-2	2.5483422147364602e-2	3.0398999999999999e-6
-	[2]	1.2269514799118042e+0	1.1357724666595459e+0	9.1179013252258301e-2	8.0279295306768264e-2	3.0398999999999999e-6
-	[3]	1.4274108409881592e+0	1.2858247756958008e+0	1.4158606529235840e-1	1.1011303248200492e-1	3.0398999999999999e-6
-	[4]	1.5880613327026367e+0	1.4133927822113037e+0	1.7466855049133301e-1	1.2358104038005471e-1	3.0398999999999999e-6
-	...and 1147 more errors.
-	Max AbsError of 8.9265388250350952e-1 at index of 42.
-	[42]	1.6573333740234375e+0	7.6467949151992798e-1	8.9265388250350952e-1	1.1673569023398431e+0	3.0398999999999999e-6
-	Max RelError of 1.7677891134655678e+2 at index of 688.
-	[688]	-1.6964411735534668e-1	9.6509937429800630e-4	1.7060921672964469e-1	1.7677891134655678e+2	3.0398999999999999e-6
- assert_true: expected true got false
-FAIL X Output from frequency setter matches setValueAtTime output is not true. Got false. assert_true: expected true got false
-FAIL < [Test 0] 2 out of 5 assertions were failed. assert_true: expected true got false
+PASS   Output from frequency setter equals [0.7863562107086182,0.9676618576049805,1.135772466659546,1.2858247756958008,1.4133927822113037,1.514617681503296,1.5863231420516968,1.6261112689971924,1.63243567943573,1.604650855064392,1.5430365800857544,1.4487941265106201,1.324018955230713,1.1716450452804565,0.9953676462173462,0.7995421290397644...] with an element-wise tolerance of {"absoluteThreshold":0.0000030399,"relativeThreshold":0}. 
+PASS   Output from frequency setter matches setValueAtTime output is true. 
+PASS < [Test 0] All assertions passed. (total 5 assertions) 
 PASS > [Test 1] No dezippering for detune 
 PASS   At time 0, detune is equal to 33. 
 PASS   At time 0.015625, detune is equal to 1000. 
 PASS   At time 0.0390625, detune is equal to -400. 
-FAIL X Output from detune setter does not equal [1.1476609706878662,1.1561954021453857,1.1371567249298096,1.089133620262146,1.0115339756011963,0.9046297073364258,0.7695767879486084,0.6084088087081909,0.42400482296943665,0.22002875804901123,0.0008461428806185722,-0.2285824418067932,-0.46282681822776794,-0.6961303353309631,-0.9225640892982483,-1.1361898183822632...] with an element-wise tolerance of {"absoluteThreshold":0.0000040532,"relativeThreshold":0}.
-	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[0]	2.9001781940460205e+0	1.1476609706878662e+0	1.7525172233581543e+0	1.5270339134280739e+0	4.0531999999999996e-6
-	[1]	3.0630583763122559e+0	1.1561954021453857e+0	1.9068629741668701e+0	1.6492566659827381e+0	4.0531999999999996e-6
-	[2]	3.1403923034667969e+0	1.1371567249298096e+0	2.0032355785369873e+0	1.7616178444186188e+0	4.0531999999999996e-6
-	[3]	3.1299610137939453e+0	1.0891336202621460e+0	2.0408273935317993e+0	1.8738080944012985e+0	4.0531999999999996e-6
-	[4]	3.0320005416870117e+0	1.0115339756011963e+0	2.0204665660858154e+0	1.9974282770729168e+0	4.0531999999999996e-6
-	...and 1403 more errors.
-	Max AbsError of 2.4044023156166077e+0 at index of 94.
-	[94]	-2.9983744621276855e+0	-5.9397214651107788e-1	2.4044023156166077e+0	4.0480051627669456e+0	4.0531999999999996e-6
-	Max RelError of 1.0785992070786174e+3 at index of 10.
-	[10]	9.1349518299102783e-1	8.4614288061857224e-4	9.1264904011040926e-1	1.0785992070786174e+3	4.0531999999999996e-6
- assert_true: expected true got false
-FAIL X Output from detune setter matches setValueAtTime output is not true. Got false. assert_true: expected true got false
-FAIL < [Test 1] 2 out of 5 assertions were failed. assert_true: expected true got false
+PASS   Output from detune setter equals [1.1476609706878662,1.1561954021453857,1.1371567249298096,1.089133620262146,1.0115339756011963,0.9046297073364258,0.7695767879486084,0.6084088087081909,0.42400482296943665,0.22002875804901123,0.0008461428806185722,-0.2285824418067932,-0.46282681822776794,-0.6961303353309631,-0.9225640892982483,-1.1361898183822632...] with an element-wise tolerance of {"absoluteThreshold":0.0000040532,"relativeThreshold":0}. 
+PASS   Output from detune setter matches setValueAtTime output is true. 
+PASS < [Test 1] All assertions passed. (total 5 assertions) 
 PASS > [Test 2] No dezippering for Q 
 PASS   At time 0, Q is equal to 5. 
 PASS   At time 0.015625, Q is equal to 10. 
 PASS   At time 0.0625, Q is equal to -10. 
-FAIL X Output from Q setter does not equal [0,-0.16793830692768097,-0.3311063051223755,-0.48486924171447754,-0.6248595118522644,-0.7471005916595459,-0.8481203317642212,-0.925049364566803,-0.9757022261619568,-0.9986401796340942,-0.9932120442390442,-0.9595714211463928,-0.898674488067627,-0.812250554561615,-0.7027547955513,-0.5732971429824829...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
-	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[0]	2.7755575615628914e-16	0.0000000000000000e+0	2.7755575615628914e-16	Infinity	0.0000000000000000e+0
-	Max AbsError of 2.7755575615628914e-16 at index of 0.
-	Max RelError of Infinity at index of 0.
- assert_true: expected true got false
-FAIL X Output from Q setter matches setValueAtTime output is not true. Got false. assert_true: expected true got false
-FAIL < [Test 2] 2 out of 5 assertions were failed. assert_true: expected true got false
+PASS   Output from Q setter equals [0,-0.16793830692768097,-0.3311063051223755,-0.48486924171447754,-0.6248595118522644,-0.7471005916595459,-0.8481203317642212,-0.925049364566803,-0.9757022261619568,-0.9986401796340942,-0.9932120442390442,-0.9595714211463928,-0.898674488067627,-0.812250554561615,-0.7027547955513,-0.5732971429824829...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 
+PASS   Output from Q setter matches setValueAtTime output is true. 
+PASS < [Test 2] All assertions passed. (total 5 assertions) 
 PASS > [Test 3] No dezippering for gain 
 PASS   At time 0, gain is equal to 1. 
 PASS   At time 0.015625, gain is equal to 5. 
 PASS   At time 0.046875, gain is equal to -0.3. 
-FAIL X Output from gain setter does not equal [-0.8448672294616699,-1.0345356464385986,-1.1866061687469482,-1.2994732856750488,-1.3723911046981812,-1.4054863452911377,-1.3997505903244019,-1.3570139408111572,-1.2798986434936523,-1.1717536449432373,-1.0365720987319946,-0.87889164686203,-0.703684389591217,-0.5162312388420105,-0.32199200987815857,-0.12646932899951935...] with an element-wise tolerance of {"absoluteThreshold":0.0000019074,"relativeThreshold":0}.
-	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[0]	-7.6753121614456177e-1	-8.4486722946166992e-1	7.7336013317108154e-2	9.1536291881488763e-2	1.9074000000000002e-6
-	[1]	-9.0657228231430054e-1	-1.0345356464385986e+0	1.2796336412429810e-1	1.2369159493422340e-1	1.9074000000000002e-6
-	[2]	-1.0197358131408691e+0	-1.1866061687469482e+0	1.6687035560607910e-1	1.4062825560926720e-1	1.9074000000000002e-6
-	[3]	-1.1038527488708496e+0	-1.2994732856750488e+0	1.9562053680419922e-1	1.5053832884496621e-1	1.9074000000000002e-6
-	[4]	-1.1565747261047363e+0	-1.3723911046981812e+0	2.1581637859344482e-1	1.5725573989413721e-1	1.9074000000000002e-6
-	...and 1275 more errors.
-	Max AbsError of 2.5350201129913330e-1 at index of 20.
-	[20]	9.4523149728775024e-1	6.9172948598861694e-1	2.5350201129913330e-1	3.6647564753847273e-1	1.9074000000000002e-6
-	Max RelError of 8.3724176951384479e+1 at index of 740.
-	[740]	7.2798542678356171e-2	-8.8001531548798084e-4	7.3678557993844151e-2	8.3724176951384479e+1	1.9074000000000002e-6
- assert_true: expected true got false
-FAIL X Output from gain setter matches setValueAtTime output is not true. Got false. assert_true: expected true got false
-FAIL < [Test 3] 2 out of 5 assertions were failed. assert_true: expected true got false
+PASS   Output from gain setter equals [-0.8448672294616699,-1.0345356464385986,-1.1866061687469482,-1.2994732856750488,-1.3723911046981812,-1.4054863452911377,-1.3997505903244019,-1.3570139408111572,-1.2798986434936523,-1.1717536449432373,-1.0365720987319946,-0.87889164686203,-0.703684389591217,-0.5162312388420105,-0.32199200987815857,-0.12646932899951935...] with an element-wise tolerance of {"absoluteThreshold":0.0000019074,"relativeThreshold":0}. 
+PASS   Output from gain setter matches setValueAtTime output is true. 
+PASS < [Test 3] All assertions passed. (total 5 assertions) 
 PASS > [Test 4] No dezippering of frequency vs JS filter 
 FAIL X Output from lowpass filter does not equal [-0.0030010484624654055,-0.014069896191358566,-0.03340204805135727,-0.057291410863399506,-0.08216430246829987,-0.10470064729452133,-0.12194095551967621,-0.13137663900852203,-0.13102173805236816,-0.11946460604667664,-0.0958988144993782,-0.06013302132487297,-0.012580174021422863,0.04577299579977989,0.1134147197008133,0.18837322294712067...] with an element-wise tolerance of {"absoluteThreshold":5.9607e-7,"relativeThreshold":0}.
 	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[0]	-2.3877498507499695e-1	-3.0010484624654055e-3	2.3577393661253154e-1	7.8563855119766970e+1	5.9607000000000002e-7
-	[1]	-3.6268347501754761e-1	-1.4069896191358566e-2	3.4861357882618904e-1	2.4777267300685569e+1	5.9607000000000002e-7
-	[2]	-4.7590014338493347e-1	-3.3402048051357269e-2	4.4249809533357620e-1	1.3247633637710296e+1	5.9607000000000002e-7
-	[3]	-5.7482552528381348e-1	-5.7291410863399506e-2	5.1753411442041397e-1	9.0333630577605390e+0	5.9607000000000002e-7
-	[4]	-6.5632629394531250e-1	-8.2164302468299866e-2	5.7416199147701263e-1	6.9879737821486687e+0	5.9607000000000002e-7
-	...and 1893 more errors.
-	Max AbsError of 1.1475224196910858e+0 at index of 292.
-	[292]	3.7383499741554260e-1	-7.7368742227554321e-1	1.1475224196910858e+0	1.4831860860759916e+0	5.9607000000000002e-7
-	Max RelError of 2.4084715240961773e+3 at index of 1014.
-	[1014]	-7.6620578765869141e-1	3.1826162012293935e-4	7.6652404927881435e-1	2.4084715240961773e+3	5.9607000000000002e-7
+	[0]	-2.6259824633598328e-1	-3.0010484624654055e-3	2.5959719787351787e-1	8.6502167865778134e+1	5.9607000000000002e-7
+	[1]	-4.1444507241249084e-1	-1.4069896191358566e-2	4.0037517622113228e-1	2.8456157087145694e+1	5.9607000000000002e-7
+	[2]	-5.4386252164840698e-1	-3.3402048051357269e-2	5.1046047359704971e-1	1.5282310617965461e+1	5.9607000000000002e-7
+	[3]	-6.3592869043350220e-1	-5.7291410863399506e-2	5.7863727957010269e-1	1.0099895793276124e+1	5.9607000000000002e-7
+	[4]	-6.8090450763702393e-1	-8.2164302468299866e-2	5.9874020516872406e-1	7.2871087221817090e+0	5.9607000000000002e-7
+	...and 466 more errors.
+	Max AbsError of 1.3125416338443756e+0 at index of 70.
+	[70]	-9.5660090446472168e-1	3.5594072937965393e-1	1.3125416338443756e+0	3.6875286403214362e+0	5.9607000000000002e-7
+	Max RelError of 6.9710276579259323e+2 at index of 203.
+	[203]	1.1701503992080688e+0	1.6761864535510540e-3	1.1684742127545178e+0	6.9710276579259323e+2	5.9607000000000002e-7
  assert_true: expected true got false
 FAIL X Output matches JS filter results is not true. Got false. assert_true: expected true got false
 FAIL < [Test 4] 2 out of 2 assertions were failed. assert_true: expected true got false
@@ -111,5 +70,5 @@
  assert_true: expected true got false
 FAIL X Modulation: Output from frequency setter matches setValueAtTime output is not true. Got false. assert_true: expected true got false
 FAIL < [Test 5] 2 out of 5 assertions were failed. assert_true: expected true got false
-FAIL # AUDIT TASK RUNNER FINISHED: 6 out of 6 tasks were failed. assert_true: expected true got false
+FAIL # AUDIT TASK RUNNER FINISHED: 2 out of 6 tasks were failed. assert_true: expected true got false
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/no-dezippering-expected.txt (266292 => 266293)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/no-dezippering-expected.txt	2020-08-28 21:09:51 UTC (rev 266292)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/no-dezippering-expected.txt	2020-08-28 21:27:28 UTC (rev 266293)
@@ -7,45 +7,33 @@
 PASS > [test0] Test DelayNode has no dezippering 
 FAIL X output[0:63]: Expected 0 for all values but found 64 unexpected values: 
 	Index	Actual
-	[0]	65.1462631225586
-	[1]	66.29207611083984
-	[2]	67.43744659423828
-	[3]	68.5823745727539
+	[0]	113
+	[1]	114
+	[2]	115
+	[3]	116
 	...and 60 more errors. assert_true: expected true got false
 FAIL X output[64:127] expected to be equal to the array [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16...] but differs in 64 places:
 	Index	Actual			Expected
-	[0]	1.3763658142089844e+2	1.0000000000000000e+0
-	[1]	1.3875653076171875e+2	2.0000000000000000e+0
-	[2]	1.3987611389160156e+2	3.0000000000000000e+0
-	[3]	1.4099533081054688e+2	4.0000000000000000e+0
+	[0]	1.7700000000000000e+2	1.0000000000000000e+0
+	[1]	1.7800000000000000e+2	2.0000000000000000e+0
+	[2]	1.7900000000000000e+2	3.0000000000000000e+0
+	[3]	1.8000000000000000e+2	4.0000000000000000e+0
 	...and 60 more errors. assert_true: expected true got false
 FAIL X output[128:] expected to be equal to the array [113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128...] but differs in 16256 places:
 	Index	Actual			Expected
-	[0]	2.0862054443359375e+2	1.1300000000000000e+2
-	[1]	2.0971920776367188e+2	1.1400000000000000e+2
-	[2]	2.1081756591796875e+2	1.1500000000000000e+2
-	[3]	2.1191563415527344e+2	1.1600000000000000e+2
+	[0]	2.4100000000000000e+2	1.1300000000000000e+2
+	[1]	2.4200000000000000e+2	1.1400000000000000e+2
+	[2]	2.4300000000000000e+2	1.1500000000000000e+2
+	[3]	2.4400000000000000e+2	1.1600000000000000e+2
 	...and 16252 more errors. assert_true: expected true got false
 FAIL < [test0] 3 out of 3 assertions were failed. assert_true: expected true got false
 PASS > [test1] Test value setter and setValueAtTime 
-FAIL X .value setter output does not equal [0.2779596447944641,0.4349345266819,0.5795549750328064,0.70771324634552,0.8157689571380615,0.9006527662277222,0.9599534869194031,0.9919868111610413,0.995842695236206,0.9714117646217346,0.9193877577781677,0.8412486910820007,0.7392138838768005,0.6161819100379944,0.47564706206321716,0.32160162925720215...] with an element-wise tolerance of {"absoluteThreshold":0.000065819,"relativeThreshold":0}.
-	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[0]	9.8579835891723633e-1	2.7795964479446411e-1	7.0783871412277222e-1	2.5465520890494018e+0	6.5819000000000001e-5
-	[1]	9.9666655063629150e-1	4.3493452668190002e-1	5.6173202395439148e-1	1.2915323789992601e+0	6.5819000000000001e-5
-	[2]	9.8679518699645996e-1	5.7955497503280640e-1	4.0724021196365356e-1	7.0267744995304582e-1	6.5819000000000001e-5
-	[3]	9.5636004209518433e-1	7.0771324634552002e-1	2.4864679574966431e-1	3.5133833799723718e-1	6.5819000000000001e-5
-	[4]	9.0591025352478027e-1	8.1576895713806152e-1	9.0141296386718750e-2	1.1049856163068381e-1	6.5819000000000001e-5
-	...and 3574 more errors.
-	Max AbsError of 1.9955322146415710e+0 at index of 287.
-	[287]	9.9792581796646118e-1	-9.9760639667510986e-1	1.9955322146415710e+0	2.0003201876936796e+0	6.5819000000000001e-5
-	Max RelError of 6.0865078230792997e+3 at index of 892.
-	[892]	4.6717783808708191e-1	7.6743694080505520e-5	4.6710109439300140e-1	6.0865078230792997e+3	6.5819000000000001e-5
- assert_true: expected true got false
-FAIL X .value setter output matches setValueAtTime output is not true. Got false. assert_true: expected true got false
-FAIL < [test1] 2 out of 2 assertions were failed. assert_true: expected true got false
+PASS   .value setter output equals [0.5214688181877136,0.5697038173675537,0.616049587726593,0.660352349281311,0.7024649381637573,0.7422480583190918,0.7795694470405579,0.81430584192276,0.8463413715362549,0.8755701780319214,0.9018954038619995,0.9252294898033142,0.9454952478408813,0.96262526512146,0.9765629768371582,0.987261950969696...] with an element-wise tolerance of {"absoluteThreshold":0.000065819,"relativeThreshold":0}. 
+PASS   .value setter output matches setValueAtTime output is true. 
+PASS < [test1] All assertions passed. (total 2 assertions) 
 PASS > [test2] Test value setter and modulation 
-PASS   With modulation: .value setter output equals [0.7650766968727112,0.19463731348514557,0.7450577616691589,0.6224613189697266,0.4821838438510895,0.32820984721183777,0.16491319239139557,-0.0030680475756525993,-0.1709619164466858,-0.8088366985321045,0.0651242807507515,-0.36386561393737793,-0.07803883403539658,0.1592167764902115,0.8827916979789734,-0.3798184096813202...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 
+PASS   With modulation: .value setter output equals [0.5214566588401794,-0.5851858854293823,-0.9781315922737122,-0.2492080181837082,0.7155246138572693,0.9808593392372131,0.4836493134498596,-0.24869835376739502,-0.770362913608551,-0.9790927767753601,-0.9903184175491333,-0.9490256309509277,-0.9418102502822876,-0.9788252711296082,-0.9951662421226501,-0.8529807329177856...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 
 PASS   With modulation: .value setter output matches setValueAtTime output is true. 
 PASS < [test2] All assertions passed. (total 2 assertions) 
-FAIL # AUDIT TASK RUNNER FINISHED: 2 out of 3 tasks were failed. assert_true: expected true got false
+FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 3 tasks were failed. assert_true: expected true got false
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/no-dezippering-expected.txt (266292 => 266293)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/no-dezippering-expected.txt	2020-08-28 21:09:51 UTC (rev 266292)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/no-dezippering-expected.txt	2020-08-28 21:27:28 UTC (rev 266293)
@@ -7,32 +7,26 @@
 PASS > [test0] Dezippering of GainNode removed 
 FAIL X output[0:127]: Expected 1 for all values but found 128 unexpected values: 
 	Index	Actual
-	[0]	0.9975000023841858
-	[1]	0.9950125217437744
-	[2]	0.9925374388694763
-	[3]	0.9900747537612915
+	[0]	0.5
+	[1]	0.5
+	[2]	0.5
+	[3]	0.5
 	...and 124 more errors. assert_true: expected true got false
-FAIL X output[128:]: Expected 0.5 for all values but found 896 unexpected values: 
+FAIL X output[128:]: Expected 0.5 for all values but found 128 unexpected values: 
 	Index	Actual
-	[0]	0.7619069218635559
-	[1]	0.7605974078178406
-	[2]	0.7592944502830505
-	[3]	0.757997989654541
-	...and 892 more errors. assert_true: expected true got false
+	[768]	0
+	[769]	0
+	[770]	0
+	[771]	0
+	...and 124 more errors. assert_true: expected true got false
 FAIL < [test0] 2 out of 2 assertions were failed. assert_true: expected true got false
 PASS > [test2] Compare value setter and setValueAtTime 
-FAIL X .value setter output expected to be equal to the array [0.27716386318206787,0.25394731760025024,0.22351734340190887,0.18673840165138245,0.14465515315532684,0.09846296161413193,0.04947395995259285,-0.000920414284337312,-0.051288578659296036,-0.10019991546869278,-0.14626504480838776,-0.1881755292415619,-0.2247409224510193,-0.2549225091934204,-0.277863085269928,-0.29291093349456787...] but differs in 640 places:
-	Index	Actual			Expected
-	[0]	9.2064595222473145e-1	2.7716386318206787e-1
-	[1]	8.4058040380477905e-1	2.5394731760025024e-1
-	[2]	7.3727369308471680e-1	2.2351734340190887e-1
-	[3]	6.1381196975708008e-1	1.8673840165138245e-1
-	...and 636 more errors. assert_true: expected true got false
-FAIL X .value setter output matches setValueAtTime output is not true. Got false. assert_true: expected true got false
-FAIL < [test2] 2 out of 2 assertions were failed. assert_true: expected true got false
+PASS   .value setter output is identical to the array [0.27716386318206787,0.25394731760025024,0.22351734340190887,0.18673840165138245,0.14465515315532684,0.09846296161413193,0.04947395995259285,-0.000920414284337312,-0.051288578659296036,-0.10019991546869278,-0.14626504480838776,-0.1881755292415619,-0.2247409224510193,-0.2549225091934204,-0.277863085269928,-0.29291093349456787...]. 
+PASS   .value setter output matches setValueAtTime output is true. 
+PASS < [test2] All assertions passed. (total 2 assertions) 
 PASS > [test3] Automation effects 
 PASS   With modulation: .value setter output is identical to the array [0.6307172179222107,0.26173824071884155,-0.04888543114066124,-0.24108877778053284,-0.2937309145927429,-0.2293994128704071,-0.10613704472780228,0.0013841955224052072,0.02557784877717495,-0.07256468385457993,-0.29065337777137756,-0.5846103429794312,-0.8810368776321411,-1.0985889434814453,-1.1720213890075684,-1.0717520713806152...]. 
 PASS   With modulation: .value setter output matches setValueAtTime output is true. 
 PASS < [test3] All assertions passed. (total 2 assertions) 
-FAIL # AUDIT TASK RUNNER FINISHED: 2 out of 3 tasks were failed. assert_true: expected true got false
+FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 3 tasks were failed. assert_true: expected true got false
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/automation-changes-expected.txt (266292 => 266293)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/automation-changes-expected.txt	2020-08-28 21:09:51 UTC (rev 266292)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/automation-changes-expected.txt	2020-08-28 21:27:28 UTC (rev 266293)
@@ -50,32 +50,22 @@
  assert_true: expected true got false
 FAIL < [Listener.positionX.setValue] 1 out of 4 assertions were failed. assert_true: expected true got false
 PASS > [Listener.setPosition]  
-FAIL X listener.setPostion: output0[0:511] does not equal [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...] with an element-wise tolerance of {"absoluteThreshold":1e-16,"relativeThreshold":0}.
-	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[0]	-2.7229695115238428e-4	0.0000000000000000e+0	2.7229695115238428e-4	Infinity	9.9999999999999998e-17
-	[1]	-5.6047562975436449e-4	0.0000000000000000e+0	5.6047562975436449e-4	Infinity	9.9999999999999998e-17
-	[2]	-8.6196919437497854e-4	0.0000000000000000e+0	8.6196919437497854e-4	Infinity	9.9999999999999998e-17
-	[3]	-1.1740449117496610e-3	0.0000000000000000e+0	1.1740449117496610e-3	Infinity	9.9999999999999998e-17
-	[4]	-1.4938220847398043e-3	0.0000000000000000e+0	1.4938220847398043e-3	Infinity	9.9999999999999998e-17
-	...and 507 more errors.
-	Max AbsError of 3.0452093482017517e-1 at index of 498.
-	[498]	3.0452093482017517e-1	0.0000000000000000e+0	3.0452093482017517e-1	Infinity	9.9999999999999998e-17
-	Max RelError of Infinity at index of 0.
- assert_true: expected true got false
+PASS   listener.setPostion: output0[0:511] equals [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...] with an element-wise tolerance of {"absoluteThreshold":1e-16,"relativeThreshold":0}. 
 PASS   listener.setPostion: output1[0:511] is not constantly 0 (contains 512 different values). 
 PASS   listener.setPostion: output0[512:] is not constantly 0 (contains 1024 different values). 
-FAIL X listener.setPostion: output1[512:] does not equal [0.20407512784004211,0.19044484198093414,0.17613494396209717,0.1611909419298172,0.14566068351268768,0.12959407269954681,0.11304294317960739,0.09606102854013443,0.07870367914438248,0.06102744862437248,0.0430905818939209,0.02495194599032402,0.0066715385764837265,-0.01169018354266882,-0.030072014778852463,-0.0484127514064312...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
+FAIL X listener.setPostion: output1[512:] does not equal [1.3341304932292165e-17,1.2429472310211685e-17,1.1476421278207688e-17,1.048530918467829e-17,9.459426554100223e-18,8.402173098791084e-18,7.31705110146442e-18,6.207664588049127e-18,5.077694098680757e-18,3.9308760081862136e-18,2.771030236634266e-18,1.601991489947134e-18,4.276423988237764e-19,-7.481302184349967e-19,-1.9214164858688003e-18,-3.0883323769113916e-18...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
 	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[0]	5.3560477495193481e-1	2.0407512784004211e-1	3.3152964711189270e-1	1.6245470509848305e+0	0.0000000000000000e+0
-	[1]	4.9902155995368958e-1	1.9044484198093414e-1	3.0857671797275543e-1	1.6202944367674066e+0	0.0000000000000000e+0
-	[2]	4.6077939867973328e-1	1.7613494396209717e-1	2.8464445471763611e-1	1.6160589620358883e+0	0.0000000000000000e+0
-	[3]	4.2100501060485840e-1	1.6119094192981720e-1	2.5981406867504120e-1	1.6118403774088290e+0	0.0000000000000000e+0
-	[4]	3.7983044981956482e-1	1.4566068351268768e-1	2.3416976630687714e-1	1.6076387990207386e+0	0.0000000000000000e+0
+	[0]	2.1788004040718079e-1	1.3341304932292165e-17	2.1788004040718079e-1	1.6331239073908710e+16	0.0000000000000000e+0
+	[1]	2.0298869907855988e-1	1.2429472310211685e-17	2.0298869907855988e-1	1.6331240298253884e+16	0.0000000000000000e+0
+	[2]	1.8742418289184570e-1	1.1476421278207688e-17	1.8742418289184570e-1	1.6331239360107942e+16	0.0000000000000000e+0
+	[3]	1.7123809456825256e-1	1.0485309184678289e-17	1.7123809456825256e-1	1.6331239408607530e+16	0.0000000000000000e+0
+	[4]	1.5448416769504547e-1	9.4594265541002235e-18	1.5448416769504547e-1	1.6331240251353686e+16	0.0000000000000000e+0
 	...and 1019 more errors.
-	Max AbsError of 4.8806849122047424e-1 at index of 39.
-	[39]	-8.1997829675674438e-1	-3.3190980553627014e-1	4.8806849122047424e-1	1.4704853037767200e+0	0.0000000000000000e+0
-	Max RelError of 1.6245470509848305e+0 at index of 0.
+	Max AbsError of 3.3344447612762451e-1 at index of 476.
+	[476]	-3.3344447612762451e-1	-2.0417586918499551e-17	3.3344447612762451e-1	1.6331238233912154e+16	0.0000000000000000e+0
+	Max RelError of 1.6331241455224588e+16 at index of 857.
+	[857]	3.3307418227195740e-1	2.0394908934825797e-17	3.3307418227195740e-1	1.6331241455224588e+16	0.0000000000000000e+0
  assert_true: expected true got false
-FAIL < [Listener.setPosition] 2 out of 4 assertions were failed. assert_true: expected true got false
+FAIL < [Listener.setPosition] 1 out of 4 assertions were failed. assert_true: expected true got false
 FAIL # AUDIT TASK RUNNER FINISHED: 3 out of 3 tasks were failed. assert_true: expected true got false
 

Modified: trunk/Source/WebCore/ChangeLog (266292 => 266293)


--- trunk/Source/WebCore/ChangeLog	2020-08-28 21:09:51 UTC (rev 266292)
+++ trunk/Source/WebCore/ChangeLog	2020-08-28 21:27:28 UTC (rev 266293)
@@ -1,3 +1,21 @@
+2020-08-28  Chris Dumez  <[email protected]>
+
+        AudioParam.value setter should call setValueAtTime(value, now)
+        https://bugs.webkit.org/show_bug.cgi?id=215946
+
+        Reviewed by Eric Carlson.
+
+        AudioParam.value setter should call setValueAtTime(value, now), as per:
+        - https://www.w3.org/TR/webaudio/#dom-audioparam-value
+
+        No new tests, rebaselined existing tests.
+
+        * Modules/webaudio/AudioParam.cpp:
+        (WebCore::AudioParam::valueForBindings const):
+        (WebCore::AudioParam::setValueForBindings):
+        * Modules/webaudio/AudioParam.h:
+        * Modules/webaudio/AudioParam.idl:
+
 2020-08-27  Simon Fraser  <[email protected]>
 
         Vertical scrolling gets stuck when a horizontal scroller is under the mouse (google search results)

Modified: trunk/Source/WebCore/Modules/webaudio/AudioParam.cpp (266292 => 266293)


--- trunk/Source/WebCore/Modules/webaudio/AudioParam.cpp	2020-08-28 21:09:51 UTC (rev 266292)
+++ trunk/Source/WebCore/Modules/webaudio/AudioParam.cpp	2020-08-28 21:27:28 UTC (rev 266293)
@@ -80,6 +80,23 @@
     m_value = std::clamp(value, minValue(), maxValue());
 }
 
+float AudioParam::valueForBindings() const
+{
+    ASSERT(isMainThread());
+    return m_value;
+}
+
+ExceptionOr<void> AudioParam::setValueForBindings(float value)
+{
+    ASSERT(isMainThread());
+
+    setValue(value);
+    auto result = setValueAtTime(m_value, context().currentTime());
+    if (result.hasException())
+        return result.releaseException();
+    return { };
+}
+
 ExceptionOr<void> AudioParam::setAutomationRate(AutomationRate automationRate)
 {
     if (m_automationRateMode == AutomationRateMode::Fixed)

Modified: trunk/Source/WebCore/Modules/webaudio/AudioParam.h (266292 => 266293)


--- trunk/Source/WebCore/Modules/webaudio/AudioParam.h	2020-08-28 21:09:51 UTC (rev 266292)
+++ trunk/Source/WebCore/Modules/webaudio/AudioParam.h	2020-08-28 21:27:28 UTC (rev 266293)
@@ -69,6 +69,9 @@
     float value();
     void setValue(float);
 
+    float valueForBindings() const;
+    ExceptionOr<void> setValueForBindings(float);
+
     AutomationRate automationRate() const { return m_automationRate; }
     ExceptionOr<void> setAutomationRate(AutomationRate);
 

Modified: trunk/Source/WebCore/Modules/webaudio/AudioParam.idl (266292 => 266293)


--- trunk/Source/WebCore/Modules/webaudio/AudioParam.idl	2020-08-28 21:09:51 UTC (rev 266292)
+++ trunk/Source/WebCore/Modules/webaudio/AudioParam.idl	2020-08-28 21:27:28 UTC (rev 266293)
@@ -37,7 +37,7 @@
 [
     Conditional=WEB_AUDIO,
 ] interface AudioParam {
-    attribute float value;
+    [ImplementedAs=valueForBindings] attribute float value;
 
     attribute AutomationRate automationRate;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to