// META: script=websocket.sub.js // META: global=sharedworker async_test(t => { const url = 'wss://' + __SERVER__NAME + ':' + __SECURE__PORT + '/echo'; const ws = new WebSocket(url); ws.onopen = t.step_func(() => { ws.onclose = ws.onerror = null; assert_equals(ws.bufferedAmount, 0); ws.send('hello'); assert_equals(ws.bufferedAmount, 5); // Stop execution for 1s with a sync XHR. const xhr = new XMLHttpRequest(); xhr.open('GET', '/common/blank.html?pipe=trickle(d1)', false); xhr.send(); assert_equals(ws.bufferedAmount, 5); ws.close(); t.done(); }); ws.onerror = ws.onclose = t.unreached_func('open should succeed'); }, 'bufferedAmount should not be updated during a sync XHR'); done();