Use Base64 for encoding asciicast data during transfer

openid
Marcin Kulik 12 years ago
parent cbc845a2ef
commit 4d1afcf01a

@ -28,7 +28,9 @@ class AsciiIo.Movie
@_data = event.data
@trigger('movie-loaded', @model)
worker.postMessage(@model.get('escaped_stdout_data'))
data = @model.get('escaped_stdout_data')
data = atob(data)
worker.postMessage(data)
else
@trigger('movie-loaded', @model)
@ -39,7 +41,7 @@ class AsciiIo.Movie
unless @_data
# fallback for webworker
d = @model.get('escaped_stdout_data')
d = eval "'" + d + "'"
d = atob(d)
d = ArchUtils.bz2.decode(d)
@_data = d

@ -1,3 +1,5 @@
require 'base64'
class AsciicastDecorator < ApplicationDecorator
decorates :asciicast
@ -14,7 +16,7 @@ class AsciicastDecorator < ApplicationDecorator
def escaped_stdout_data
if data = stdout.read
data.bytes.map { |b| '\x' + format('%02x', b) }.join
Base64.strict_encode64(data)
else
nil
end

@ -444,7 +444,6 @@ this.tell = function() {
this.onmessage = function(e) {
var data = e.data;
data = eval("'" + data + "'");
data = ArchUtils.bz2.decode(data);
postMessage(data);

Loading…
Cancel
Save