Commit 5946acdc authored by Reilly Grant's avatar Reilly Grant Committed by Commit Bot

Switch the MediaSession LayoutTests to the new Mojo JS bindings

This change enables generation of both Mojo JS bindings styles in the
//third_party/WebKit/public:android_mojo_bindings target and updates the
LayoutTests for the MediaSession API to use the new style.

Bug: 699569
Change-Id: Ifebdcbe5cffffd61d3dfcb48b590c447416d8d7a
Reviewed-on: https://chromium-review.googlesource.com/563704Reviewed-by: default avatardanakj <danakj@chromium.org>
Reviewed-by: default avatarYuzhu Shen <yzshen@chromium.org>
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485452}
parent 02da93cc
......@@ -2,8 +2,9 @@
<title>Test that setting MediaSession callbacks are alive after garbage-collection</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/mojo-helpers.js"></script>
<script src="../../../resources/gc.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom.js"></script>
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
......@@ -11,15 +12,13 @@
var mock;
async_test(function(t) {
mediaSessionServiceMock.then(m => {
mock = m;
mock.setClientCallback(_ => {
gc();
setTimeout(_ => {
mock.getClient().didReceiveAction(MediaSessionAction.PLAY);
});
let mock = mediaSessionServiceMock;
mock.setClientCallback(_ => {
gc();
setTimeout(_ => {
mock.getClient().didReceiveAction(MediaSessionAction.PLAY);
});
window.navigator.mediaSession.setActionHandler("play", _ => { t.done(); });
});
window.navigator.mediaSession.setActionHandler("play", _ => { t.done(); });
});
</script>
......@@ -2,25 +2,25 @@
<title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/mojo-helpers.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom.js"></script>
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
async_test(function(t) {
mediaSessionServiceMock.then(m => {
var metadata = new MediaMetadata({
artwork: [
{ src: "file:///foo/bar.jpg", type: "image/jpeg"}
]});
var expectedMetadata = new MediaMetadata({});
let m = mediaSessionServiceMock;
var metadata = new MediaMetadata({
artwork: [
{ src: "file:///foo/bar.jpg", type: "image/jpeg"}
]});
var expectedMetadata = new MediaMetadata({});
m.setMetadataCallback(t.step_func(function(receivedMetadata) {
assert_metadata_equals(expectedMetadata, receivedMetadata);
t.done();
}));
window.navigator.mediaSession.metadata = metadata;
});
m.setMetadataCallback(t.step_func(function(receivedMetadata) {
assert_metadata_equals(expectedMetadata, receivedMetadata);
t.done();
}));
window.navigator.mediaSession.metadata = metadata;
}, "test that null MediaMetadata is correctly propagated");
</script>
......@@ -2,7 +2,8 @@
<title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/mojo-helpers.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom.js"></script>
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
......@@ -52,12 +53,10 @@ function runTests(t) {
// Use async_test to do asynchronous setup since setup() only works for
// synchronous setup.
async_test(function(t) {
mediaSessionServiceMock.then(m => {
mock = m;
mock.setClientCallback(t.step_func(runTests.bind(null, t)));
// Touch window.navigator.mediaSession to start the service.
window.navigator.mediaSession.metadata = null;
});
mock = mediaSessionServiceMock;
mock.setClientCallback(t.step_func(runTests.bind(null, t)));
// Touch window.navigator.mediaSession to start the service.
window.navigator.mediaSession.metadata = null;
}, "test that the mock service is setup");
</script>
......@@ -2,7 +2,8 @@
<title>Test that setting MediaSession event handler should notify the service</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/mojo-helpers.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom.js"></script>
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
......@@ -39,56 +40,55 @@ function getExpectations() {
}
async_test(function(t) {
mediaSessionServiceMock.then(m => {
m.setEnableDisableActionCallback(t.step_func(function(action, isEnabled) {
var expectedAction = getExpectations()[nextExpectation][0];
var expectedIsEnabled = getExpectations()[nextExpectation][1];
assert_equals(expectedAction, action);
assert_equals(expectedIsEnabled, isEnabled);
if (++nextExpectation >= getExpectations().length)
t.done();
}));
let m = mediaSessionServiceMock;
m.setEnableDisableActionCallback(t.step_func(function(action, isEnabled) {
var expectedAction = getExpectations()[nextExpectation][0];
var expectedIsEnabled = getExpectations()[nextExpectation][1];
assert_equals(expectedAction, action);
assert_equals(expectedIsEnabled, isEnabled);
if (++nextExpectation >= getExpectations().length)
t.done();
}));
// Setting handlers should notify the service.
window.navigator.mediaSession.setActionHandler("play", _ => {});
window.navigator.mediaSession.setActionHandler("pause", _ => {});
window.navigator.mediaSession.setActionHandler("previoustrack", _ => {});
window.navigator.mediaSession.setActionHandler("nexttrack", _ => {});
window.navigator.mediaSession.setActionHandler("seekbackward", _ => {});
window.navigator.mediaSession.setActionHandler("seekforward", _ => {});
// Setting handlers should notify the service.
window.navigator.mediaSession.setActionHandler("play", _ => {});
window.navigator.mediaSession.setActionHandler("pause", _ => {});
window.navigator.mediaSession.setActionHandler("previoustrack", _ => {});
window.navigator.mediaSession.setActionHandler("nexttrack", _ => {});
window.navigator.mediaSession.setActionHandler("seekbackward", _ => {});
window.navigator.mediaSession.setActionHandler("seekforward", _ => {});
// Setting handlers again should not notify the service.
window.navigator.mediaSession.setActionHandler("play", _ => {});
window.navigator.mediaSession.setActionHandler("pause", _ => {});
window.navigator.mediaSession.setActionHandler("previoustrack", _ => {});
window.navigator.mediaSession.setActionHandler("nexttrack", _ => {});
window.navigator.mediaSession.setActionHandler("seekbackward", _ => {});
window.navigator.mediaSession.setActionHandler("seekforward", _ => {});
// Setting handlers again should not notify the service.
window.navigator.mediaSession.setActionHandler("play", _ => {});
window.navigator.mediaSession.setActionHandler("pause", _ => {});
window.navigator.mediaSession.setActionHandler("previoustrack", _ => {});
window.navigator.mediaSession.setActionHandler("nexttrack", _ => {});
window.navigator.mediaSession.setActionHandler("seekbackward", _ => {});
window.navigator.mediaSession.setActionHandler("seekforward", _ => {});
// Unsetting handlers should notify the service.
window.navigator.mediaSession.setActionHandler("play", null);
window.navigator.mediaSession.setActionHandler("pause", null);
window.navigator.mediaSession.setActionHandler("previoustrack", null);
window.navigator.mediaSession.setActionHandler("nexttrack", null);
window.navigator.mediaSession.setActionHandler("seekbackward", null);
window.navigator.mediaSession.setActionHandler("seekforward", null);
// Unsetting handlers should notify the service.
window.navigator.mediaSession.setActionHandler("play", null);
window.navigator.mediaSession.setActionHandler("pause", null);
window.navigator.mediaSession.setActionHandler("previoustrack", null);
window.navigator.mediaSession.setActionHandler("nexttrack", null);
window.navigator.mediaSession.setActionHandler("seekbackward", null);
window.navigator.mediaSession.setActionHandler("seekforward", null);
// Unsetting handlers should not notify the service.
window.navigator.mediaSession.setActionHandler("play", null);
window.navigator.mediaSession.setActionHandler("pause", null);
window.navigator.mediaSession.setActionHandler("previoustrack", null);
window.navigator.mediaSession.setActionHandler("nexttrack", null);
window.navigator.mediaSession.setActionHandler("seekbackward", null);
window.navigator.mediaSession.setActionHandler("seekforward", null);
// Unsetting handlers should not notify the service.
window.navigator.mediaSession.setActionHandler("play", null);
window.navigator.mediaSession.setActionHandler("pause", null);
window.navigator.mediaSession.setActionHandler("previoustrack", null);
window.navigator.mediaSession.setActionHandler("nexttrack", null);
window.navigator.mediaSession.setActionHandler("seekbackward", null);
window.navigator.mediaSession.setActionHandler("seekforward", null);
// Setting handlers again should notify the service.
window.navigator.mediaSession.setActionHandler("play", _ => {});
window.navigator.mediaSession.setActionHandler("pause", _ => {});
window.navigator.mediaSession.setActionHandler("previoustrack", _ => {});
window.navigator.mediaSession.setActionHandler("nexttrack", _ => {});
window.navigator.mediaSession.setActionHandler("seekbackward", _ => {});
window.navigator.mediaSession.setActionHandler("seekforward", _ => {});
});
// Setting handlers again should notify the service.
window.navigator.mediaSession.setActionHandler("play", _ => {});
window.navigator.mediaSession.setActionHandler("pause", _ => {});
window.navigator.mediaSession.setActionHandler("previoustrack", _ => {});
window.navigator.mediaSession.setActionHandler("nexttrack", _ => {});
window.navigator.mediaSession.setActionHandler("seekbackward", _ => {});
window.navigator.mediaSession.setActionHandler("seekforward", _ => {});
}, "test that setting event handler notifies the mojo service");
</script>
......@@ -2,7 +2,8 @@
<title>MediaMetadata Mojo Test</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/mojo-helpers.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom.js"></script>
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
......@@ -38,33 +39,32 @@ async_test(t => {
];
var resultId = 0;
mediaSessionServiceMock.then(m => {
m.setMetadataCallback(t.step_func(receivedMetadata => {
assert_metadata_equals(receivedMetadata, results[resultId]);
++resultId;
let m = mediaSessionServiceMock;
m.setMetadataCallback(t.step_func(receivedMetadata => {
assert_metadata_equals(receivedMetadata, results[resultId]);
++resultId;
if (results.length == resultId)
t.done();
}));
if (results.length == resultId)
t.done();
}));
// Setting the metadata property will update the mojo service.
window.navigator.mediaSession.metadata = new MediaMetadata({});
// Setting the metadata property will update the mojo service.
window.navigator.mediaSession.metadata = new MediaMetadata({});
// All the next lines will produce only one call.
window.navigator.mediaSession.metadata.title = 'new title';
window.navigator.mediaSession.metadata.album = 'new album';
window.navigator.mediaSession.metadata.artist = 'new artist';
window.navigator.mediaSession.metadata.artwork = [
{ src: 'http://example.com/', sizes: '40x40', type: 'image/png' }
];
// All the next lines will produce only one call.
window.navigator.mediaSession.metadata.title = 'new title';
window.navigator.mediaSession.metadata.album = 'new album';
window.navigator.mediaSession.metadata.artist = 'new artist';
window.navigator.mediaSession.metadata.artwork = [
{ src: 'http://example.com/', sizes: '40x40', type: 'image/png' }
];
// This two last changes are made asynchronously and will go in different
// mojo calls.
// This two last changes are made asynchronously and will go in different
// mojo calls.
setTimeout(_ => {
window.navigator.mediaSession.metadata.title = 'first timeout';
setTimeout(_ => {
window.navigator.mediaSession.metadata.title = 'first timeout';
setTimeout(_ => {
window.navigator.mediaSession.metadata.title = 'second timeout';
});
window.navigator.mediaSession.metadata.title = 'second timeout';
});
});
}, "test that MediaMetadata is correctly propagated twice");
......
......@@ -2,32 +2,32 @@
<title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/mojo-helpers.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom.js"></script>
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
async_test(function(t) {
mediaSessionServiceMock.then(m => {
var dontCareMetadata = new MediaMetadata({});
let m = mediaSessionServiceMock;
var dontCareMetadata = new MediaMetadata({});
m.setMetadataCallback(t.step_func(function() {
var metadata = new MediaMetadata({
title: "title2",
artist: "artist2",
album: "album2",
artwork: [
{ src: "http://foo.com/bar.jpg", type: "image/jpeg", sizes: "256x256"}
]});
m.setMetadataCallback(t.step_func(function() {
var metadata = new MediaMetadata({
title: "title2",
artist: "artist2",
album: "album2",
artwork: [
{ src: "http://foo.com/bar.jpg", type: "image/jpeg", sizes: "256x256"}
]});
m.setMetadataCallback(t.step_func(function(receivedMetadata) {
assert_metadata_equals(metadata, receivedMetadata);
t.done();
}));
window.navigator.mediaSession.metadata = metadata;
m.setMetadataCallback(t.step_func(function(receivedMetadata) {
assert_metadata_equals(metadata, receivedMetadata);
t.done();
}));
window.navigator.mediaSession.metadata = dontCareMetadata;
});
window.navigator.mediaSession.metadata = metadata;
}));
window.navigator.mediaSession.metadata = dontCareMetadata;
}, "test that MediaMetadata is correctly propagated twice");
</script>
......@@ -2,27 +2,27 @@
<title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/mojo-helpers.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom.js"></script>
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
async_test(function(t) {
mediaSessionServiceMock.then(m => {
var metadata = new MediaMetadata({
title: "title1",
artist: "artist1",
album: "album1",
artwork: [
{ src: "http://foo.com/bar.png", type: "image/png", sizes: "128x128" }
]});
let m = mediaSessionServiceMock;
var metadata = new MediaMetadata({
title: "title1",
artist: "artist1",
album: "album1",
artwork: [
{ src: "http://foo.com/bar.png", type: "image/png", sizes: "128x128" }
]});
m.setMetadataCallback(t.step_func(function(receivedMetadata) {
assert_metadata_equals(metadata, receivedMetadata);
t.done();
}));
window.navigator.mediaSession.metadata = metadata;
});
m.setMetadataCallback(t.step_func(function(receivedMetadata) {
assert_metadata_equals(metadata, receivedMetadata);
t.done();
}));
window.navigator.mediaSession.metadata = metadata;
}, "test that MediaMetadata is correctly propagated");
</script>
......@@ -2,7 +2,8 @@
<title>MediaMetadata / MediaSession link Mojo Test</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/mojo-helpers.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom.js"></script>
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
......@@ -23,38 +24,37 @@ async_test(t => {
];
var resultId = 0;
mediaSessionServiceMock.then(m => {
m.setMetadataCallback(t.step_func(receivedMetadata => {
assert_metadata_equals(receivedMetadata, results[resultId]);
++resultId;
let m = mediaSessionServiceMock;
m.setMetadataCallback(t.step_func(receivedMetadata => {
assert_metadata_equals(receivedMetadata, results[resultId]);
++resultId;
if (results.length == resultId)
t.done();
}));
if (results.length == resultId)
t.done();
}));
// Setting the metadata property will update the mojo service.
var currentMetadata = new MediaMetadata({});
window.navigator.mediaSession.metadata = currentMetadata;
// Setting the metadata property will update the mojo service.
var currentMetadata = new MediaMetadata({});
window.navigator.mediaSession.metadata = currentMetadata;
// `currentMetadata` is still associated to MediaSession.
currentMetadata.title = 'new title';
// `currentMetadata` is still associated to MediaSession.
currentMetadata.title = 'new title';
// De-associate them.
setTimeout(_ => {
// This change will trigger an asynchronous request for an update. It is
// Followed by another change that will prevent the former to work.
currentMetadata.title = 'should not be received';
// De-associate them.
setTimeout(_ => {
// This change will trigger an asynchronous request for an update. It is
// Followed by another change that will prevent the former to work.
currentMetadata.title = 'should not be received';
var otherMetadata = new MediaMetadata({ title: 'other' });
window.navigator.mediaSession.metadata = otherMetadata;
var otherMetadata = new MediaMetadata({ title: 'other' });
window.navigator.mediaSession.metadata = otherMetadata;
// `currentMetadata` is no longer linked with the session so changes
// should have no effect.
currentMetadata.title = 'another attempt';
// `currentMetadata` is no longer linked with the session so changes
// should have no effect.
currentMetadata.title = 'another attempt';
// This one will be received.
otherMetadata.title = 'the right change';
});
// This one will be received.
otherMetadata.title = 'the right change';
});
}, "test that MediaMetadata is correctly propagated twice");
......
......@@ -2,7 +2,8 @@
<title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/mojo-helpers.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom.js"></script>
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
......@@ -25,15 +26,14 @@ function getExpectations() {
}
async_test(function(t) {
mediaSessionServiceMock.then(m => {
m.setPlaybackStateCallback(t.step_func(function(state) {
assert_equals(state, getExpectations()[nextExpectation++]);
if (nextExpectation == getExpectations().length)
t.done();
}));
for (let state of inputStates)
window.navigator.mediaSession.playbackState = state;
});
let m = mediaSessionServiceMock;
m.setPlaybackStateCallback(t.step_func(function(state) {
assert_equals(state, getExpectations()[nextExpectation++]);
if (nextExpectation == getExpectations().length)
t.done();
}));
for (let state of inputStates)
window.navigator.mediaSession.playbackState = state;
}, "test that MediaSession.playbackState is correctly propagated");
</script>
......@@ -4,9 +4,6 @@
"use strict";
var MediaSessionAction;
var MediaSessionPlaybackState;
function mojoString16ToJS(mojoString16) {
return String.fromCharCode.apply(null, mojoString16.data);
}
......@@ -39,73 +36,67 @@ function mojoMetadataToJS(mojoMetadata) {
return new MediaMetadata({title: title, artist: artist, album: album, artwork: artwork});
}
let mediaSessionServiceMock = loadMojoModules(
'mediaSessionServiceMock',
['third_party/WebKit/public/platform/modules/mediasession/media_session.mojom',
'mojo/public/js/bindings',
]).then(mojo => {
let [mediaSessionService, bindings] = mojo.modules;
MediaSessionAction = mediaSessionService.MediaSessionAction;
MediaSessionPlaybackState = mediaSessionService.MediaSessionPlaybackState;
class MediaSessionServiceMock {
constructor(interfaceProvider) {
interfaceProvider.addInterfaceOverrideForTesting(
mediaSessionService.MediaSessionService.name,
handle => this.bindingSet_.addBinding(this, handle));
this.interfaceProvider_ = interfaceProvider;
this.pendingResponse_ = null;
this.bindingSet_ = new bindings.BindingSet(
mediaSessionService.MediaSessionService);
}
setMetadata(metadata) {
if (!!this.metadataCallback_)
this.metadataCallback_(mojoMetadataToJS(metadata));
}
setMetadataCallback(callback) {
this.metadataCallback_ = callback;
}
setPlaybackState(state) {
if (!!this.setPlaybackStateCallback_)
this.setPlaybackStateCallback_(state);
}
setPlaybackStateCallback(callback) {
this.setPlaybackStateCallback_ = callback;
}
enableAction(action) {
if (!!this.enableDisableActionCallback_)
this.enableDisableActionCallback_(action, true);
}
disableAction(action) {
if (!!this.enableDisableActionCallback_)
this.enableDisableActionCallback_(action, false);
}
setEnableDisableActionCallback(callback) {
this.enableDisableActionCallback_ = callback;
}
setClient(client) {
this.client_ = client;
if (!!this.clientCallback_)
this.clientCallback_();
}
setClientCallback(callback) {
this.clientCallback_ = callback;
}
getClient() {
return this.client_;
}
}
return new MediaSessionServiceMock(mojo.frameInterfaces);
});
var MediaSessionAction = blink.mojom.MediaSessionAction;
var MediaSessionPlaybackState = blink.mojom.MediaSessionPlaybackState;
class MediaSessionServiceMock {
constructor() {
this.pendingResponse_ = null;
this.bindingSet_ = new mojo.BindingSet(
blink.mojom.MediaSessionService);
this.interceptor_ =
new MojoInterfaceInterceptor(blink.mojom.MediaSessionService.name);
this.interceptor_.oninterfacerequest =
e => this.bindingSet_.addBinding(this, e.handle);
this.interceptor_.start();
}
setMetadata(metadata) {
if (!!this.metadataCallback_)
this.metadataCallback_(mojoMetadataToJS(metadata));
}
setMetadataCallback(callback) {
this.metadataCallback_ = callback;
}
setPlaybackState(state) {
if (!!this.setPlaybackStateCallback_)
this.setPlaybackStateCallback_(state);
}
setPlaybackStateCallback(callback) {
this.setPlaybackStateCallback_ = callback;
}
enableAction(action) {
if (!!this.enableDisableActionCallback_)
this.enableDisableActionCallback_(action, true);
}
disableAction(action) {
if (!!this.enableDisableActionCallback_)
this.enableDisableActionCallback_(action, false);
}
setEnableDisableActionCallback(callback) {
this.enableDisableActionCallback_ = callback;
}
setClient(client) {
this.client_ = client;
if (!!this.clientCallback_)
this.clientCallback_();
}
setClientCallback(callback) {
this.clientCallback_ = callback;
}
getClient() {
return this.client_;
}
}
let mediaSessionServiceMock = new MediaSessionServiceMock();
......@@ -2,19 +2,19 @@
<title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/mojo-helpers.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/third_party/WebKit/public/platform/modules/mediasession/media_session.mojom.js"></script>
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
async_test(function(t) {
mediaSessionServiceMock.then(m => {
m.setMetadataCallback(t.step_func(function(receivedMetadata) {
assert_equals(receivedMetadata, null);
t.done();
}));
window.navigator.mediaSession.metadata = null;
});
let m = mediaSessionServiceMock;
m.setMetadataCallback(t.step_func(function(receivedMetadata) {
assert_equals(receivedMetadata, null);
t.done();
}));
window.navigator.mediaSession.metadata = null;
}, "test that null MediaMetadata is correctly propagated");
</script>
......@@ -806,7 +806,7 @@ mojom("android_mojo_bindings") {
export_header_blink = "third_party/WebKit/public/platform/WebCommon.h"
# TODO(crbug.com/699569): Convert to use the new JS bindings.
use_new_js_bindings = false
js_bindings_mode = "both"
}
# The offscreen_canvas_mojo_bindings is separated from the rest of mojom files
......
......@@ -10,9 +10,6 @@ mojom("mojo") {
sources = [
"geometry.mojom",
]
# TODO(crbug.com/699569): Convert to use the new JS bindings.
js_bindings_mode = "both"
}
mojom("test_interfaces") {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment