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