fimfic2epub/src/eventPage.js

37 lines
1,022 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) {
2019-10-08 22:31:42 +13:00
const url = ev.message
console.log('Fetching', url)
2016-08-24 02:32:55 +12:00
fetch(url, 'arraybuffer').then((buffer) => {
2016-08-23 19:19:01 +12:00
console.log('Fetched ' + url)
2016-06-22 21:54:37 +12:00
ev.target.page.dispatchMessage('remote', {
input: url,
2016-08-23 19:19:01 +12:00
output: buffer
2016-06-22 21:54:37 +12:00
})
2016-08-24 02:32:55 +12:00
})
2016-06-22 21:54:37 +12:00
}, false)
} else {
2021-12-11 01:35:50 +13:00
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
2016-08-23 02:28:30 +12:00
if (typeof request === 'string') {
console.log('Fetching', request)
2016-08-23 19:19:01 +12:00
fetch(request, 'blob').then((blob) => {
2019-10-08 22:31:42 +13:00
const ourl = URL.createObjectURL(blob)
console.log('Fetched', request)
sendResponse(ourl)
2016-08-23 19:19:01 +12:00
})
2016-08-23 02:28:30 +12:00
// 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
})
}