]> git.proxmox.com Git - mirror_novnc.git/commitdiff
fixes an error that was made in the merge with the last sync with websockify.
authorsamhed <samuel@cendio.se>
Tue, 19 Aug 2014 11:49:55 +0000 (13:49 +0200)
committersamhed <samuel@cendio.se>
Tue, 19 Aug 2014 11:49:55 +0000 (13:49 +0200)
include/websock.js

index 01a24c3faa3c27bf74420aeba22e0193238bad04..0e4718ab9ddfef88234b43ee6a0a213e8459d5b9 100644 (file)
@@ -262,7 +262,7 @@ function on(evt, handler) {
     eventHandlers[evt] = handler;
 }
 
-function init(protocols) {
+function init(protocols, ws_schema) {
     rQ         = [];
     rQi        = 0;
     sQ         = [];
@@ -277,12 +277,13 @@ function init(protocols) {
         ('set' in Uint8Array.prototype)) {
         bt = true;
     }
-
-    // Check for full binary type support in WebSockets
-    // TODO: this sucks, the property should exist on the prototype
-    // but it does not.
+    // Check for full binary type support in WebSocket
+    // Inspired by:
+    // https://github.com/Modernizr/Modernizr/issues/370
+    // https://github.com/Modernizr/Modernizr/blob/master/feature-detects/websockets/binary.js
     try {
-        if (bt && ('binaryType' in (new WebSocket("ws://localhost:17523")))) {
+        if (bt && ('binaryType' in WebSocket.prototype ||
+                   !!(new WebSocket(ws_schema + '://.').binaryType))) {
             Util.Info("Detected binaryType support in WebSockets");
             wsbt = true;
         }
@@ -325,7 +326,8 @@ function init(protocols) {
 }
 
 function open(uri, protocols) {
-    protocols = init(protocols);
+    var ws_schema = uri.match(/^([a-z]+):\/\//)[1];
+    protocols = init(protocols, ws_schema);
 
     if (test_mode) {
         websocket = {};