Pierre Ossman
6a4c411976
Remove createEvent() fallbacks
...
We can now rely on proper constructors for our events.
2020-12-07 10:10:53 +01:00
Pierre Ossman
27496941a0
Remove createImageData() fallback
...
All our browsers should be new enough now that we can rely on the
ImageData constructor.
2020-12-07 10:10:53 +01:00
Pierre Ossman
5b5b747494
Remove many small, obsolete, old browser hacks
...
These are for browsers no longer supported anyway.
2020-12-07 10:10:53 +01:00
Pierre Ossman
1f7e1c7572
Remove keypress handling
...
We no longer support any browser that requires this legacy handling.
2020-10-15 18:53:51 +02:00
Pierre Ossman
dccf6facdc
Drop support for legacy Edge
2020-10-15 18:53:51 +02:00
Pierre Ossman
890cff921d
Remove legacy conversion of modules
...
We no longer support Internet Explorer so we can now require that
browsers support modules.
Some conversion to commonjs still remains for nodejs.
2020-10-15 18:53:51 +02:00
Pierre Ossman
c01eb5e74d
Drop support for Internet Explorer
2020-10-15 18:53:51 +02:00
Pierre Ossman
c1281b136d
Add workaround for Firefox PNG rounding bug
2020-09-28 12:24:56 +02:00
Pierre Ossman
b91b1e8edc
Handle empty rects in RAW decoder as well
...
It was overlooked in the previous commit because we couldn't feed
empty data messages through the test framework.
2020-09-07 12:58:52 +02:00
Samuel Mannehed
3037eb16f7
Ignore recording variables in our linter
2020-09-05 11:08:16 +02:00
Pierre Ossman
3762300399
Approximate comparison of JPEG result
...
The browsers have various rounding errors so we need to compare the
output data only approximately and not exactly.
2020-09-04 16:48:44 +02:00
Pierre Ossman
113fa27ebc
Handle empty rects from the server
...
These are very pointless for the server to send, but not a violation of
the protocol so we need to be able to handle them. We've seen this
happen in real world scenarios a few times.
2020-09-04 16:16:44 +02:00
Pierre Ossman
0630352e19
Merge branch 'rgbx' of https://github.com/CendioOssman/noVNC
2020-09-04 13:40:23 +02:00
Samuel Mannehed
7ce1b071ec
Fix call to _recvMessage()
...
Missed to rename this one in commit ea858bfa27
2020-09-04 10:40:42 +02:00
Samuel Mannehed
ecdd075672
Fix names of recording variables
...
The name of these variables must match how they were set when the
recording was created.
Reverts part of 95632e413d
2020-09-04 10:40:37 +02:00
Pierre Ossman
794b06b2bd
Don't detach handler if it doesn't exist
...
If the beforeEach() step has been skipped then there won't be anything
here to detach.
2020-06-25 14:45:58 +02:00
Pierre Ossman
50cde2faab
Move mouse event handling to RFB class
...
Move the last remaining bits to the RFB class to keep things simple, as
the Mouse class no longer provides any real value.
2020-06-12 14:36:10 +02:00
Pierre Ossman
88589a44f7
Increase wheel step threshold
...
The previous value made the detection too sensitive and it was very
difficult to scroll precisely. A value of 50 pixels should give similar
behaviour to systems that don't do fine grained scrolling.
2020-06-12 09:18:46 +02:00
Pierre Ossman
f84bc57bda
Move wheel event handling to RFB class
...
The Mouse class does very little now so it mostly just obfuscate things.
Move everything directly in to the RFB class instead.
2020-06-12 09:18:46 +02:00
Pierre Ossman
4a87038080
Remove very legacy mouse event handling
...
This is only needed on such ancient versions of Internet Explorer that
it wouldn't satisfy our other requirements anyway.
2020-06-12 09:18:46 +02:00
Pierre Ossman
77c32d164d
Remove delayed wheel timer
...
This isn't really expected behaviour from a user, i.e. that an extremely
small wheel movement still gives a large scroll event in the remote application.
2020-06-12 09:18:46 +02:00
Pierre Ossman
8be924c9d9
Add touch gestures for mouse emulation
...
Add several single and multitouch gestures to simulate various mouse
actions that would otherwise be impossible to perform.
This replaces the old system where you could select which mouse button
a single touch would generate.
2020-06-12 09:18:46 +02:00
Pierre Ossman
440ec8a0b6
Start fake test clock at real clock time
...
Some code relies on the clock having a somewhat sane value, so let's not
start at 0.
2020-06-11 16:50:08 +02:00
Pierre Ossman
0a6aec3578
Avoid printing the Websock buffer in tests
...
It takes forever and just messes up the output.
2020-06-11 16:50:08 +02:00
Pierre Ossman
6a19390baa
Switch to RGBx pixel format
...
This is what the browser wants so it avoids having to spend time
converting everything. Unfortunately it usually means the server instead
needs to convert it for us, but we assume it has more power than we do.
2020-06-08 07:57:17 +02:00
Pierre Ossman
f5b5767c98
Standardise on a single blit function
...
Keep everything simpler by always blitting in the same pixel format.
It's up to the decoders to convert if they need to.
2020-06-08 07:53:41 +02:00
Pierre Ossman
18a68dfac1
Test correct handling of alpha
...
The forth byte of a pixel is undefined in most encodings, so make sure
the decoders don't leak that through as an alpha channel.
2020-06-08 07:53:16 +02:00
Pierre Ossman
15cfa13563
Add tests for the Tight decoders
2020-06-08 07:48:20 +02:00
Pierre Ossman
111225fa41
Split decoder tests to separate files
2020-06-08 07:46:42 +02:00
Pierre Ossman
224f95f997
Move tile handling to Hextile decoder
...
It is only used there so no need for it to be in the general
Display class.
2020-06-06 13:23:05 +02:00
Pierre Ossman
f694c32fd5
Merge branch 'camelcase' of https://github.com/samhed/noVNC
2020-06-05 09:41:25 +02:00
Samuel Mannehed
cfb824ed03
Add camelCase rule to eslint
2020-05-31 23:37:29 +02:00
Samuel Mannehed
a7fe079f81
Standardize on camelCase in Logging
2020-05-31 23:37:29 +02:00
Samuel Mannehed
ea858bfa27
Standardize on camelCase in Websock
2020-05-31 23:21:35 +02:00
Samuel Mannehed
5d570207f7
Standardize on camelCase in Display
2020-05-31 23:21:35 +02:00
Samuel Mannehed
95632e413d
Standardize on camelCase in tests
2020-05-31 23:21:35 +02:00
Samuel Mannehed
80187d158c
Standardize on camelCase in RFB
2020-05-31 23:21:35 +02:00
Samuel Mannehed
dff4fefa3c
Remove unused properties and variables
...
The code that used these were removed in the following commits:
* 9ff86fb718
(RFB._mouse_arr)
* bb6965f2e6
(old_requestAnimationFrame)
* 490d471c53
(Display._c_forceCanvas)
2020-05-31 22:49:41 +02:00
Samuel Mannehed
150596be83
Properly limit mouse moves to once every 17 ms
...
Previous attempt in c958269
had a number of issues, this is a full
rewrite, complete with improved unit tests.
Fixes github issue #1402
2020-05-31 00:53:15 +02:00
Samuel Mannehed
11a22dbf0c
Stop send mouse clicks while dragging in view only
2020-05-31 00:53:15 +02:00
Samuel Mannehed
006743857b
Standardize on camelCase for functions in RFB
2020-05-31 00:53:15 +02:00
Samuel Mannehed
e7dec5270e
Standardize on camelCase for variables in RFB
2020-05-31 00:53:15 +02:00
Samuel Mannehed
479d8cefd1
Add ability to set compression level
...
Fixes github issue #1382 .
2020-05-01 20:47:36 +02:00
Samuel Mannehed
a672168d4d
Add unit tests for mouse move limit
2020-05-01 20:37:48 +02:00
Andrey Trebler
efd1f8a4f2
adds qualityLevel property to RFB class for updating JPEG quality level encoding on the fly
2020-02-28 13:14:19 +01:00
Alex Tanskanen
ceb8ef4ec1
Fix crash with too large clipboard data
...
If too much text is copied in the session, String.fromCharCode.apply()
would crash in Safari on macOS and Chrome on Linux. This commit fixes
this issue by avoiding apply() altogether. Also added test to cover this
issue.
2020-02-21 09:39:31 +01:00
Pierre Ossman
384232fb56
Merge branch 'clipboard_unicode' of https://github.com/CendioNiko/noVNC
2020-02-18 09:46:10 +01:00
Niko Lehto
f73fdc3ed3
Add extended clipboard Pseudo-Encoding
...
Add extended clipboard pseudo-encoding to allow the use of unicode
characters in the clipboard.
2020-02-18 09:32:36 +01:00
Niko Lehto
9575ded8da
Add util for unsigned and signed int. conversion
...
Will be used in later commit in extended clipboard handling.
2020-02-17 11:29:40 +01:00
Niko Lehto
f52e979082
Add deflator helper class for deflating data
...
Wraps pako's deflate for easier usage.
2020-02-17 11:29:29 +01:00