Skip to content

Commit

Permalink
fix(wx): Origin mismatch under Chromium
Browse files Browse the repository at this point in the history
Turns out workaround introduced for Firefox in #227
broke right-click "Upload to IPFS" function under Chromium ;-)

This commit adds userAgent check and enables workaround only
under Firefox, making Chromium (#218) happy.
  • Loading branch information
lidel committed May 24, 2017
1 parent 55490d2 commit 0afb113
Showing 1 changed file with 21 additions and 14 deletions.
35 changes: 21 additions & 14 deletions add-on/src/lib/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -296,23 +296,30 @@ browser.contextMenus.create({
onclick: addFromURL
})

function inFirefox() {
return !!navigator.userAgent.match('Firefox')
}

async function addFromURL (info) {
// disabled due to https://github.com/lidel/ipfs-firefox-addon/issues/227
// ipfs.util.addFromURL(info.srcUrl, uploadResultHandler)
try {
const fetchOptions = {
cache: 'force-cache',
referrer: info.pageUrl
}
// console.log('addFromURL.info', info)
// console.log('addFromURL.fetchOptions', fetchOptions)
const response = await fetch(info.srcUrl, fetchOptions)
const reader = new FileReader()
reader.onloadend = () => {
const buffer = ipfs.Buffer.from(reader.result)
ipfs.add(buffer, uploadResultHandler)
if (inFirefox()) {
// workaround due to https://github.com/lidel/ipfs-firefox-addon/issues/227
const fetchOptions = {
cache: 'force-cache',
referrer: info.pageUrl
}
// console.log('addFromURL.info', info)
// console.log('addFromURL.fetchOptions', fetchOptions)
const response = await fetch(info.srcUrl, fetchOptions)
const reader = new FileReader()
reader.onloadend = () => {
const buffer = ipfs.Buffer.from(reader.result)
ipfs.add(buffer, uploadResultHandler)
}
reader.readAsArrayBuffer(await response.blob())
} else {
ipfs.util.addFromURL(info.srcUrl, uploadResultHandler)
}
reader.readAsArrayBuffer(await response.blob())
} catch (error) {
console.error(`Error for ${contextMenuUploadToIpfs}`, error)
if (error.message === 'NetworkError when attempting to fetch resource.') {
Expand Down

0 comments on commit 0afb113

Please sign in to comment.