start implementing messages to background APIs (text file download)
This commit is contained in:
@@ -37,7 +37,8 @@
|
||||
"<all_urls>",
|
||||
"storage",
|
||||
"menus",
|
||||
"tabs"
|
||||
"tabs",
|
||||
"downloads"
|
||||
],
|
||||
"version": "0.0",
|
||||
"manifest_version": 2,
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
(import js.html.File)
|
||||
(import js.html.URL)
|
||||
|
||||
(defMacroVar mainKissFile kissFile)
|
||||
(loadFrom "kiss-firefox" "src/kiss_firefox/Util.kiss")
|
||||
(loadFrom "kiss-firefox" "src/kiss_firefox/BackgroundUtil.kiss")
|
||||
@@ -10,4 +13,12 @@
|
||||
(onMessage "savePad" [pad]
|
||||
(WebPad.save ~pad))
|
||||
|
||||
(onMessage "downloadTxtFile" [filename contents]
|
||||
(let [file (new File [contents] filename)
|
||||
url (URL.createObjectURL file)]
|
||||
(awaitLet [txtDownloadId (API.browser.downloads.download (objectWith url filename))]
|
||||
(catch [e] (sendResponse e))
|
||||
(API.browser.downloads.show txtDownloadId)
|
||||
(sendResponse "done"))))
|
||||
|
||||
// TODO accept and respond to messages from other extensions requesting the content of the current page's pad
|
||||
@@ -43,6 +43,7 @@
|
||||
->e (let [interp (new KissWebPadInterp)]
|
||||
(dictSet interp.globals "document" document)
|
||||
(dictSet interp.globals "window" window)
|
||||
(dictSet interp.globals "sendMessage" sendMessage)
|
||||
(interp.evalCC (editor.getValue) ->:Void v (print v))))))
|
||||
(if showing
|
||||
(document.body.removeChild div)
|
||||
|
||||
Reference in New Issue
Block a user