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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/webaudio/dom-exceptions.html
diff --git a/third_party/WebKit/LayoutTests/webaudio/dom-exceptions.html b/third_party/WebKit/LayoutTests/webaudio/dom-exceptions.html
index 436fd83a6d1ab9914885b63121b0b60a96aa2524..72a36d1fa346da7aaa82d177e6740bcdbf563f3b 100644
--- a/third_party/WebKit/LayoutTests/webaudio/dom-exceptions.html
+++ b/third_party/WebKit/LayoutTests/webaudio/dom-exceptions.html
@@ -2,7 +2,7 @@
<html>
<head>
<script src="../resources/testharness.js"></script>
-<script src="../resources/testharnessreport.js"></script>
+<script src="../resources/testharnessreport.js"></script>
<script src="resources/audit-util.js"></script>
<script src="resources/audit.js"></script>
<script src="resources/biquad-testing.js"></script>
@@ -197,6 +197,20 @@ audit.define('createPeriodicWave', (task, should) => {
'context.createPeriodicWave(new Float32Array(10), new Float32Array(7))')
.throw('IndexSizeError');
+ if (window.SharedArrayBuffer) {
+ let shared_view = new Float32Array(new SharedArrayBuffer(4100 * 4));
+ let nonshared_view = new Float32Array(4100);
+ should(
+ () => context.createPeriodicWave(shared_view, nonshared_view),
+ 'context.createPeriodicWave(shared_view, nonshared_view)')
+ .throw('TypeError');
+
+ should(
+ () => context.createPeriodicWave(nonshared_view, shared_view),
+ 'context.createPeriodicWave(nonshared_view, shared_view)')
+ .throw('TypeError');
+ }
+
task.done();
});
@@ -234,6 +248,25 @@ audit.define('createAnalyser', (task, should) => {
node.constructor.name + '.getByteTimeDomainData(null)')
.throw();
+ if (window.SharedArrayBuffer) {
+ should(
+ () => node.getFloatFrequencyData(new Float32Array(new SharedArrayBuffer(16))),
+ 'AnalyserNode.getFloatFrequencyData(SharedArrayBuffer view)')
+ .throw();
+ should(
+ () => node.getByteFrequencyData(new Uint8Array(new SharedArrayBuffer(16))),
+ node.constructor.name + '.getByteFrequencyData(SharedArrayBuffer view)')
+ .throw();
+ should(
+ () => node.getFloatTimeDomainData(new Float32Array(new SharedArrayBuffer(16))),
+ node.constructor.name + '.getFloatTimeDomainData(SharedArrayBuffer view)')
+ .throw();
+ should(
+ () => node.getByteTimeDomainData(new Uint8Array(new SharedArrayBuffer(16))),
+ node.constructor.name + '.getByteTimeDomainData(SharedArrayBuffer view)')
+ .throw();
+ }
+
// AudioBuffers
node = context.createBuffer(1, 1, context.sampleRate);
// Invalid channel index: IndexSizeError
@@ -336,6 +369,13 @@ audit.define('audioparam', (task, should) => {
'param.setValueCurveAtTime(null, 0, 0)')
.throw();
+ if (window.SharedArrayBuffer) {
+ should(
+ () => param.setValueCurveAtTime(new Float32Array(new SharedArrayBuffer(16)), 0, 0),
+ 'param.setValueCurveAtTime(SharedArrayBuffer view, 0, 0)')
+ .throw();
+ }
+
// exponentialRampToValue should throw only for "zero" target values.
should(
() => node.gain.exponentialRampToValueAtTime(-1, 0.1),
@@ -396,6 +436,24 @@ audit.define('biquad', (task, should) => {
'node.getFrequencyResponse(new Float32Array(1), new Float32Array(1), null)')
.throw();
+ if (window.SharedArrayBuffer) {
+ let shared_view = new Float32Array(new SharedArrayBuffer(4));
+ let nonshared_view = new Float32Array(1);
+
+ should(
+ () => node.getFrequencyResponse(shared_view, nonshared_view, nonshared_view),
+ 'node.getFrequencyResponse(shared_view, nonshared_view, nonshared_view)')
+ .throw();
+ should(
+ () => node.getFrequencyResponse(nonshared_view, shared_view, nonshared_view),
+ 'node.getFrequencyResponse(nonshared_view, shared_view, nonshared_view)')
+ .throw();
+ should(
+ () => node.getFrequencyResponse(nonshared_view, nonshared_view, shared_view),
+ 'node.getFrequencyResponse(nonshared_view, nonshared_view, shared_view)')
+ .throw();
+ }
+
task.done();
});

Powered by Google App Engine
This is Rietveld 408576698