1261 Commits

Author SHA1 Message Date
Joel Martin
876a691d2a wasm: use port 7080, use kanaka/rust-wasm image 2018-07-31 11:02:37 -05:00
Joel Martin
5372d169cc wasm: simplify down to just use MODE 3 (draw3).
draw3 was the pretty clear winner performance-wise.
2018-07-26 16:05:55 +09:00
Joel Martin
af54d4b95e wasm: use requestAnimationFrame and report FPS. 2018-07-26 15:38:33 +09:00
Joel Martin
82b8ff1c6a wasm: tests/results for 3 modes.
- mode 1: call putImageData from rust/wasm. This involves copying the
  image data via the wasm-bindgen API.
- mode 2: allocating memory in rust/wasm and returning reference to it
  for JS code. JS code calls draw2 using the reference so now image
  data is copying in either direction.
- mode 3: same as mode 2 but the draw3 function treats the memory as
  a vector of u32 instead of a vector of u8.
2018-07-26 14:19:01 +09:00
Joel Martin
9efc362c82 wasm: draw/fill a canvas with solid color. 2018-07-25 16:48:48 +09:00
Joel Martin
62ad00fedf wasm: hello world with rust, wasm-bindgen, webpack 2018-07-25 16:02:40 +09:00
Pierre Ossman
a7ca8e5c1a Fix wrong colours on local cursor
The RGB order was backwards compared to the pixel format we've
requested, resulting in the red and blue channels getting swapped.
2017-02-20 16:44:54 +01:00
Pierre Ossman
e677b66cc7 Proper workaround for Chrome's scrollbar bug
Avoid applying this workaround more than necessary. Also comment a
bit more why this hack is needed.
2017-02-16 16:28:55 +01:00
Samuel Mannehed
b56772ec43 Update drag button at right time
It needs to update whenever the viewport or clipping changes, so
let's make sure that actually happens and not trigger on mildly
related events.
2017-02-16 16:07:55 +01:00
Samuel Mannehed
6bfd9dc96f Update clipping before changing scaling
The scaling is relative the current viewport, so we need to make
sure it is correct before changing the scale setting.
2017-02-16 16:07:55 +01:00
Samuel Mannehed
5f38376adb Don't change stored setting when "forcing"
Don't overwrite the user's configured choice. Instead ignore
settings when they cannot be respected.
2017-02-16 16:07:55 +01:00
Samuel Mannehed
631428d966 Fix status class for IE
IE apparently doesn't support removing several class specifiers at
once, so switch to several calls.
2017-02-16 16:07:55 +01:00
Samuel Mannehed
b18ef8162e Allow scroll bars on Safari and IE
The previous problems were because we were scrolling the wrong element,
so we can enable this feature now.
2017-02-16 16:07:40 +01:00
Samuel Mannehed
f3b7727535 Fix canvas size on IE 2017-02-16 14:48:34 +01:00
Samuel Mannehed
280676c7e9 Properly encapsulate the scale in Display
Other parts of the code shouldn't have to care about this. Let Display
convert between canvas coordinates and framebuffer coordinates.
2017-02-16 14:00:39 +01:00
Samuel Mannehed
8cbf1dd9d2 Set correct cursor style for setCapture() 2017-02-16 14:00:36 +01:00
Samuel Mannehed
10d1ecc118 Remove return value from event handlers
It's not used in modern event handlers.
2017-02-16 13:59:34 +01:00
Samuel Mannehed
a0e3ec0ae6 Stop using window.event
It's an old propriatary IE thing that isn't necessary.
2017-02-16 13:59:34 +01:00
Samuel Mannehed
af1b2ae1e5 Remove Util.getEventPosition()
It mostly dealt with scrolling which we don't use. It also made mistakes
in some cases. Remove it and compute the coordinates directly in the
calling code.
2017-02-16 13:59:34 +01:00
Samuel Mannehed
b69dda9b19 Clean up some mouse workarounds
Adds comments that clarifies why they are needed. Also narrows the
handler for contextmenu a bit.
2017-02-16 13:59:34 +01:00
Samuel Mannehed
1658466579 Improve setCapture polyfill
Fix some corner cases.

Fixes issue #773
2017-02-16 13:59:22 +01:00
Pierre Ossman
0ee5ca6ebe Fix tests after changing auth negotiation
PhantomJS has a very basic implementation of Uint8Array, so we
need to help it out a bit.
2017-02-13 15:00:32 +01:00
Pierre Ossman
95533c579e Better selection of auth type
If no authentication is required then we should pick the None
option to avoid bothering the user.
2017-02-13 13:58:10 +01:00
Samuel Mannehed
bd7d89e7cc Fix resize on Chrome
Chrome sucks at calculating the size and gets confused due to the
scrollbars. Hide the scroll bars while resizing.
2017-02-10 16:39:18 +01:00
Pierre Ossman
6ffdfd3aa7 Improve check for when to ignore mouse events
The browser tells us which element was under the cursor, so we don't
have to calculate it ourselves.
2017-02-09 16:02:58 +01:00
Pierre Ossman
86d15a4929 Use setCapture() polyfill everywhere
This makes sure we get consistent behaviour across all browsers.
2017-02-09 15:51:22 +01:00
Pierre Ossman
b345859ed6 More aggressive retaining of focus
Try to keep the virtual keyboard up even more. Only release focus
when it is absolutely necessary.
2017-02-09 14:20:37 +01:00
Pierre Ossman
0ae5b50a0e Expect console.debug(), not console.log(), in test
We use the more specific function now, even though it is usually an
alias.
2017-02-07 16:44:16 +01:00
Pierre Ossman
d314d2c226 Merge branch 'util-console' of https://github.com/tghw/noVNC 2017-02-07 16:37:58 +01:00
Pierre Ossman
3f48c7017d Tweak spinner appearence
Change the look of the "busy" spinner a bit. It's mostly used for
connection stuff, so give it a more data flow feel. Also bling it
up a bit with some fading. Perty sells. :)
2017-02-07 16:09:10 +01:00
Pierre Ossman
ec7ba3eeae Remove binary protocol tests
We require standard adherence now, so remove tests that assume
the old system.
2017-02-03 17:16:02 +01:00
Pierre Ossman
c4482d2de5 Remove buffer limit tests
We no longer limit writes to the socket.
2017-02-03 17:15:27 +01:00
Pierre Ossman
d2467189f5 Don't delay WebSocket flushing
The native WebSocket is in a much better position to do queue
management than us. We also failed to check the return value and
set up a timer, causing stalls.

This gets us in sync with websockify as of 40238b00.
2017-02-03 17:12:41 +01:00
Pierre Ossman
84b05d24b0 Allow submitting the password from the input field 2017-02-03 13:19:15 +01:00
Pierre Ossman
648c83984c Scroll correct element
The element we want scrolling around is noVNC_screen, not the entire
window. This also allows us to compute the screen size without
fiddling the scrollbars on and off.
2017-02-03 13:17:43 +01:00
Pierre Ossman
2e6a58fb15 Avoid changing scale unless necessary
It causes the browser to redo the layout needlessly otherwise,
having annoying effects like moving the scroll position.
2017-02-03 12:00:13 +01:00
Pierre Ossman
a6e52f9a73 Merge display scale changes 2017-02-03 11:56:02 +01:00
Pierre Ossman
f6299e0aed Move keyboard style in CSS
Put it so it matches where it is in the HTML.
2017-02-03 11:44:24 +01:00
Pierre Ossman
9865432a02 Center canvas (again)
The previous attempt could leave parts of the canvas outside the
document, making it impossible to reach. Use a safer method as
recommended by Mozilla.
2017-02-03 11:43:17 +01:00
Samuel Mannehed
93c4b5caaa Merge pull request #762 from novnc/saveimmediately
Save settings immediately
2017-01-30 13:02:49 +01:00
Samuel Mannehed
623b1b7d96 Allow resize setting to be changed while connected
There is no reason to why this shouldn't be possible.
2017-01-27 16:22:15 +01:00
Samuel Mannehed
59387b34ea Separate init functions from event handling setup
Adds a new section for all functions that add event handlers.
2017-01-27 16:20:53 +01:00
Samuel Mannehed
3fdc69ceda Rename function for adding resize handlers
Moves the one handler for the status out of the function as well. It
didn't fit in with the function's old name either.
2017-01-27 16:20:53 +01:00
Samuel Mannehed
b3d91b78e1 Rename and move init function for fullscreen 2017-01-27 16:20:53 +01:00
Samuel Mannehed
dceda58642 Save settings immediately
Retire the old settingsApply. This also allows UI logic to check the
state of things using the settings instead of having to look at the
values of HTML elements (we couldn't be sure if the changes were
applied yet or not).
2017-01-27 16:20:33 +01:00
Samuel Mannehed
0b09e9cb6f Remove unused toggleConnectPanel function 2017-01-24 14:37:14 +01:00
Samuel Mannehed
aa90547519 Add UI wrapper for Webutil.init_logging 2017-01-24 14:36:19 +01:00
Pierre Ossman
394ad22be9 Merge branch 'add-reconnect' of https://github.com/fd0/noVNC 2017-01-23 13:47:57 +01:00
Alexander Neumann
044d54ed62 Add reconnect option
Add an option to automatically reconnect after a delay when the
connection is closed.

Closes #746
2017-01-23 11:42:41 +01:00
Pierre Ossman
a7619faf18 Set pointer cursor for status bar
It can be dismissed by clicking on it, so hint this by setting the
pointer cursor type.
2017-01-20 10:11:16 +01:00