diff --git a/README.md b/README.md
index 7d2f1d44..17d42f41 100644
--- a/README.md
+++ b/README.md
@@ -84,11 +84,16 @@ Browser Support
I only currently test under Linux. Here are the current results:
-* Chrome 5.0.* beta: Works great. Native WebSockets support. Very fast.
+* Chrome 5.0.375.29 beta: Works great. Native WebSockets support. Very
+ fast.
* firefox 3.5, 3.7: Works. Uses flash WebSockets emulator. Large
- desktops with full-color image backgrounds are slow.
+ full-color images are slow.
+* Arora 0.50: Works. Broken putImageData so large full-color images
+ are slow.
+
* Opera 10.10: Unusable: drops web-socket-js events.
-* Opera 10.60: Unusable: throws "WRONG_ARGUMENTS_ERR" on connect.
+* Opera 10.60: Broken: throws "WRONG_ARGUMENTS_ERR" on connect.
+* Konqueror 4.2.2: Broken: flash WebSockets emulator never connects.
Integration
diff --git a/include/base64.js b/include/base64.js
index 2d86f044..bdc87fd4 100644
--- a/include/base64.js
+++ b/include/base64.js
@@ -49,7 +49,7 @@ base64Pad : '=',
encode: function (data) {
var result = '';
- var chrTable = Base64.toBase64Table;
+ var chrTable = Base64.toBase64Table.split('');
var pad = Base64.base64Pad;
var length = data.length;
var i;
@@ -107,11 +107,11 @@ decode: function (data, offset) {
// Convert one by one.
var idx = 0;
for (var i = offset; i < data.length; i++) {
- var c = binTable[data[i].charCodeAt(0) & 0x7f];
- var padding = (data[i] == pad);
+ var c = binTable[data.charCodeAt(i) & 0x7f];
+ var padding = (data.charAt(i) == pad);
// Skip illegal characters and whitespace
if (c == -1) {
- console.log("Illegal character '" + data[i].charCodeAt(0) + "'");
+ console.log("Illegal character '" + data.charCodeAt(i) + "'");
continue;
}
diff --git a/include/canvas.js b/include/canvas.js
index a597dbe2..dcab8454 100644
--- a/include/canvas.js
+++ b/include/canvas.js
@@ -10,10 +10,22 @@
/*jslint white: false, bitwise: false */
/*global window, console, $, Util */
-// Everything namespaced inside Canvas
-var Canvas = {
+var Canvas, Canvas_native;
-prefer_js : false,
+(function () {
+ var pre, extra = "", start, end;
+ if (document.createElement('canvas').getContext) {
+ Canvas_native = true;
+ } else {
+ Canvas_native = false;
+ document.write("
-->
-
-
-
+