Преглед изворни кода

IE9 fixes: mouse, doctype. Adobe Flash link.

Fix mouse button mapping in IE9. All browsers have converged on
a standard left=0, middle=1, right=2 ... all except IE that is.

Add html5 doctype to tests.

In vnc_perf test, use do_test instead of start for function name since
start is a keyword in IE.

In error about Flash give a link to Adobe's download page.
Joel Martin пре 14 година
родитељ
комит
f899070482
7 измењених фајлова са 19 додато и 5 уклоњено
  1. 11 2
      include/canvas.js
  2. 1 1
      include/rfb.js
  3. 1 0
      tests/canvas.html
  4. 1 0
      tests/input.html
  5. 1 0
      tests/keyboard.html
  6. 3 2
      tests/vnc_perf.html
  7. 1 0
      tests/vnc_playback.html

+ 11 - 2
include/canvas.js

@@ -221,8 +221,17 @@ function onMouseButton(e, down) {
     }
     evt = (e ? e : window.event);
     pos = Util.getEventPosition(e, conf.target, conf.scale);
-    bmask = 1 << evt.button;
-    //Util.Debug('mouse ' + pos.x + "," + pos.y + " down: " + down + " bmask: " + bmask);
+    if (evt.which) {
+        /* everything except IE */
+        bmask = 1 << evt.button;
+    } else {
+        /* IE including 9 */
+        bmask = (evt.button & 0x1) +      // Left
+                (evt.button & 0x2) * 2 +  // Right
+                (evt.button & 0x4) / 2;   // Middle
+    }
+    //Util.Debug("mouse " + pos.x + "," + pos.y + " down: " + down +
+    //           " bmask: " + bmask + "(evt.button: " + evt.button + ")");
     if (c_mouseButton) {
         c_mouseButton(pos.x, pos.y, down, bmask);
     }

+ 1 - 1
include/rfb.js

@@ -203,7 +203,7 @@ function constructor() {
                   Util.Flash.version);
         if ((! Util.Flash) ||
             (Util.Flash.version < 9)) {
-            updateState('fatal', "WebSockets or Adobe Flash is required");
+            updateState('fatal', "WebSockets or <a href='http://get.adobe.com/flashplayer'>Adobe Flash<\/a> is required");
         } else if (document.location.href.substr(0, 7) === "file://") {
             updateState('fatal',
                     "'file://' URL is incompatible with Adobe Flash");

+ 1 - 0
tests/canvas.html

@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
     <head>
         <title>Canvas Performance Test</title>

+ 1 - 0
tests/input.html

@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
     <head><title>Input Test</title></head>
     <body>

+ 1 - 0
tests/keyboard.html

@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
     <head><title>Input Test</title></head>
     <body>

+ 3 - 2
tests/vnc_perf.html

@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
     <head>
         <title>VNC Performance Benchmark</title>
@@ -8,7 +9,7 @@
         Passes: <input id='passes' style='width:50' value=3>&nbsp;
 
         <input id='startButton' type='button' value='Start' style='width:100px'
-            onclick="start();" disabled>&nbsp;
+            onclick="do_test();" disabled>&nbsp;
 
         <br><br>
 
@@ -79,7 +80,7 @@
             }
         }
 
-        function start() {
+        function do_test() {
             $D('startButton').value = "Running";
             $D('startButton').disabled = true;
 

+ 1 - 0
tests/vnc_playback.html

@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
     <head>
         <title>VNC Playback</title>