Finish proofreading.
This commit is contained in:
parent
962ad27222
commit
f30cc383ec
125
4chan_x.user.js
125
4chan_x.user.js
@ -1229,7 +1229,7 @@
|
||||
var i, spoiler, _i, _len, _ref;
|
||||
qr.el.hidden = true;
|
||||
qr.message.send({
|
||||
abort: true
|
||||
req: 'abort'
|
||||
});
|
||||
d.activeElement.blur();
|
||||
$.removeClass(qr.el, 'dump');
|
||||
@ -1639,7 +1639,7 @@
|
||||
return;
|
||||
}
|
||||
qr.message.send({
|
||||
abort: true
|
||||
req: 'abort'
|
||||
});
|
||||
reply = qr.replies[0];
|
||||
if (!(reply.com || reply.file)) {
|
||||
@ -1775,21 +1775,20 @@
|
||||
});
|
||||
ready = function() {
|
||||
if (location.hostname === 'sys.4chan.org') {
|
||||
$.rm(script);
|
||||
return qr.message.send({
|
||||
status: true,
|
||||
req: 'status',
|
||||
ready: true
|
||||
});
|
||||
}
|
||||
};
|
||||
if (d.documentElement) {
|
||||
$.add(d.documentElement, script);
|
||||
$.rm(script);
|
||||
ready();
|
||||
return;
|
||||
}
|
||||
return $.ready(function() {
|
||||
$.add(d.head, script);
|
||||
$.rm(script);
|
||||
return ready();
|
||||
});
|
||||
},
|
||||
@ -1799,65 +1798,69 @@
|
||||
return postMessage(data, '*');
|
||||
},
|
||||
receive: function(data) {
|
||||
var bb, form, i, l, name, ui8a, url, val, _ref;
|
||||
if (data.abort) {
|
||||
if ((_ref = qr.ajax) != null) _ref.abort();
|
||||
qr.message.send({
|
||||
status: true
|
||||
});
|
||||
return;
|
||||
var _ref;
|
||||
switch (data.req) {
|
||||
case 'abort':
|
||||
if ((_ref = qr.ajax) != null) _ref.abort();
|
||||
return qr.message.send({
|
||||
req: 'status'
|
||||
});
|
||||
case 'response':
|
||||
return qr.response(data.html);
|
||||
case 'status':
|
||||
return qr.status(data);
|
||||
default:
|
||||
return qr.message.post(data);
|
||||
}
|
||||
if (data.response) {
|
||||
qr.response(data.html);
|
||||
return;
|
||||
},
|
||||
post: function(data) {
|
||||
var bb, callbacks, form, i, l, name, opts, ui8a, url, val;
|
||||
form = new FormData();
|
||||
if (engine === 'gecko' && data.upfile) {
|
||||
l = data.upfile.buffer.length;
|
||||
ui8a = new Uint8Array(l);
|
||||
for (i = 0; 0 <= l ? i < l : i > l; 0 <= l ? i++ : i--) {
|
||||
ui8a[i] = data.upfile.buffer.charCodeAt(i);
|
||||
}
|
||||
bb = new MozBlobBuilder();
|
||||
bb.append(ui8a.buffer);
|
||||
form.append('upfile', bb.getBlob(data.upfile.type), data.upfile.name);
|
||||
delete data.upfile;
|
||||
}
|
||||
if (data.status) qr.status(data);
|
||||
url = "http://sys.4chan.org/" + data.board + "/post";
|
||||
delete data.board;
|
||||
delete data.qr;
|
||||
if (data.mode === 'regist') {
|
||||
url = "http://sys.4chan.org/" + data.board + "/post";
|
||||
delete data.board;
|
||||
form = new FormData();
|
||||
if (engine === 'gecko' && data.upfile) {
|
||||
l = data.upfile.buffer.length;
|
||||
ui8a = new Uint8Array(l);
|
||||
for (i = 0; 0 <= l ? i < l : i > l; 0 <= l ? i++ : i--) {
|
||||
ui8a[i] = data.upfile.buffer.charCodeAt(i);
|
||||
}
|
||||
bb = new MozBlobBuilder();
|
||||
bb.append(ui8a.buffer);
|
||||
form.append('upfile', bb.getBlob(data.upfile.type), data.upfile.name);
|
||||
delete data.upfile;
|
||||
}
|
||||
for (name in data) {
|
||||
val = data[name];
|
||||
if (val) form.append(name, val);
|
||||
}
|
||||
return qr.ajax = $.ajax(url, {
|
||||
onload: (function() {
|
||||
return qr.message.send({
|
||||
response: true,
|
||||
html: this.response
|
||||
});
|
||||
})
|
||||
}, {
|
||||
form: form,
|
||||
type: 'post',
|
||||
upCallbacks: {
|
||||
onload: function() {
|
||||
return qr.message.send({
|
||||
status: true,
|
||||
progress: '...'
|
||||
});
|
||||
},
|
||||
onprogress: function(e) {
|
||||
return qr.message.send({
|
||||
status: true,
|
||||
progress: "" + (Math.round(e.loaded / e.total * 100)) + "%"
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
for (name in data) {
|
||||
val = data[name];
|
||||
if (val) form.append(name, val);
|
||||
}
|
||||
callbacks = {
|
||||
onload: function() {
|
||||
return qr.message.send({
|
||||
req: 'response',
|
||||
html: this.response
|
||||
});
|
||||
}
|
||||
};
|
||||
opts = {
|
||||
form: form,
|
||||
type: 'post',
|
||||
upCallbacks: {
|
||||
onload: function() {
|
||||
return qr.message.send({
|
||||
req: 'status',
|
||||
progress: '...'
|
||||
});
|
||||
},
|
||||
onprogress: function(e) {
|
||||
return qr.message.send({
|
||||
req: 'status',
|
||||
progress: "" + (Math.round(e.loaded / e.total * 100)) + "%"
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return qr.ajax = $.ajax(url, callbacks, opts);
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -2303,7 +2306,7 @@
|
||||
d.title = d.title.match(/^.+-/)[0] + ' 404';
|
||||
g.dead = true;
|
||||
qr.message.send({
|
||||
abort: true
|
||||
req: 'abort'
|
||||
});
|
||||
qr.status();
|
||||
Favicon.update();
|
||||
|
||||
103
script.coffee
103
script.coffee
@ -887,7 +887,7 @@ qr =
|
||||
qr.dialog()
|
||||
close: ->
|
||||
qr.el.hidden = true
|
||||
qr.message.send abort: true
|
||||
qr.message.send req: 'abort'
|
||||
d.activeElement.blur()
|
||||
$.removeClass qr.el, 'dump'
|
||||
for i in qr.replies
|
||||
@ -1212,7 +1212,7 @@ qr =
|
||||
qr.cooldown.auto = !qr.cooldown.auto
|
||||
qr.status()
|
||||
return
|
||||
qr.message.send abort: true
|
||||
qr.message.send req: 'abort'
|
||||
reply = qr.replies[0]
|
||||
|
||||
# prevent errors
|
||||
@ -1355,63 +1355,76 @@ qr =
|
||||
script = $.el 'script', textContent: "window.addEventListener('message',#{code},false)"
|
||||
ready = ->
|
||||
if location.hostname is 'sys.4chan.org'
|
||||
qr.message.send status: true, ready: true
|
||||
$.rm script
|
||||
qr.message.send req: 'status', ready: true
|
||||
# Chrome can access the documentElement on document-start
|
||||
if d.documentElement
|
||||
$.add d.documentElement, script
|
||||
$.rm script
|
||||
ready()
|
||||
return
|
||||
# other browsers will have to wait
|
||||
$.ready ->
|
||||
$.add d.head, script
|
||||
$.rm script
|
||||
ready()
|
||||
send: (data) ->
|
||||
data.changeContext = true
|
||||
data.qr = true
|
||||
postMessage data, '*'
|
||||
receive: (data) ->
|
||||
if data.abort
|
||||
qr.ajax?.abort()
|
||||
qr.message.send status: true
|
||||
return
|
||||
if data.response # xhr response
|
||||
qr.response data.html
|
||||
return
|
||||
if data.status
|
||||
qr.status data
|
||||
switch data.req
|
||||
when 'abort'
|
||||
qr.ajax?.abort()
|
||||
qr.message.send req: 'status'
|
||||
when 'response' # xhr response
|
||||
qr.response data.html
|
||||
when 'status'
|
||||
qr.status data
|
||||
else
|
||||
qr.message.post data # Reply object: we're posting
|
||||
|
||||
post: (data) ->
|
||||
form = new FormData()
|
||||
|
||||
if engine is 'gecko' and data.upfile
|
||||
# binary string to ArrayBuffer code from Aeosynth's 4chan X
|
||||
l = data.upfile.buffer.length
|
||||
ui8a = new Uint8Array l
|
||||
for i in [0...l]
|
||||
ui8a[i] = data.upfile.buffer.charCodeAt i
|
||||
bb = new MozBlobBuilder()
|
||||
bb.append ui8a.buffer
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=690659
|
||||
# Firefox does not support assigning a filename when appending a blob to a FormData.
|
||||
form.append 'upfile', bb.getBlob(data.upfile.type), data.upfile.name
|
||||
delete data.upfile
|
||||
|
||||
url = "http://sys.4chan.org/#{data.board}/post"
|
||||
# Do not append these values to the form.
|
||||
delete data.board
|
||||
delete data.qr
|
||||
if data.mode is 'regist' # reply object: we're posting
|
||||
url = "http://sys.4chan.org/#{data.board}/post"
|
||||
delete data.board
|
||||
form = new FormData()
|
||||
if engine is 'gecko' and data.upfile
|
||||
# binary string to ArrayBuffer code from Aeosynth's 4chan X
|
||||
l = data.upfile.buffer.length
|
||||
ui8a = new Uint8Array l
|
||||
for i in [0...l]
|
||||
ui8a[i] = data.upfile.buffer.charCodeAt i
|
||||
bb = new MozBlobBuilder()
|
||||
bb.append ui8a.buffer
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=690659
|
||||
# Firefox does not support assigning a filename when appending a blob to a FormData
|
||||
form.append 'upfile', bb.getBlob(data.upfile.type), data.upfile.name
|
||||
delete data.upfile
|
||||
for name, val of data
|
||||
form.append name, val if val
|
||||
qr.ajax = $.ajax url, onload: (-> qr.message.send response: true, html: @response),
|
||||
form: form
|
||||
type: 'post'
|
||||
upCallbacks:
|
||||
onload: ->
|
||||
qr.message.send
|
||||
status: true
|
||||
progress: '...'
|
||||
onprogress: (e) ->
|
||||
qr.message.send
|
||||
status: true
|
||||
progress: "#{Math.round e.loaded / e.total * 100}%"
|
||||
|
||||
for name, val of data
|
||||
form.append name, val if val
|
||||
|
||||
callbacks =
|
||||
onload: ->
|
||||
qr.message.send
|
||||
req: 'response'
|
||||
html: @response
|
||||
opts =
|
||||
form: form
|
||||
type: 'post'
|
||||
upCallbacks:
|
||||
onload: ->
|
||||
qr.message.send
|
||||
req: 'status'
|
||||
progress: '...'
|
||||
onprogress: (e) ->
|
||||
qr.message.send
|
||||
req: 'status'
|
||||
progress: "#{Math.round e.loaded / e.total * 100}%"
|
||||
|
||||
qr.ajax = $.ajax url, callbacks, opts
|
||||
|
||||
options =
|
||||
init: ->
|
||||
@ -1798,7 +1811,7 @@ updater =
|
||||
clearTimeout updater.timeoutID
|
||||
d.title = d.title.match(/^.+-/)[0] + ' 404'
|
||||
g.dead = true
|
||||
qr.message.send abort: true
|
||||
qr.message.send req: 'abort'
|
||||
qr.status()
|
||||
Favicon.update()
|
||||
return
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user