diff options
author | Solly Ross <sross@redhat.com> | 2016-01-06 13:26:26 -0500 |
---|---|---|
committer | Solly Ross <sross@redhat.com> | 2016-01-06 13:32:05 -0500 |
commit | 4ee55e01266769ea0711f74464162ba190a7e3a9 (patch) | |
tree | c551b2871e800fc8d7e663b755ea3e31c642ff99 | |
parent | 464944844f039eea05fa19b0d1747d7ac28c4ac3 (diff) | |
download | novnc-4ee55e01266769ea0711f74464162ba190a7e3a9.tar.gz |
Fixed vnc_perf.html
This commit updates vnc_perf.html so that it works with the current
version of noVNC. It also introduces a utility to convert noVNC session
recordings recorded in base64-mode to binary-mode recordings, since noVNC
no longer supports base64-mode.
Fixes #479.
-rw-r--r-- | tests/vnc_perf.html | 24 | ||||
-rw-r--r-- | tests/vnc_playback.html | 2 | ||||
-rwxr-xr-x | utils/b64-to-binary.pl | 17 |
3 files changed, 32 insertions, 11 deletions
diff --git a/tests/vnc_perf.html b/tests/vnc_perf.html index 5129578..9acea88 100644 --- a/tests/vnc_perf.html +++ b/tests/vnc_perf.html @@ -38,17 +38,23 @@ <script type="text/javascript"> var INCLUDE_URI= "../include/"; // TODO: Data file should override - var VNC_frame_encoding = "base64"; + var VNC_frame_encoding = "binary"; </script> <script src="../include/util.js"></script> - <script src="../include/playback.js"></script> - <script src="../data/multi.js"></script> + <script src="../include/webutil.js"></script> <script> - // Load supporting scripts - Util.load_scripts(["webutil.js", "base64.js", "websock.js", "des.js", - "keysymdef.js", "keyboard.js", "input.js", "display.js", - "rfb.js"]); + var fname = WebUtil.getQueryVar('data', null); + if (fname) { + msg("Loading " + fname); + + // Load supporting scripts + Util.load_scripts(["base64.js", "websock.js", "des.js", "keysym.js", + "keysymdef.js", "keyboard.js", "input.js", "display.js", + "rfb.js", "playback.js", "inflator.js", fname]); + } else { + msg("Must specifiy data=FOO.js in query string."); + } var start_time, VNC_frame_data, pass, passes, encIdx, encOrder = ['raw', 'rre', 'hextile', 'tightpng', 'copyrect'], @@ -201,9 +207,7 @@ enc = encOrder[i]; dbgmsg(" " + enc + ": " + VNC_frame_data_multi[enc].length); } - rfb = new RFB({'target': $D('VNC_canvas'), - 'onUpdateState': updateState}); - rfb.testMode(send_array, VNC_frame_encoding); + $D('startButton').disabled = false; } </script> </html> diff --git a/tests/vnc_playback.html b/tests/vnc_playback.html index f36f1e6..cfc5953 100644 --- a/tests/vnc_playback.html +++ b/tests/vnc_playback.html @@ -40,7 +40,7 @@ <script type="text/javascript"> var INCLUDE_URI= "../include/"; // TODO: Data file should override - var VNC_frame_encoding = "base64"; + var VNC_frame_encoding = "binary"; </script> <script src="../include/util.js"></script> <script src="../include/webutil.js"></script> diff --git a/utils/b64-to-binary.pl b/utils/b64-to-binary.pl new file mode 100755 index 0000000..280e28c --- /dev/null +++ b/utils/b64-to-binary.pl @@ -0,0 +1,17 @@ +#!/usr/bin/env perl +use MIME::Base64; + +for (<>) { + unless (/^'([{}])(\d+)\1(.+?)',$/) { + print; + next; + } + + my ($dir, $amt, $b64) = ($1, $2, $3); + + my $decoded = MIME::Base64::decode($b64) or die "Could not base64-decode line `$_`"; + + my $decoded_escaped = join "", map { "\\x$_" } unpack("(H2)*", $decoded); + + print "'${dir}${amt}${dir}${decoded_escaped}',\n"; +} |