]> git.proxmox.com Git - mirror_novnc.git/log
mirror_novnc.git
8 years agoUse Typed Arrays for the send queue
Solly Ross [Thu, 28 May 2015 19:28:30 +0000 (15:28 -0400)]
Use Typed Arrays for the send queue

This commit converts the send queue to use typed arrays, and converts
message creation functions in 'rfb.js' to create messages directly into
the socket's send queue.  This commit also removes the separate mouse array,
which is no longer needed.

8 years agoAvoid Creating Small Objects Frequently
Solly Ross [Thu, 28 May 2015 19:27:40 +0000 (15:27 -0400)]
Avoid Creating Small Objects Frequently

Creating lots of small objects frequently can drastically decrease
performance.  This commit introduces three fixes which avoid this:

- Use a preallocated palette and indexed-to-rgb destination Typed Array
  (the destination typed array is currently allocated at `4 * width *
  height`).

- Inline `getTightCLength`, which returned a two-item array.

- Pass RGBX data directly in a Typed Array to the Display, which
  avoids an extra loop, and only creates a new Typed Array View,
  instead of a whole new ArrayBuffer.

8 years agoUse Typed Arrays for the Websock receive queue
Solly Ross [Wed, 20 May 2015 21:10:59 +0000 (17:10 -0400)]
Use Typed Arrays for the Websock receive queue

**This commit removes Base64 (and Flash) support**

This commit converts websock.js to used Typed Arrays for the
receive queue (and tweaks rfb.js to ensure that it continues
to function, since only Firefox implements
`%TypedArray%.prototype.slice`).  Base64 support was removed
to simplify code paths, and pave the way for using Typed Arrays
for the send queue as well.

This provides two advantages: first, we allocate a buffer ahead
of time, meaning the browser doesn't have to do any work dynamically
increasing the receive queue size.  Secondly, we are now able to pass
around Typed Array Views (e.g. `Uint8Array`), which are lightweight, and
don't involve copying.

The downside is that we initially allocate more memory -- we currently
start out with 4 MiB, and then automatically double when it looks like
the amount unused is getting to small.

The commit also explicitly adds a check to the compacting logic that
avoids calling the copy functions if `_rQlen === _rQi`.

8 years agoRemove unecessarily nested loop
Solly Ross [Tue, 19 May 2015 20:49:39 +0000 (16:49 -0400)]
Remove unecessarily nested loop

This commit removes a nested loop in indexedToRGB, converting it into a
plain loop without multiplication.

8 years agoWIP: Switch to Pako for zlib
Solly Ross [Mon, 18 May 2015 23:01:58 +0000 (19:01 -0400)]
WIP: Switch to Pako for zlib

This commit introduces an alternate implementation of the zlib
decompressor based on Pako (https://github.com/nodeca/pako).

8 years agoFix RFB.js JSHint Errors
Solly Ross [Tue, 4 Aug 2015 19:50:20 +0000 (15:50 -0400)]
Fix RFB.js JSHint Errors

This fixes a couple of JSHint errors in RFB.js caused
by using `==` instead of `===`.

8 years agoFix up vnc_playback.html and playback.js
Solly Ross [Fri, 15 May 2015 18:27:23 +0000 (14:27 -0400)]
Fix up vnc_playback.html and playback.js

This commit fixes vnc_playback.html and playback.js
so that they work with the current version of noVNC.

8 years agoCI: Switch to Container-Based Travis
Solly Ross [Thu, 6 Aug 2015 18:37:01 +0000 (14:37 -0400)]
CI: Switch to Container-Based Travis

This commit switches the Travis tests over to Travis's new
container-based infrastructure.  It also tells Travis to
cache the node_modules directory for faster setup.

8 years agoMerge pull request #499 from samhed/fullscreen
Samuel [Wed, 1 Jul 2015 11:16:53 +0000 (13:16 +0200)]
Merge pull request #499 from samhed/fullscreen

Add option to toggle fullscreen mode

8 years ago* Hide the fullscreen toggle button on Safari since alphanumerical
samhed [Thu, 25 Jun 2015 20:28:04 +0000 (22:28 +0200)]
* Hide the fullscreen toggle button on Safari since alphanumerical
  keyboard input doesn't work in fullscreen.
* Force clipping mode in Internet Explorer while in fullscreen since
  scrollbars doesn't work in fullscreen.

8 years agoAdapt display to be able to handle a changing clipping-setting while connected
samhed [Thu, 25 Jun 2015 12:58:57 +0000 (14:58 +0200)]
Adapt display to be able to handle a changing clipping-setting while connected

8 years agoFixes #498 - Add the ability to toggle fullscreen mode
samhed [Thu, 18 Jun 2015 08:45:59 +0000 (10:45 +0200)]
Fixes #498 - Add the ability to toggle fullscreen mode

8 years agoFix error from a previous commit, there is no data type called 'text'..
samhed [Thu, 25 Jun 2015 20:34:44 +0000 (22:34 +0200)]
Fix error from a previous commit, there is no data type called 'text'..

8 years agoRenamed popupStatusPanel to popupStatus and removed the global variable
samhed [Thu, 25 Jun 2015 15:04:55 +0000 (17:04 +0200)]
Renamed popupStatusPanel to popupStatus and removed the global variable
which kept track on if it was open or not (it automatically closes after
1.5 seconds anyway).

8 years agoClarified enableDisableClip (now called enableDisableViewClip) and
samhed [Thu, 25 Jun 2015 13:29:23 +0000 (15:29 +0200)]
Clarified enableDisableClip (now called enableDisableViewClip) and
moved it to where the other clipping functions are.

8 years agoAllow the popupStatusPanel to show any text but close it on a 1.5 second timer.
samhed [Thu, 25 Jun 2015 13:22:53 +0000 (15:22 +0200)]
Allow the popupStatusPanel to show any text but close it on a 1.5 second timer.

8 years agoClarify code with regards to the viewport drag functionality
samhed [Wed, 24 Jun 2015 14:20:03 +0000 (16:20 +0200)]
Clarify code with regards to the viewport drag functionality
* Fixes #502 so that the viewport drag functionality can't get stuck

9 years agoAlways show the viewport drag button on touch devices to keep the GUI from
samhed [Tue, 16 Jun 2015 20:39:17 +0000 (22:39 +0200)]
Always show the viewport drag button on touch devices to keep the GUI from
"jumping around". Enable/disable the button instead of show/hide on these
devices.

9 years agoMerge pull request #497 from MOZGIII/MOZGIII-patch-vnc-auto-fix
Solly [Fri, 12 Jun 2015 18:34:34 +0000 (14:34 -0400)]
Merge pull request #497 from MOZGIII/MOZGIII-patch-vnc-auto-fix

Fixed incorrect UI usage and minor updateState params errors in vnc_auto.html

9 years agoFixed incorrect UI usage and minor updateState params errors in vnc_auto.html
MOZGIII [Fri, 12 Jun 2015 17:41:41 +0000 (20:41 +0300)]
Fixed incorrect UI usage and minor updateState params errors in vnc_auto.html

9 years agoReverting most of commit cb3e4de. The issue was not related to using keyboardinputRes...
samhed [Tue, 19 May 2015 11:34:50 +0000 (13:34 +0200)]
Reverting most of commit cb3e4de. The issue was not related to using keyboardinputReset.. the issue was infact a typo which was introduced in 3b8ec46. I must be too tired..

9 years agoStop using keyboardinputReset at the start of keyInput
samhed [Tue, 19 May 2015 10:42:33 +0000 (12:42 +0200)]
Stop using keyboardinputReset at the start of keyInput
* This fixes backspace when using the on-screen keyboard on Android

9 years agoUpdate LICENSE.txt
Samuel [Tue, 5 May 2015 11:13:17 +0000 (13:13 +0200)]
Update LICENSE.txt

Removed old no longer existing vnc.js and added playback.js

9 years agoMerge pull request #483 from fabian-z/master
Samuel [Mon, 4 May 2015 10:17:30 +0000 (12:17 +0200)]
Merge pull request #483 from fabian-z/master

Make noVNC compatible with Content Security Policies

9 years agoMove #keyboardinput declarations to base.css/ui.js
Fabian Zaremba [Sun, 3 May 2015 17:28:05 +0000 (19:28 +0200)]
Move #keyboardinput declarations to base.css/ui.js

9 years agoRe-fixes #428 which was broken by commit 58ded70
samhed [Wed, 29 Apr 2015 12:54:28 +0000 (14:54 +0200)]
Re-fixes #428 which was broken by commit 58ded70
* Disable local cursor when the browser doesn't support data uri

9 years agoMerge pull request #415 from jimdigriz/fixes
Solly [Tue, 7 Apr 2015 18:29:46 +0000 (14:29 -0400)]
Merge pull request #415 from jimdigriz/fixes

slip in PATH for 'npm test' as not everyone has karma

9 years agoMerge pull request #474 from kanaka/bug/throw-error-from-constructor
Solly [Fri, 27 Mar 2015 17:23:32 +0000 (13:23 -0400)]
Merge pull request #474 from kanaka/bug/throw-error-from-constructor

Throw exceptions from RFB constructor

9 years agoMerge pull request #475 from kanaka/bug/follow-symlinks-for-here
Solly [Fri, 27 Mar 2015 15:54:39 +0000 (11:54 -0400)]
Merge pull request #475 from kanaka/bug/follow-symlinks-for-here

Follow symbolic links in launch.sh

9 years agoThrow exceptions from RFB constructor
Solly Ross [Tue, 24 Mar 2015 20:02:53 +0000 (16:02 -0400)]
Throw exceptions from RFB constructor

Previously, if an error was thrown from the Display constructor
in the RFB constructor, we would attempt to use `RFB#updateState`
to handle this.  However, `RFB#updateState` attempts to close
the WebSocket connection, which doesn't exist at this point.

In the constructor, it's probably just better to raise an exception
instead (making sure to clean up anything relevant).

Fixes #460

9 years agoCreate RFB object on connect
Solly Ross [Tue, 24 Mar 2015 19:05:38 +0000 (15:05 -0400)]
Create RFB object on connect

In e543525faa9cf0d683f41e183e89cd909f3dd229, we switched to creating
a new RFB object on disconnect.  This caused issues, however, since
any errors were only displayed briefly before the new "loaded" text
was displayed instead.

Now, we create the RFB object on connect.  This essentially removes
the usefulness of the "loaded" state, but prevents the aforementioned
problem.

To facilitate this, the code which does detection of cursor URI support
was moved from this Display constructor (which now calls the new
function) into its own function, `Util.browserSupportsCursorURIs()`.

Fixes #467

9 years agoFollow symbolic links in launch.sh
Solly Ross [Thu, 26 Mar 2015 20:57:17 +0000 (16:57 -0400)]
Follow symbolic links in launch.sh

Previously, in launch.sh, `$HERE` was the directory of `$0`.
However, if `$0` was actually a symlink, `$HERE` would be
wherever the symlink was, which could cause issues (for
example, the script wouldn't be able to local `$WEB` or
`$WEBSOCKIFY` properly).

Now, `$HERE` looks at whatever `$0` points at instead.

Closes #447.

9 years agoMake getCanvasLimit more efficient by only calling getPosition once.
samhed [Wed, 11 Mar 2015 06:29:30 +0000 (07:29 +0100)]
Make getCanvasLimit more efficient by only calling getPosition once.

9 years agoMerge pull request #464 from kanaka/bug/firefoxresize
Solly [Tue, 10 Mar 2015 21:13:21 +0000 (17:13 -0400)]
Merge pull request #464 from kanaka/bug/firefoxresize

Fix resize in Firefox on Android

9 years ago* Don't check specific html elements from the display code (Fixes #446)
samhed [Mon, 9 Mar 2015 13:30:56 +0000 (14:30 +0100)]
* Don't check specific html elements from the display code (Fixes #446)
* Renamed and reworked fbuClip to clippingDisplay
* Added tests for clippingDisplay
* Use the a noVNC_container which covers the entire page to get the full size
  (Fixes #463)
* Added maxWidth and maxHeight to the canvas which can limit the viewport size
* Only show either the canvas or the logo, hide one when the other is shown
* Always center the canvas (previously it was only centered when not clipping)
* Removed iOS specific "position-fixed" fixes and start calling setBarPosition
  on every resize
* Removed the noVNC_screen_pad

9 years ago* Change name of ext_desktop_size to the proper ExtendedDesktopSize
samhed [Thu, 5 Mar 2015 13:56:47 +0000 (14:56 +0100)]
* Change name of ext_desktop_size to the proper ExtendedDesktopSize
* Added better error handling in ExtendedDesktopSize
* Added helper function to share code with DesktopSize
* Update test.rfb.js to only check for error handling if we were the
  ones requesting the resize

9 years agoMake the touch-keyboard code more robust through verifying that global variables...
samhed [Thu, 5 Mar 2015 08:54:56 +0000 (09:54 +0100)]
Make the touch-keyboard code more robust through verifying that global variables are set before use.

9 years agoMerge pull request #451 from kanaka/feature/scaling
Samuel [Thu, 5 Mar 2015 08:52:10 +0000 (09:52 +0100)]
Merge pull request #451 from kanaka/feature/scaling

Introduce Local Autoscaling

9 years agoSupport local scaling
Solly Ross [Wed, 18 Feb 2015 03:41:34 +0000 (22:41 -0500)]
Support local scaling

This commit adds two new addition scaling options.  Both options do
local scaling.  The first "Local Scaling", does both upscaling and
downscaling.  The second option, "Local Downscaling", only downscales.

This is based on work by @mightypenguin (with an additional bug
reported by @glazik12).

9 years agoUpdate UI to allow for different scaling modes
Solly Ross [Tue, 17 Feb 2015 23:53:38 +0000 (18:53 -0500)]
Update UI to allow for different scaling modes

This commit updates the UI to allow for different
scaling modes.  The "resize" option was changed to
be a dropdown with the following options: "None" (nothing),
"Remote Resizing" (SetDesktopSize).

9 years agoLaunch Sauce Connect through Travis
Solly Ross [Fri, 27 Feb 2015 20:04:34 +0000 (15:04 -0500)]
Launch Sauce Connect through Travis

This commit makes Travis launch sauce connect, instead of
using karma to start Sauce Connect

9 years agoMerge pull request #461 from kanaka/bug/459-incorrect-position-with-scrollbars
Solly [Fri, 27 Feb 2015 19:11:46 +0000 (14:11 -0500)]
Merge pull request #461 from kanaka/bug/459-incorrect-position-with-scrollbars

Make Util.getPosition be relative to page

9 years agoMake Util.getPosition be relative to page
Solly Ross [Wed, 25 Feb 2015 22:02:16 +0000 (17:02 -0500)]
Make Util.getPosition be relative to page

Commit 5108c4635c847de9be0edadf572f7426f351b66a caused a regression
in the case where scrolling is used -- getPosition return position
relative to the viewport, while getEventPosition expected a position
relative to the page.

As per
https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect,
the fix for this is simply to add the `pageXOffset` and `pageYOffset` to
the output of `getBoundingClientRect()`.

Fixes #459.

9 years agoIncrease Karma-Sauce Connector Timeout
Solly Ross [Fri, 27 Feb 2015 18:21:43 +0000 (13:21 -0500)]
Increase Karma-Sauce Connector Timeout

This commit increases the browserNoActivityTimeout to 100s
(from the default of 10s) in an attempt to alliviate the
timeout issues that we are seeing.

9 years agoUpdate dependencies to the latest versions
Solly Ross [Fri, 27 Feb 2015 17:42:43 +0000 (12:42 -0500)]
Update dependencies to the latest versions

This commit updates the test dependencies to the latest versions.

9 years agoMerge pull request #458 from kanaka/bug/disconnect
Samuel [Thu, 26 Feb 2015 11:41:46 +0000 (12:41 +0100)]
Merge pull request #458 from kanaka/bug/disconnect

Fix disconnect/reconnect issues

9 years agoFix disconnect/reconnect issues
Solly Ross [Fri, 20 Feb 2015 22:27:27 +0000 (17:27 -0500)]
Fix disconnect/reconnect issues

Commit 155d78b39933a396d2555376f4e70f976c30b86d prevented reconnections
from working properly.  This fixes that by creating a new RFB object
after disconnecting or failing.

Furthermore, this ensures that a new connection cannot be opened util
we've actually disconnected (either by timer or by receiving a `close`
event).

Closes #452

9 years agoRemove 'debian' directory
Solly Ross [Fri, 20 Feb 2015 22:31:37 +0000 (17:31 -0500)]
Remove 'debian' directory

This commit removes the old debian packaging information, which is
out of date.  People who wish to create Debain packages for noVNC
are better off using the package information from the actual Debian
or Ubuntu packages.

Closes #453

9 years agoRemove last bits of websockify cruft
Solly Ross [Wed, 18 Feb 2015 04:14:30 +0000 (23:14 -0500)]
Remove last bits of websockify cruft

Issue #449 pointed out that there were some files that were
missed in 6f5148648bd0e0ffa7ad00474c230f5f1ff4e39f.  This
fixes that.

Closes #449
Closes #450

9 years agoMake sure websockify is cloned to the correct dir
Solly Ross [Tue, 17 Feb 2015 22:54:21 +0000 (17:54 -0500)]
Make sure websockify is cloned to the correct dir

When `utils/launch.sh` clones websockify, it can be cloned
into the incorrect directory, depending on how `utils/launch.sh`
is run.  This commit ensures that websockify is always cloned into
`utils/websockify`.

9 years agoActually remove the "websockify" file
Solly Ross [Tue, 17 Feb 2015 22:45:57 +0000 (17:45 -0500)]
Actually remove the "websockify" file

Somehow, `utils/websockify` itself manage to sneak back in to
6f5148648bd0e0ffa7ad00474c230f5f1ff4e39f.  This actually removes
it.

9 years agoMerge pull request #448 from kanaka/websockify-as-submodule
Solly [Tue, 17 Feb 2015 22:35:57 +0000 (17:35 -0500)]
Merge pull request #448 from kanaka/websockify-as-submodule

Remove local copies of websockify

9 years agoMerge pull request #432 from nbibler/getPositionUpdate
Solly [Tue, 17 Feb 2015 20:59:27 +0000 (15:59 -0500)]
Merge pull request #432 from nbibler/getPositionUpdate

Replace custom getPosition algorithms with getBoundingClientRect.

9 years agoMerge branch 'bug/fix-input-html'
Solly Ross [Tue, 17 Feb 2015 18:36:56 +0000 (13:36 -0500)]
Merge branch 'bug/fix-input-html'

Closes #434

9 years agoUpdate tests/input.html to include keysym.js instead of keysymdef.js
Jesper Dam (jalfd) [Sat, 31 Jan 2015 11:49:29 +0000 (12:49 +0100)]
Update tests/input.html to include keysym.js instead of keysymdef.js

9 years agoUpdate package.json to specify version 0.5.1
Solly Ross [Mon, 16 Feb 2015 22:13:00 +0000 (17:13 -0500)]
Update package.json to specify version 0.5.1

The current noVNC release is 0.5.1, but package.json still
says version 0.5.0.  This fixes that.

Fixes #441

9 years agoRemove local copies of websockify
Solly Ross [Mon, 16 Feb 2015 22:03:17 +0000 (17:03 -0500)]
Remove local copies of websockify

This commit removes local copies of websockify.
Instead `utils/launch.sh` performs the following logic:

If `utils/websockify` exists, use `utils/websockify/run` (if the latter
does not exist, or is not executable, fail, since this is probably a
mistake).

Otherwise, check to see if websockify is installed somewhere (try
`which websockify`).  If it is, use that.  Otherwise, clone
websockify from github, and tell git to ignore that directory.

Packaged versions of noVNC should simply list websockify as a
requirement.  The debian packaging has been updated to reflect
this.

Closes #433

9 years agoMerge pull request #444 from samhed/extdesktop
Solly [Tue, 10 Feb 2015 16:31:37 +0000 (11:31 -0500)]
Merge pull request #444 from samhed/extdesktop

Support ExtendedDesktopSize and SetDesktopSize

9 years agoSupport automatic resize [Part 4/4]: unit tests
samhed [Tue, 10 Feb 2015 16:06:55 +0000 (17:06 +0100)]
Support automatic resize [Part 4/4]: unit tests

* Added new tests for the setDesktopSize encoding
* Added new tests for the ExtendedDesktopSize encoding

9 years agoSupport automatic resize [Part 3/4]: ui.js
samhed [Tue, 10 Feb 2015 16:05:58 +0000 (17:05 +0100)]
Support automatic resize [Part 3/4]: ui.js

* Added a resize request (setDesktopSize) triggered when connecting and by
  changes to the browser window's size.
* Hid the view-drag-hand when the display area is the same or smaller than the
  remote session size.
* Added a setting for the automatic resize feature.
* Updated vnc.html and vnc_auto.html to reflect the changes to the UI.

9 years agoMerge pull request #443 from fzylogic/master
Samuel [Sat, 7 Feb 2015 02:13:41 +0000 (03:13 +0100)]
Merge pull request #443 from fzylogic/master

keysym.js needs inclusion in debian's install list

9 years agokeysym.js needs inclusion in debian's install list
Jeremy Hanmer [Fri, 6 Feb 2015 22:24:47 +0000 (14:24 -0800)]
keysym.js needs inclusion in debian's install list

9 years agoSupport automatic resize [Part 2/4]: rfb.js
samhed [Fri, 6 Feb 2015 16:06:48 +0000 (17:06 +0100)]
Support automatic resize [Part 2/4]: rfb.js

* Support sending the setDesktopSize encoding (client -> server)
* Support recieving the ExtendedDesktopSize encoding (server <- client)

9 years agoSupport automatic resize [Part 1/4]: display.js
samhed [Fri, 6 Feb 2015 15:43:45 +0000 (16:43 +0100)]
Support automatic resize [Part 1/4]: display.js

* Split viewportChange into two functions, one for changing size and the other for changing position.
* Modified viewport code to be capable of changing to a bigger size in the context of a
  client-initiated resize.
* Made clearer distinctions between when viewport-clipping or not.
* Added public function for telling when viewport-clipping.
* Updated tests that were using viewportChange.

9 years agoUse our own event registration function for keyboardinputReset.
samhed [Fri, 6 Feb 2015 14:53:10 +0000 (15:53 +0100)]
Use our own event registration function for keyboardinputReset.

9 years agoMerge pull request #427 from jswanner/register-listeners
Solly [Wed, 4 Feb 2015 16:09:37 +0000 (11:09 -0500)]
Merge pull request #427 from jswanner/register-listeners

Unregister event listeners from websock.

9 years agoFixes issue #435 - added missing comma in keysym.js
samhed [Tue, 3 Feb 2015 12:04:16 +0000 (13:04 +0100)]
Fixes issue #435 - added missing comma in keysym.js

9 years agoReplace custom getPosition algorithms with getBoundingClientRect.
Nathaniel Bibler [Mon, 26 Jan 2015 16:46:40 +0000 (11:46 -0500)]
Replace custom getPosition algorithms with getBoundingClientRect.

9 years agoFixes #428 - hides the local cursor when using the server-side cursor.
samhed [Thu, 15 Jan 2015 15:27:18 +0000 (16:27 +0100)]
Fixes #428 - hides the local cursor when using the server-side cursor.

9 years agoUnregister event listeners from websock.
Jacob Swanner [Thu, 8 Jan 2015 20:25:55 +0000 (15:25 -0500)]
Unregister event listeners from websock.

Prevents possible memory and event notification leaks when tearing down
connection and reestablishing a new one.

9 years agoslip in PATH for 'npm test' as not everyone has karma
Alexander Clouter [Sat, 22 Nov 2014 10:20:51 +0000 (10:20 +0000)]
slip in PATH for 'npm test' as not everyone has karma

So people can follow the 'unit tests' instructions, we need
to make sure PATH includes the karma bin directory otherwise
we see the following:
----
aclouter@stevemcqueen:/usr/src/aten-ikvm/noVNC$ npm test

> noVNC@0.5.0 test /usr/src/aten-ikvm/noVNC
> karma start karma.conf.js

sh: 1: karma: not found
npm ERR! Test failed.  See above for more details.
npm ERR! not ok code 0
----

9 years agoMerge pull request #420 from julien-f/patch-1
Samuel [Sat, 29 Nov 2014 09:46:27 +0000 (10:46 +0100)]
Merge pull request #420 from julien-f/patch-1

Loads keysym.js

9 years agoLoads keysym.js
Julien Fontanet [Fri, 28 Nov 2014 15:35:55 +0000 (16:35 +0100)]
Loads keysym.js

Without it, `XK_ISO_Level3_Shift` (at least) is undefined.

9 years agoFixes #309, make use of keysym.js
samhed [Wed, 26 Nov 2014 08:24:13 +0000 (09:24 +0100)]
Fixes #309, make use of keysym.js

Bonus 3 bug fixes:
 * Meta is 0xFFE7 not 0xFE07
 * Super_L is 0xFFEB not 0xFFEC
 * Super_R is 0xFFEC not 0xFFED

9 years agoAdd ISO Level 3 Shift (AltGr) to keysym.js
samhed [Wed, 26 Nov 2014 08:22:12 +0000 (09:22 +0100)]
Add ISO Level 3 Shift (AltGr) to keysym.js

9 years agoFixed Erroneous HEXTILE test
Solly Ross [Mon, 24 Nov 2014 20:16:12 +0000 (15:16 -0500)]
Fixed Erroneous HEXTILE test

The HEXTILE test which tested for a background tile followed
by an empty tile was only wide enough to actually test for one
tile, thus not actually testing the functionality.  It now actually
uses two tiles, thus actually testing the functionality.

9 years agoMerge pull request #416 from detain/master
Samuel [Sun, 23 Nov 2014 16:19:58 +0000 (17:19 +0100)]
Merge pull request #416 from detain/master

Fix for typo from a recent pull

9 years agoFix for typo from a recent pull
Joe Huss [Sun, 23 Nov 2014 12:22:39 +0000 (07:22 -0500)]
Fix for typo from a recent pull

There is a minor typo in the recent pull  Simple fix.

9 years agoMerge "pull-request/412" (ramondeklein/noVNC)
Solly Ross [Tue, 18 Nov 2014 01:02:42 +0000 (20:02 -0500)]
Merge "pull-request/412" (ramondeklein/noVNC)

Closes #412

9 years agoDon't draw "blank" HEXTILE tiles with random data
Ramon de Klein [Thu, 6 Nov 2014 12:11:46 +0000 (13:11 +0100)]
Don't draw "blank" HEXTILE tiles with random data

Previously, if a HEXTILE tiles was received with a subencoding
of 0x00, it would draw a rectangle using data from the render
queue, which would result in random colored blocks when using
the HEXTILE encoding.  This is the result of a miscopy during
the refactoring.  It now has the correct functionality according
to the RFB protocol specification, which is to draw a rectangle
with the last set background color.

Closes #411

9 years agoFix Karma sinon-chai version issues
Solly Ross [Mon, 17 Nov 2014 22:52:33 +0000 (17:52 -0500)]
Fix Karma sinon-chai version issues

Previously, we were using the karma-sinon-chai package to
provide sinon-chai to karma.  This used an older version of
sinon-chai, and looks to be no longer maintained (it's been
a month since sinon-chai was updated).  A new package,
karma-sinon-chai-latest, is now used.  This package uses the
latest version of sinon-chai and sinon, just like karma-chai
uses the latest version of chai.

9 years agoFix broken tests from changing default screen size
Solly Ross [Mon, 17 Nov 2014 19:19:19 +0000 (14:19 -0500)]
Fix broken tests from changing default screen size

Commit 795fca23dc6cf124b2e6969ee42bd8e7c836d605 changed the default
size from 640 to 240.  This broke a couple tests which depended on
the default size being 640.  Those tests have now been fixed.

9 years agoWe should use the globally declared UI variable
samhed [Thu, 13 Nov 2014 16:22:48 +0000 (17:22 +0100)]
We should use the globally declared UI variable

9 years agoModify minimum width of clear to accomodate smaller screens
samhed [Tue, 11 Nov 2014 15:29:06 +0000 (16:29 +0100)]
Modify minimum width of clear to accomodate smaller screens

9 years agoMerge pull request #410 from kanaka/docs/contributing-guidelines
Solly [Thu, 6 Nov 2014 16:15:11 +0000 (11:15 -0500)]
Merge pull request #410 from kanaka/docs/contributing-guidelines

Added in guidelines for contributing to noVNC

9 years agoAdded in guidelines for contributing to noVNC
Solly Ross [Sun, 2 Nov 2014 18:27:06 +0000 (13:27 -0500)]
Added in guidelines for contributing to noVNC

In CONTRIBUTING.md, you can now find a set of guidelines for
contributing to the noVNC project.  They detail coding style
information, requirements for pull requests, and how to run
the unit tests.

9 years agoFix Cursor Issue When Using True Color
Solly Ross [Wed, 29 Oct 2014 23:12:33 +0000 (19:12 -0400)]
Fix Cursor Issue When Using True Color

This fixes an issue where, when using true color, the changeCursor
function would not actually write the cursor to the target array.

Fixes #407

9 years agoMerge pull request #402 from julien-f/patch-1
Samuel [Wed, 1 Oct 2014 14:46:35 +0000 (16:46 +0200)]
Merge pull request #402 from julien-f/patch-1

Fix subprotocols

9 years agoFix subprotocols
Julien Fontanet [Wed, 1 Oct 2014 14:30:39 +0000 (16:30 +0200)]
Fix subprotocols

Broken by b1dee9478815b22bf5fee3ee9e44321d4bb46c91

9 years agoForce Travis to use Node 0.11.13
Solly Ross [Tue, 30 Sep 2014 16:17:33 +0000 (12:17 -0400)]
Force Travis to use Node 0.11.13

The latest version of Node.js has a bug that
affects the Karma test runner.  A patch has been
merged to Karma, but has not landed in a version
yet.  Until a new version of Karma is released,
we should keep node at 0.11.13.

See karma-runner/karma#1182

(cherry picked from commit 9af2346a0cead634f3af5f390770ea65929c1f4a)

9 years agoMerge pull request #397 from kanaka/refactor/use-object-defineproperty
Solly [Tue, 30 Sep 2014 15:57:10 +0000 (11:57 -0400)]
Merge pull request #397 from kanaka/refactor/use-object-defineproperty

Make Utils.js use Object.define to modify Array

9 years agoMake Utils.js use Object.define to modify Array
Solly Ross [Tue, 23 Sep 2014 02:30:19 +0000 (22:30 -0400)]
Make Utils.js use Object.define to modify Array

Previously, we were modifying Array's prototype using
simple assignment.  This can mess with enumeration/iteration.
Thus, we now use Object.defineProperty with enumerable set to
false.

See #366

9 years agoCorrect Travis CI Badge URL
Solly Ross [Tue, 23 Sep 2014 01:49:17 +0000 (21:49 -0400)]
Correct Travis CI Badge URL

The readme was using the URL for the 'refactor/cleanup'
branch, which doesn't exist anymore.  It now uses
the badge for the master branch as it should.

9 years agoAdd support for Relative Paths in the Test Runner
Solly Ross [Tue, 23 Sep 2014 01:42:32 +0000 (21:42 -0400)]
Add support for Relative Paths in the Test Runner

This patch adds support for using relative paths
with the '-r' or '--relative' methods.  This can
be useful if you want to output HTML (with the
'--output-html' option) and use it in a webpage.

Additionally, the '-o' was removed from the documentation
of '--output-html', since it hasn't worked for that in a
while ('-o' means open in browser instead).

9 years agoFix Race Condition in Display#clear on IE10
Solly Ross [Tue, 23 Sep 2014 01:37:04 +0000 (21:37 -0400)]
Fix Race Condition in Display#clear on IE10

There was a race condition in Display#clear on IE10
because we resize and then clear that causes the canvas
to not actually end up cleared.  Clearing the current
viewport first solves the issue.  It doesn't appear to
affect other platforms, so it's inside a engine check
(`Util.Engine.trident === 6`).  Once we stop supporting
IE10, we should just remove this, because it's not the best
to have Engine-specific code.

9 years agoFixed broken mouse test in test.rfb.js
Solly Ross [Fri, 19 Sep 2014 19:14:34 +0000 (15:14 -0400)]
Fixed broken mouse test in test.rfb.js

Because we use the XOR (`^`) operator, the button mask must be
set before a MouseUp event happens, otherwise we'll send a pointer
event like it was a MouseDown event.  The button mask was not set
in one of the tests, so the test was failing.

9 years agoFixed Cursor URI Support Detection
Solly Ross [Fri, 19 Sep 2014 18:51:15 +0000 (14:51 -0400)]
Fixed Cursor URI Support Detection

There was a bug in cursor URI support detection due to the way
set_defaults now works -- the code was checking for `null`, whereas
when not set, options default to `undefined` unless otherwise
specified.  The code now checks for either `null` or `undefined`.
Tests have been added to ensure that this works properly.

9 years agoFixed presence detection bug in utils.set_defaults
Solly Ross [Fri, 19 Sep 2014 18:48:00 +0000 (14:48 -0400)]
Fixed presence detection bug in utils.set_defaults

Previously, Utils.set_defaults was using `if(conf[keys[i]])`
to check for the presence of a configuration key.  This would
fail if `conf[keys[i]]` happened to be false.  Instead, we now
use `if(keys[i] in conf)`, which simply checks for the presence
of the key in the conf object.

9 years agoFixed Typo Causing MouseUp to not Register
Solly Ross [Fri, 19 Sep 2014 18:17:15 +0000 (14:17 -0400)]
Fixed Typo Causing MouseUp to not Register

There was a typo in one of the instances of the _buttonMask field
(it was written as _buttonMaks), causing MouseUp to never be sent.
This has been rectified, and the unit tests for the mouse handler
have been changed to check for explicitly sending mouseup and
mousedown.

Fixes #393

9 years agoFix Travis Sauce Tunnel Issues
Solly Ross [Fri, 19 Sep 2014 16:49:32 +0000 (12:49 -0400)]
Fix Travis Sauce Tunnel Issues

Travis is failing because Sauce can't find the appropriate tunnelid.
This should fix that but setting the tunnel id to be the Travis
job number.