Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(154)

Side by Side Diff: third_party/WebKit/LayoutTests/webaudio/dom-exceptions.html

Issue 2707243006: [SharedArrayBuffer] Prevent SharedArrayBuffer being used in Web APIs (Closed)
Patch Set: update comment, add TODO Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!doctype html> 1 <!doctype html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../resources/testharness.js"></script> 4 <script src="../resources/testharness.js"></script>
5 <script src="../resources/testharnessreport.js"></script> 5 <script src="../resources/testharnessreport.js"></script>
6 <script src="resources/audit-util.js"></script> 6 <script src="resources/audit-util.js"></script>
7 <script src="resources/audit.js"></script> 7 <script src="resources/audit.js"></script>
8 <script src="resources/biquad-testing.js"></script> 8 <script src="resources/biquad-testing.js"></script>
9 </head> 9 </head>
10 10
11 <body> 11 <body>
12 <script> 12 <script>
13 let audit = Audit.createTaskRunner(); 13 let audit = Audit.createTaskRunner();
14 14
15 let otherContext; 15 let otherContext;
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 new Float32Array(10000), new Float32Array(10000)), 190 new Float32Array(10000), new Float32Array(10000)),
191 'context.createPeriodicWave(new Float32Array(10000), new Float32Array(1000 0))') 191 'context.createPeriodicWave(new Float32Array(10000), new Float32Array(1000 0))')
192 .notThrow(); 192 .notThrow();
193 // Real and imaginary arrays must have the same size: IndexSizeError 193 // Real and imaginary arrays must have the same size: IndexSizeError
194 should( 194 should(
195 () => 195 () =>
196 context.createPeriodicWave(new Float32Array(10), new Float32Array(7)), 196 context.createPeriodicWave(new Float32Array(10), new Float32Array(7)),
197 'context.createPeriodicWave(new Float32Array(10), new Float32Array(7))') 197 'context.createPeriodicWave(new Float32Array(10), new Float32Array(7))')
198 .throw('IndexSizeError'); 198 .throw('IndexSizeError');
199 199
200 if (window.SharedArrayBuffer) {
201 let shared_view = new Float32Array(new SharedArrayBuffer(4100 * 4));
202 let nonshared_view = new Float32Array(4100);
203 should(
204 () => context.createPeriodicWave(shared_view, nonshared_view),
205 'context.createPeriodicWave(shared_view, nonshared_view)')
206 .throw('TypeError');
207
208 should(
209 () => context.createPeriodicWave(nonshared_view, shared_view),
210 'context.createPeriodicWave(nonshared_view, shared_view)')
211 .throw('TypeError');
212 }
213
200 task.done(); 214 task.done();
201 }); 215 });
202 216
203 audit.define('createAnalyser', (task, should) => { 217 audit.define('createAnalyser', (task, should) => {
204 // Analysers 218 // Analysers
205 node = context.createAnalyser(); 219 node = context.createAnalyser();
206 // Invalid fftSize: IndexSizeError 220 // Invalid fftSize: IndexSizeError
207 shouldThrowAndBeUnchanged(should, node, 'fftSize', '42'); 221 shouldThrowAndBeUnchanged(should, node, 'fftSize', '42');
208 shouldThrowAndBeUnchanged(should, node, 'fftSize', '16'); 222 shouldThrowAndBeUnchanged(should, node, 'fftSize', '16');
209 should(() => node.fftSize = 32768, 'AnalyserNode.fftSize = 32768').notThrow(); 223 should(() => node.fftSize = 32768, 'AnalyserNode.fftSize = 32768').notThrow();
(...skipping 17 matching lines...) Expand all
227 .throw(); 241 .throw();
228 should( 242 should(
229 () => node.getFloatTimeDomainData(null), 243 () => node.getFloatTimeDomainData(null),
230 node.constructor.name + '.getFloatTimeDomainData(null)') 244 node.constructor.name + '.getFloatTimeDomainData(null)')
231 .throw(); 245 .throw();
232 should( 246 should(
233 () => node.getByteTimeDomainData(null), 247 () => node.getByteTimeDomainData(null),
234 node.constructor.name + '.getByteTimeDomainData(null)') 248 node.constructor.name + '.getByteTimeDomainData(null)')
235 .throw(); 249 .throw();
236 250
251 if (window.SharedArrayBuffer) {
252 should(
253 () => node.getFloatFrequencyData(new Float32Array(new SharedArrayBuffer( 16))),
254 'AnalyserNode.getFloatFrequencyData(SharedArrayBuffer view)')
255 .throw();
256 should(
257 () => node.getByteFrequencyData(new Uint8Array(new SharedArrayBuffer(16) )),
258 node.constructor.name + '.getByteFrequencyData(SharedArrayBuffer view)')
259 .throw();
260 should(
261 () => node.getFloatTimeDomainData(new Float32Array(new SharedArrayBuffer (16))),
262 node.constructor.name + '.getFloatTimeDomainData(SharedArrayBuffer view) ')
263 .throw();
264 should(
265 () => node.getByteTimeDomainData(new Uint8Array(new SharedArrayBuffer(16 ))),
266 node.constructor.name + '.getByteTimeDomainData(SharedArrayBuffer view)' )
267 .throw();
268 }
269
237 // AudioBuffers 270 // AudioBuffers
238 node = context.createBuffer(1, 1, context.sampleRate); 271 node = context.createBuffer(1, 1, context.sampleRate);
239 // Invalid channel index: IndexSizeError 272 // Invalid channel index: IndexSizeError
240 should( 273 should(
241 () => node.getChannelData(2), 274 () => node.getChannelData(2),
242 node.constructor.name + '.getChannelData(2)') 275 node.constructor.name + '.getChannelData(2)')
243 .throw(); 276 .throw();
244 277
245 task.done(); 278 task.done();
246 }); 279 });
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 }); 362 });
330 363
331 audit.define('audioparam', (task, should) => { 364 audit.define('audioparam', (task, should) => {
332 // AudioParams 365 // AudioParams
333 param = context.createGain().gain; 366 param = context.createGain().gain;
334 should( 367 should(
335 () => param.setValueCurveAtTime(null, 0, 0), 368 () => param.setValueCurveAtTime(null, 0, 0),
336 'param.setValueCurveAtTime(null, 0, 0)') 369 'param.setValueCurveAtTime(null, 0, 0)')
337 .throw(); 370 .throw();
338 371
372 if (window.SharedArrayBuffer) {
373 should(
374 () => param.setValueCurveAtTime(new Float32Array(new SharedArrayBuffer(1 6)), 0, 0),
375 'param.setValueCurveAtTime(SharedArrayBuffer view, 0, 0)')
376 .throw();
377 }
378
339 // exponentialRampToValue should throw only for "zero" target values. 379 // exponentialRampToValue should throw only for "zero" target values.
340 should( 380 should(
341 () => node.gain.exponentialRampToValueAtTime(-1, 0.1), 381 () => node.gain.exponentialRampToValueAtTime(-1, 0.1),
342 'node.gain.exponentialRampToValueAtTime(-1, 0.1)') 382 'node.gain.exponentialRampToValueAtTime(-1, 0.1)')
343 .notThrow(); 383 .notThrow();
344 should( 384 should(
345 () => node.gain.exponentialRampToValueAtTime(0, 0.1), 385 () => node.gain.exponentialRampToValueAtTime(0, 0.1),
346 'node.gain.exponentialRampToValueAtTime(0, 0.1)') 386 'node.gain.exponentialRampToValueAtTime(0, 0.1)')
347 .throw(); 387 .throw();
348 // 1e-100 is 0 when converted to a single precision float. 388 // 1e-100 is 0 when converted to a single precision float.
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 () => node.getFrequencyResponse( 429 () => node.getFrequencyResponse(
390 new Float32Array(1), null, new Float32Array(1)), 430 new Float32Array(1), null, new Float32Array(1)),
391 'node.getFrequencyResponse(new Float32Array(1), null, new Float32Array(1)) ') 431 'node.getFrequencyResponse(new Float32Array(1), null, new Float32Array(1)) ')
392 .throw(); 432 .throw();
393 should( 433 should(
394 () => node.getFrequencyResponse( 434 () => node.getFrequencyResponse(
395 new Float32Array(1), new Float32Array(1), null), 435 new Float32Array(1), new Float32Array(1), null),
396 'node.getFrequencyResponse(new Float32Array(1), new Float32Array(1), null) ') 436 'node.getFrequencyResponse(new Float32Array(1), new Float32Array(1), null) ')
397 .throw(); 437 .throw();
398 438
439 if (window.SharedArrayBuffer) {
440 let shared_view = new Float32Array(new SharedArrayBuffer(4));
441 let nonshared_view = new Float32Array(1);
442
443 should(
444 () => node.getFrequencyResponse(shared_view, nonshared_view, nonshared_v iew),
445 'node.getFrequencyResponse(shared_view, nonshared_view, nonshared_view)' )
446 .throw();
447 should(
448 () => node.getFrequencyResponse(nonshared_view, shared_view, nonshared_v iew),
449 'node.getFrequencyResponse(nonshared_view, shared_view, nonshared_view)' )
450 .throw();
451 should(
452 () => node.getFrequencyResponse(nonshared_view, nonshared_view, shared_v iew),
453 'node.getFrequencyResponse(nonshared_view, nonshared_view, shared_view)' )
454 .throw();
455 }
456
399 task.done(); 457 task.done();
400 }); 458 });
401 459
402 audit.define('offline-audio-context', (task, should) => { 460 audit.define('offline-audio-context', (task, should) => {
403 // OfflineAudioContext 461 // OfflineAudioContext
404 // Max supported channels 462 // Max supported channels
405 should( 463 should(
406 () => new OfflineAudioContext(32, 100, context.sampleRate), 464 () => new OfflineAudioContext(32, 100, context.sampleRate),
407 'new OfflineAudioContext(32, 100, context.sampleRate)') 465 'new OfflineAudioContext(32, 100, context.sampleRate)')
408 .notThrow(); 466 .notThrow();
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
701 should(source.noteOn, 'source.noteOn').beEqualTo(undefined); 759 should(source.noteOn, 'source.noteOn').beEqualTo(undefined);
702 should(source.noteOff, 'source.noteOff').beEqualTo(undefined); 760 should(source.noteOff, 'source.noteOff').beEqualTo(undefined);
703 761
704 task.done(); 762 task.done();
705 }); 763 });
706 764
707 audit.run(); 765 audit.run();
708 </script> 766 </script>
709 </body> 767 </body>
710 </html> 768 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698