fimfic2epub/src/eventPage.js

36 lines
1,017 B
JavaScript
Raw Normal View History

2016-06-22 21:54:37 +12:00
/* global chrome, safari */
2016-06-24 01:26:01 +12:00
import fetch from './fetch'
2016-06-22 21:54:37 +12:00
if (typeof safari !== 'undefined') {
safari.application.addEventListener('message', function (ev) {
let url = ev.message
2016-06-24 01:26:01 +12:00
fetch(url, (buffer, type) => {
2016-06-22 21:54:37 +12:00
console.log('Fetched ' + url + ' (' + type + ')')
ev.target.page.dispatchMessage('remote', {
input: url,
output: buffer,
type: type
})
}, 'arraybuffer')
}, false)
} else {
let onMessage = chrome.extension.onMessage ? chrome.extension.onMessage : chrome.runtime.onMessage
onMessage.addListener(function (request, sender, sendResponse) {
2016-08-23 02:28:30 +12:00
if (typeof request === 'string') {
fetch(request, (blob, type) => {
sendResponse(URL.createObjectURL(blob), type)
}, 'blob')
// required for async
return true
} else if (request.showPageAction) {
chrome.pageAction.show(sender.tab.id)
}
})
chrome.pageAction.onClicked.addListener(function (tab) {
chrome.tabs.sendMessage(tab.id, 'pageAction')
2016-06-22 21:54:37 +12:00
})
}