let pageImpl;
let browserProxy;
function TestPageImpl() {
this.binding = new mojo.Binding(web.mojom.TestPage, this);
}
TestPageImpl.prototype = {
handleNativeMessage: function(result) {
if (result.message === 'ack') {
browserProxy.handleJsMessageWithCallback('syn2').then((r) => {
if (r.result.message === 'ack2') {
browserProxy.handleJsMessage('fin');
}
});
}
},
};
* @return {!Promise} Fires when DOMContentLoaded event is received.
*/
function whenDomContentLoaded() {
return new Promise(function(resolve, reject) {
document.addEventListener('DOMContentLoaded', resolve);
});
}
function main() {
whenDomContentLoaded().then(function() {
browserProxy = new web.mojom.TestUIHandlerMojoPtr();
Mojo.bindInterface(web.mojom.TestUIHandlerMojo.name,
mojo.makeRequest(browserProxy).handle);
pageImpl = new TestPageImpl();
const pagePtr = new web.mojom.TestPagePtr();
pageImpl.binding.bind(mojo.makeRequest(pagePtr));
browserProxy.setClientPage(pagePtr);
browserProxy.handleJsMessage('syn');
});
}
main();