| Index: chrome/test/data/extensions/api_test/mime_handler_view/index.js
|
| diff --git a/chrome/test/data/extensions/api_test/mime_handler_view/index.js b/chrome/test/data/extensions/api_test/mime_handler_view/index.js
|
| index b3187d2aded3d5e4cc5f9386ad4cddfed43e3122..e53465d96ae748f86ddc188ec6fd22b13cd525bb 100644
|
| --- a/chrome/test/data/extensions/api_test/mime_handler_view/index.js
|
| +++ b/chrome/test/data/extensions/api_test/mime_handler_view/index.js
|
| @@ -15,6 +15,17 @@ function queueMessage(event) {
|
|
|
| window.addEventListener('message', queueMessage, false);
|
|
|
| +let mimeHandlerPromise = (async function() {
|
| + let [frameInterfaces, mojom, connectionModule] = await Promise.all([
|
| + chrome.mojoPrivate.requireAsync('content/public/renderer/frame_interfaces'),
|
| + chrome.mojoPrivate.requireAsync('extensions/common/api/mime_handler.mojom'),
|
| + chrome.mojoPrivate.requireAsync('mojo/public/js/connection'),
|
| + ]);
|
| + return connectionModule.bindHandleToProxy(
|
| + frameInterfaces.getInterface(mojom.MimeHandlerService.name),
|
| + mojom.MimeHandlerService);
|
| +})();
|
| +
|
| var streamDetails;
|
|
|
| function fetchUrl(url) {
|
| @@ -84,14 +95,15 @@ var tests = [
|
| Promise.all([printMessageArrived, contentRead]).then(chrome.test.succeed);
|
| },
|
|
|
| - function testAbort() {
|
| + async function testAbort() {
|
| checkStreamDetails('testAbort.csv', false);
|
| - chrome.mimeHandlerPrivate.abortStream(function() {
|
| - fetchUrl(streamDetails.streamUrl).then(function(response) {
|
| - chrome.test.assertEq(404, response.status);
|
| - chrome.test.assertEq('', response.data);
|
| - chrome.test.succeed();
|
| - });
|
| +
|
| + let mimeHandlerInterface = await mimeHandlerPromise;
|
| + await mimeHandlerInterface.abortStream();
|
| + fetchUrl(streamDetails.streamUrl).then(function(response) {
|
| + chrome.test.assertEq(404, response.status);
|
| + chrome.test.assertEq('', response.data);
|
| + chrome.test.succeed();
|
| });
|
| },
|
|
|
| @@ -152,7 +164,25 @@ for (let i = 0; i < tests.length; i++) {
|
| testsByName[tests[i].name] = tests[i];
|
| }
|
|
|
| -chrome.mimeHandlerPrivate.getStreamInfo(function(streamInfo) {
|
| +function constructStreamInfoDict_(streamInfo) {
|
| + var headers = {};
|
| + for (var header of streamInfo.response_headers) {
|
| + headers[header[0]] = header[1];
|
| + }
|
| + return {
|
| + mimeType: streamInfo.mime_type,
|
| + originalUrl: streamInfo.original_url,
|
| + streamUrl: streamInfo.stream_url,
|
| + tabId: streamInfo.tab_id,
|
| + embedded: !!streamInfo.embedded,
|
| + responseHeaders: headers,
|
| + };
|
| +}
|
| +
|
| +(async function() {
|
| + let mimeHandlerInterface = await mimeHandlerPromise;
|
| + let streamInfo = constructStreamInfoDict_(
|
| + (await mimeHandlerInterface.getStreamInfo()).stream_info);
|
| if (!streamInfo)
|
| return;
|
|
|
| @@ -175,4 +205,4 @@ chrome.mimeHandlerPrivate.getStreamInfo(function(streamInfo) {
|
| else
|
| chrome.test.runTests([testsByName['testDataUrl']]);
|
| }
|
| -});
|
| +})();
|
|
|