Here's my code for basic one-time request pattern:
JS:
- Code: Select all
function Sender(appName) {
this.appName = appName;
}
Sender.prototype = {
send: function(message) {
console.debug(">>> Test#Send --- about to send message");
var mySender = this;
console.debug(">>> Sending a message for App: " + mySender.appName);
window.cefQuery({
request: message,
persistent: true,
onSuccess: function(response) {
console.debug("I am receiving a response: " + response);
},
onFailure: function(error_code, error_message) {
console.debug("I am receiving an error with code: " +
error_code + ", and error_message: " + error_message);
}
});
},
};
(function() {
var senderObject = new Sender("TEST");
var message = "This is a test message";
senderObject.send(message);
})();
Java:
MessageHandler:
- Code: Select all
public class TestMessageRouter extends CefMessageRouterHandlerAdapter {
public boolean onQuery(CefBrowser browser,
long query_id,
String request,
boolean persistent,
CefQueryCallback callback) {
callback.success("This is the response");
return true;
}
}
MainFrame:
- Code: Select all
CefMessageRouter testRouter = CefMessageRouter.create(new CefMessageRouterConfig("cefQuery", "cefCancel"));
testRouter.addHandler(new TestMessageRouter(), true);
client.addMessageRouter(testRouter);
For broadcasts (for sending multiple responses back to the JS), how should I write my MessageHandler's onQuery method?