Solly Ross
a4d51bd220
Merge pull request #1009 from juanjoDiaz/move_browser_checks
...
Move browser checks to browser.js
2018-02-01 10:33:28 -05:00
Juanjo Diaz
9e1bd410aa
Remove jshint comments
2018-01-31 07:38:29 -08:00
Juanjo Diaz
59ef29163e
Move browser checks to browser.js
2018-01-30 08:35:47 -08:00
Pierre Ossman
609a3fac74
Better cleanup in vnc_playback.html
...
Makes sure the cleanup is also properly exercised as part of the
testing.
2018-01-26 11:07:58 +01:00
Pierre Ossman
a92c33174e
Update vnc_playback.html to follow current API
...
We had tried to update this along the way, but a bunch of things
were overlooked. Should be fully functional again now.
2018-01-26 11:07:14 +01:00
Pierre Ossman
2a4e84ac20
Remove old test pages
...
These are not maintained or used anymore, so just remove them to
avoid confusion.
2018-01-25 16:14:02 +01:00
Solly Ross
af4deba893
Fix slice usage in display tests on IE11
...
IE11 doesn't support the `slice` method on ArrayBufferViews, so
we have to use the old `Array.prototype.slice.call` trick in the
tests instead.
2018-01-10 11:08:21 -05:00
Pierre Ossman
1f9d0cb12f
Add test for 16x16 tiles
...
We have a special cache and therefore special code paths that need
to be tested when rendering 16x16 tiles.
2017-12-14 12:59:25 +01:00
Pierre Ossman
0880353ba9
Simpler reporting when display output size mismatches
2017-12-14 12:58:57 +01:00
Pierre Ossman
9b84f51685
Move resize handling in to RFB object
...
Makes the API simpler and makes it easier for other frontends to
get this functionality.
2017-12-06 11:29:57 +01:00
Pierre Ossman
bb25d3d6c5
Forced cleanup of RFB objects in tests
...
We need to make sure RFB objects are properly disposed or they
might have event listeners and other stuff hanging around that can
influence subsequent tests.
2017-11-30 16:15:38 +01:00
Samuel Mannehed
7279364c9a
Move localization.js to app
...
Since it is no longer used in core. Also splits localization tests into
a separate file.
2017-11-14 15:36:12 +01:00
Samuel Mannehed
d472f3f19e
Abstract RFB errors to avoid sending strings
...
The API allowed strings to be passed from the RFB module to the
application using the disconnect reason. This caused problems since
the application didn't have control over translations for these
strings.
Most of the information being passed using this string was very
technical and not helpful to the end user. One exception to this was
the security result information regarding for example authentication
failures. The protocol allows the VNC server to pass a string
directly to the user in the security result.
So the disconnect reason is replaced by a boolean saying if the
disconnection was clean or not. And for the security result information
from the server, a new event has been added.
2017-11-14 15:36:12 +01:00
Samuel Mannehed
ee5cae9fee
Replace updatestate event with connect
...
Instead of exposing all the internal connection states, the RFB module
will now only send events on connect and on disconnect. This makes it
simpler for the application and gets rid of the double events that were
being sent on disconnect (previously updatestate and disconnect).
2017-11-14 14:10:36 +01:00
Samuel Mannehed
5b20d338ce
Remove RFB.notification()
...
This interface was a band aid for poor design. The two cases where it
was used was replaced by logging.
2017-11-11 02:10:12 +01:00
Pierre Ossman
e89eef94aa
Use standard EventTarget interface for events
2017-11-09 13:14:16 +01:00
Pierre Ossman
2f4516f293
Integrate connect() in to constructor
...
An RFB object represents a single connection so it doesn't make
sense to have one without it trying to connect right away. Matches
the behaviour of other APIs, e.g. WebSocket.
2017-11-09 13:13:41 +01:00
Pierre Ossman
057b8fec7a
Clean up beforeEach() code in RFB tests
...
There was a lot of redundancy that could be removed.
2017-11-09 13:13:41 +01:00
Pierre Ossman
4a36995363
Remove redundant setup of fake timer handling
...
We already set this up globally, so no need for these extra ones.
2017-11-09 13:13:41 +01:00
Pierre Ossman
68e09edcdc
Remove disconnectTimeout property
...
Callers should not need to modify this timeout.
2017-11-09 13:13:41 +01:00
Pierre Ossman
002907d2ce
Remove "downscale only" mode
...
The normal scaling mode should be sufficient for most use cases, so
let's keep the interface simple.
2017-11-09 13:13:41 +01:00
Pierre Ossman
0460e5fdbe
Improve naming for viewport properties
2017-11-09 13:13:41 +01:00
Pierre Ossman
a80aa41628
Change clippingDisplay() to a property
...
It fits much better as a property given that it only tells what the
current state of things are.
2017-11-09 13:13:41 +01:00
Pierre Ossman
747b462337
Use standard JavaScript properties
...
Use normal properties with JavaScript setters and getters instead of
our homegrown stuff.
This also changes the properties to follow normal naming conventions.
2017-11-09 13:03:32 +01:00
Pierre Ossman
fdff59eeb4
Move cursor URI check to RFB object
...
Keeps the Display object simpler, and avoids having to abuse a
property to transfer the information.
2017-11-09 12:52:05 +01:00
Pierre Ossman
134ec26ee0
Remove non-JavaScript render code
...
It wasn't used anyway so simplify things.
2017-11-09 12:52:05 +01:00
Pierre Ossman
3d7bb02036
Change some attributes to arguments
...
Some attributes are better suited as arguments, primarily because they
are associated with a specific method and cannot be changed later.
2017-11-09 12:52:05 +01:00
Pierre Ossman
ebf1c0f991
Always include ID marker in repeater protocol
...
This makes sure we're always following the protocol, and the caller
doesn't have to care about the details.
2017-11-09 12:52:05 +01:00
Pierre Ossman
facf0b7027
Fix duplicate beforeEach() hook
2017-11-09 12:52:05 +01:00
Pierre Ossman
5b4e5d016e
Switch to URL for connect()
...
This is more in line with how other JavaScript APIs work.
2017-11-09 12:52:05 +01:00
Pierre Ossman
3a0010a3d0
Avoid code duplication in RFB test preparation
2017-11-09 12:52:05 +01:00
Pierre Ossman
c7d08d721f
Tidy up variable initialisation
...
Sort things by category, and organise everything in the same place.
We don't support reuse of RFB objects so we can safely init everything
in the constructor.
2017-11-09 12:52:05 +01:00
Pierre Ossman
30691b668e
Remove onFBU* callbacks
...
They are internal mechanisms that callers should be isolated from.
2017-11-09 12:52:03 +01:00
Pierre Ossman
832be2625b
Add resize as a capability
...
Makes the API more transparent than piggybacking on completion
of the first framebuffer update.
2017-11-09 12:51:15 +01:00
Pierre Ossman
cd523e8f28
Make power API generic
...
Decouple it from XVP and make it a generic API.
2017-11-09 12:47:21 +01:00
Pierre Ossman
430f00d6fe
Allow other credentials than just password
...
Makes the XVP authentication mechanism more general.
2017-11-09 12:45:05 +01:00
Samuel Mannehed
aa5b3a3528
Recieve challange before expecting callback
...
After commit abfe5b7a37
we expect a
challange before sending the callback to the UI. Fixes tests.
2017-10-17 12:29:43 +02:00
Pierre Ossman
69411b9ea3
Add tests for Intel AMT compatible mode
2017-10-06 13:16:36 +02:00
Samuel Mannehed
4a818a7ddd
Merge pull request #893 from CendioOssman/amt
...
Basic support for Intel AMT
2017-10-05 16:59:53 +02:00
Pierre Ossman
8290d3f271
Merge branch 'optional-port' of https://github.com/bkylerussell/noVNC
2017-09-29 16:26:02 +02:00
Samuel Mannehed
0242c03280
Restore logging properly after log tests
...
Our logging module keeps its own copy so we need to call init_logging in
the test cleanup to update things.
2017-09-28 14:11:44 +02:00
Samuel Mannehed
13d9108f91
Setup chai extensions centrally
...
They have global effects so make that clear by doing the setup in a
single place.
2017-09-28 14:10:19 +02:00
Samuel Mannehed
0aaf59c2f9
Upgrade and fix sinon.js
...
Converted version downloaded from sinonjs.org. Fixed version that
doesn't register itself on the global object. This forces all modules to
do a proper import.
2017-09-28 14:05:20 +02:00
Pierre Ossman
c7c6cb196d
Remove rect arguments onFBUComplete callback
...
This callback is for an entire FBU, so it's not really relevant
to include info about just a single of the included rects.
2017-09-22 15:17:56 +02:00
Pierre Ossman
49a8183757
Clean up encoding handling
...
Allow things to be more explicit and dynamic. Makes it easier to read
and allows us to have more flexible selection of encodings in the future.
2017-09-22 15:17:56 +02:00
Samuel Mannehed
d92b701393
Remove unused imports
2017-09-17 18:23:57 +02:00
Samuel Mannehed
28b004fd70
Combine small mouse wheel events
...
The VNC protocol can't handle different deltas or speeds for a mouse
wheel event. When using a device that sends a lot of small mouse wheel
events, instead of fewer larger steps, the effect was that mouse wheel
scrolling was way to sensitive.
This patch looks at the delta of wheel events and doesn't send events
until the combined delta has passed a threshold. Single events that
doesn't pass the threshold get sent after a timeout in order to not
loose any events.
Fixes #577 .
2017-09-17 18:23:57 +02:00
Samuel Mannehed
c1e2785fb6
Split devices.js into keyboard.js and mouse.js
2017-09-17 18:23:57 +02:00
Samuel Mannehed
c509e6d9c8
Add tests for mouse module
2017-09-17 18:23:57 +02:00
Pierre Ossman
91d5c62589
Merge resize handling to single method
...
It also fits better in the core RFB object rather than as a helper
for the encoding handlers.
2017-09-07 17:18:25 +02:00