- 06 Aug, 2015 8 commits
-
-
Solly Ross authored
This commit skips object creation for the render queue when not needed. Instead of pushing an object onto the queue, and then immediately running the result, you call the function directly. Then, if the render queue is not empty, an object is created and pushed onto the queue. Otherwise, the functionality is just run directly.
-
Solly Ross authored
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.
-
Solly Ross authored
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.
-
Solly Ross authored
**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`.
-
Solly Ross authored
This commit removes a nested loop in indexedToRGB, converting it into a plain loop without multiplication.
-
Solly Ross authored
This commit introduces an alternate implementation of the zlib decompressor based on Pako (https://github.com/nodeca/pako).
-
Solly Ross authored
This fixes a couple of JSHint errors in RFB.js caused by using `==` instead of `===`.
-
Solly Ross authored
This commit fixes vnc_playback.html and playback.js so that they work with the current version of noVNC.
-
- 25 Jun, 2015 7 commits
-
-
samhed authored
keyboard input doesn't work in fullscreen. * Force clipping mode in Internet Explorer while in fullscreen since scrollbars doesn't work in fullscreen.
-
samhed authored
-
samhed authored
-
samhed authored
-
samhed authored
which kept track on if it was open or not (it automatically closes after 1.5 seconds anyway).
-
samhed authored
moved it to where the other clipping functions are.
-
samhed authored
-
- 24 Jun, 2015 1 commit
-
-
samhed authored
* Fixes #502 so that the viewport drag functionality can't get stuck
-
- 16 Jun, 2015 1 commit
-
-
samhed authored
"jumping around". Enable/disable the button instead of show/hide on these devices.
-
- 19 May, 2015 2 commits
-
-
samhed authored
* This fixes backspace when using the on-screen keyboard on Android
- 04 May, 2015 1 commit
-
-
Fabian Zaremba authored
-
- 29 Apr, 2015 1 commit
-
-
samhed authored
* Disable local cursor when the browser doesn't support data uri
-
- 26 Mar, 2015 2 commits
-
-
Solly Ross authored
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
-
Solly Ross authored
In e543525f, 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
-
- 11 Mar, 2015 1 commit
-
-
samhed authored
-
- 09 Mar, 2015 1 commit
-
-
samhed authored
* 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
-
- 05 Mar, 2015 2 commits
-
-
samhed authored
* 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
-
samhed authored
Make the touch-keyboard code more robust through verifying that global variables are set before use.
-
- 03 Mar, 2015 1 commit
-
-
Solly Ross authored
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).
-
- 27 Feb, 2015 2 commits
-
-
Solly Ross authored
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).
-
Solly Ross authored
Commit 5108c463 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.
-
- 25 Feb, 2015 1 commit
-
-
Solly Ross authored
Commit 155d78b3 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
-
- 10 Feb, 2015 1 commit
-
-
samhed authored
* 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.
-
- 06 Feb, 2015 3 commits
-
-
samhed authored
* Support sending the setDesktopSize encoding (client -> server) * Support recieving the ExtendedDesktopSize encoding (server <- client)
-
samhed authored
* 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.
-
samhed authored
-
- 03 Feb, 2015 1 commit
-
-
samhed authored
-
- 26 Jan, 2015 1 commit
-
-
Nathaniel Bibler authored
-
- 15 Jan, 2015 1 commit
-
-
samhed authored
-
- 08 Jan, 2015 1 commit
-
-
Jacob Swanner authored
Prevents possible memory and event notification leaks when tearing down connection and reestablishing a new one.
-
- 26 Nov, 2014 1 commit
-
-
samhed authored
Bonus 3 bug fixes: * Meta is 0xFFE7 not 0xFE07 * Super_L is 0xFFEB not 0xFFEC * Super_R is 0xFFEC not 0xFFED
-