Skip to content

Commit

Permalink
Merge branch 'jb53914' into 'master'
Browse files Browse the repository at this point in the history
[embedlite-components] Listen embedui:runjavascript and reply with...

See merge request mer-core/embedlite-components!121
  • Loading branch information
rainemak committed Apr 20, 2021
2 parents 5439bb3 + 9021cd0 commit 99f964d
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 1 deletion.
36 changes: 36 additions & 0 deletions jsscripts/embedhelper.js
Expand Up @@ -69,6 +69,7 @@ EmbedHelper.prototype = {
// Metrics used when virtual keyboard is open/opening.
addMessageListener("embedui:vkbOpenCompositionMetrics", this);
addMessageListener("embedui:addhistory", this);
addMessageListener("embedui:runjavascript", this);
addMessageListener("Memory:Dump", this);
addMessageListener("Gesture:ContextMenuSynth", this);
addMessageListener("embed:ContextMenuCreate", this);
Expand Down Expand Up @@ -372,6 +373,41 @@ EmbedHelper.prototype = {
docShell.setCurrentURI(initialURI);
break;
}
case "embedui:runjavascript": {
if (aMessage.data && aMessage.data.script) {
let callbackId = aMessage.data.callbackId;
let jsstring = aMessage.data.script;

let promise = new Promise(function(resolve, reject) {
try {
let f = new content.Function(jsstring);
let result = f();
resolve(result);
} catch (e) {
reject(e.toString());
}
}).then(result => {
if (callbackId >= 0) {
let error
sendAsyncMessage("embed:runjavascript", {
"result": result,
"error": error,
"callbackId": callbackId
});
}
}).catch(error => {
let result
sendAsyncMessage("embed:runjavascript", {
"result": result,
"error": error,
"callbackId": callbackId
});
});
}

break;
}

case "Memory:Dump": {
if (aMessage.data && aMessage.data.fileName) {
let memDumper = Cc["@mozilla.org/memory-info-dumper;1"].getService(Ci.nsIMemoryInfoDumper);
Expand Down
2 changes: 1 addition & 1 deletion rpm/embedlite-components-qt5.spec
Expand Up @@ -18,7 +18,7 @@

Name: embedlite-components-qt5
Summary: EmbedLite components Qt5
Version: 1.19.29
Version: 1.22.27
Release: 1
License: MPLv2.0
URL: https://git.sailfishos.org/mer-core/embedlite-components
Expand Down

0 comments on commit 99f964d

Please sign in to comment.