Index: LayoutTests/http/tests/fetch/script-tests/fetch-body-mixin.js |
diff --git a/LayoutTests/http/tests/fetch/script-tests/fetch-body-mixin.js b/LayoutTests/http/tests/fetch/script-tests/fetch-body-mixin.js |
index ca84568e299c43b0954f62b757a26e418d18b552..2e52fe8df97de685a89a0d7a972028c0244fd490 100644 |
--- a/LayoutTests/http/tests/fetch/script-tests/fetch-body-mixin.js |
+++ b/LayoutTests/http/tests/fetch/script-tests/fetch-body-mixin.js |
@@ -12,29 +12,32 @@ function arrayBufferToString(buffer) { |
}); |
} |
-function readStream(stream, values) { |
- while (stream.state === 'readable') { |
- values.push(stream.read()); |
+function readStream(reader, values) { |
+ while (reader.state === 'readable') { |
+ values.push(reader.read()); |
} |
- if (stream.state === 'waiting') { |
- return stream.ready.then(function() { |
- readStream(stream, values); |
+ if (reader.state === 'waiting') { |
+ return reader.ready.then(function() { |
+ readStream(reader, values); |
}); |
} |
- return stream.closed; |
+ return reader.closed; |
} |
sequential_promise_test(function(test) { |
var response; |
+ var reader; |
return fetch('/fetch/resources/doctype.html') |
.then(function(resp) { |
response = resp; |
- return response.body.ready; |
+ reader = resp.body.getReader(); |
+ return reader.ready; |
}) |
.then(function() { |
- if (response.body.state !== 'readable') { |
+ if (reader.state !== 'readable') { |
return Promise.reject(TypeError('stream state get wrong')); |
} else { |
+ reader.releaseLock(); |
return response.text(); |
} |
}) |
@@ -60,7 +63,7 @@ sequential_promise_test(function(test) { |
return fetch('/fetch/resources/doctype.html') |
.then(function(response) { |
r = response; |
- return readStream(response.body, values); |
+ return readStream(response.body.getReader(), values); |
}) |
.then(function() { |
return Promise.all(values.map(arrayBufferToString)); |
@@ -149,19 +152,22 @@ sequential_promise_test(function(test) { |
var values = []; |
function partialReadResponse(response, read_count) { |
+ var reader = response.body.getReader(); |
function read(resolve, reject) { |
- while (response.body.state === 'readable') { |
- values.push(response.body.read()); |
+ while (reader.state === 'readable') { |
+ values.push(reader.read()); |
if (values.length > read_count) { |
+ reader.releaseLock(); |
resolve(); |
return; |
} |
} |
- if (response.body.state === 'closed') { |
+ if (reader.state === 'closed') { |
+ reader.releaseLock(); |
resolve(); |
return; |
} |
- response.body.ready.then(function() { |
+ reader.ready.then(function() { |
read(resolve, reject); |
}).catch(reject); |
} |