diff --git a/src/Menu/DeleteLink.coffee b/src/Menu/DeleteLink.coffee index 02af9f087..c16a52fa6 100644 --- a/src/Menu/DeleteLink.coffee +++ b/src/Menu/DeleteLink.coffee @@ -83,7 +83,6 @@ DeleteLink = responseType: 'document' withCredentials: true onloadend: -> DeleteLink.load link, post, fileOnly, @response - , form: $.formData form load: (link, post, fileOnly, resDoc) -> diff --git a/src/Miscellaneous/Report.coffee b/src/Miscellaneous/Report.coffee index aad20ea1b..5ce9d1746 100644 --- a/src/Miscellaneous/Report.coffee +++ b/src/Miscellaneous/Report.coffee @@ -76,13 +76,13 @@ Report = results = [] for [name, url] in urls do (name, url) -> - $.ajax url, + $.ajax url, { onloadend: -> results.push [name, @response or {error: ''}] if results.length is urls.length cb results - , - {form} + form + } return archiveResults: (results) -> diff --git a/src/Posting/QR.coffee b/src/Posting/QR.coffee index 1f9040509..8a935a967 100644 --- a/src/Posting/QR.coffee +++ b/src/Posting/QR.coffee @@ -708,10 +708,9 @@ QR = responseType: 'document' withCredentials: true onloadend: QR.response - extra = form: $.formData formData if Conf['Show Upload Progress'] - extra.onprogress = (e) -> + options.onprogress = (e) -> if e.loaded < e.total # Uploading... QR.req.progress = "#{Math.round e.loaded / e.total * 100}%" @@ -725,11 +724,11 @@ QR = if response? QR.currentCaptcha = response if response.challenge? - extra.form.append 'recaptcha_challenge_field', response.challenge - extra.form.append 'recaptcha_response_field', response.response + options.form.append 'recaptcha_challenge_field', response.challenge + options.form.append 'recaptcha_response_field', response.response else - extra.form.append 'g-recaptcha-response', response.response - QR.req = $.ajax "https://sys.#{location.hostname.split('.')[1]}.org/#{g.BOARD}/post", options, extra + options.form.append 'g-recaptcha-response', response.response + QR.req = $.ajax "https://sys.#{location.hostname.split('.')[1]}.org/#{g.BOARD}/post", options QR.req.progress = '...' if typeof captcha is 'function' @@ -867,7 +866,6 @@ QR = cb() else setTimeout check, attempts * $.SECOND - , type: 'HEAD' check() diff --git a/src/platform/$.coffee b/src/platform/$.coffee index 34304f7a1..2031be9ee 100644 --- a/src/platform/$.coffee +++ b/src/platform/$.coffee @@ -46,9 +46,9 @@ $.ajax = do -> else pageXHR = XMLHttpRequest - (url, options={}, extra={}) -> - {type, onprogress, form, headers} = extra - options.responseType ?= 'json' + (url, options={}) -> + {onloadend, timeout, responseType, withCredentials, type, onprogress, form, headers} = options + responseType ?= 'json' # XXX https://forums.lanik.us/viewtopic.php?f=64&t=24173&p=78310 url = url.replace /^((?:https?:)?\/\/(?:\w+\.)?4c(?:ha|d)n\.org)\/adv\//, '$1//adv/' r = new pageXHR() @@ -57,7 +57,7 @@ $.ajax = do -> r.open type, url, true for key, value of (headers or {}) r.setRequestHeader key, value - $.extend r, options + $.extend r, {onloadend, timeout, responseType, withCredentials} $.extend r.upload, {onprogress} # connection error or content blocker $.on r, 'error', -> (c.warn "4chan X failed to load: #{url}" unless r.status) @@ -72,9 +72,9 @@ $.ajax = do -> catch err # XXX Some content blockers in Firefox (e.g. Adblock Plus and NoScript) throw an exception instead of simulating a connection error. throw err unless err.result is 0x805e0006 - for event in ['error', 'loadend'] - r["on#{event}"] = options["on#{event}"] - $.queueTask $.event, event, null, r + r.onloadend = onloadend + $.queueTask $.event, 'error', null, r + $.queueTask $.event, 'loadend', null, r r # Status Code 304: Not modified