Pierre Ossman
0a865e15ff
Remove character substitution
...
We can handle any Unicode codepoint now, so stop replacing symbols.
2017-03-24 11:35:36 +01:00
Pierre Ossman
278a5e7fbd
Simplify keysymdef.js
...
Some Unicode to Keysym mappings can be computed and can therefore
be left out of the huge lookup table.
2017-03-24 11:31:38 +01:00
Pierre Ossman
041568bd31
Clean up keysymdef
2017-03-24 11:26:02 +01:00
Pierre Ossman
524d67f283
Remove keysym names from keysymdef.js
...
They were incomplete and turned off in most cases so they served
little use besides adding complexity.
2017-03-24 11:16:53 +01:00
Solly Ross
b4ff032e20
Fix view_only clipboard handling
...
We need to actually consume the clipboard event message,
even if we don't act on it.
2017-03-21 17:39:07 -04:00
Solly Ross
6d6f0db0da
Refactor ES6 module structure/split up Util
...
This commit restructures many of the ES6 modules, splitting them
up to actual export multiple functions instead of a single object.
It also splits up Util into multiple sub-modules, to make it easier
to maintain.
Finally, localisation is renamed to localization.
2017-03-21 17:39:05 -04:00
Solly Ross
6e744119f8
Remove WebUtil.load_scripts
...
The only remaining user of WebUtil.load_scripts was for loading
localisation. Instead, we now load the localization information
over XHR as a JSON blob.
2017-03-07 11:11:29 -05:00
Solly Ross
fba220c6fc
Vendor an ES6-modules-compatible Pako
...
This commit vendors a converted, stripped-down version of Pako which
uses ES6 modules instead of CommonJS modules.
2017-03-01 11:21:32 -05:00
Solly Ross
3ae0bb0968
Uncomment ES6 module syntax
...
This removes the special comment part of the ES6 module syntax,
opting to enable ES6 module syntax by default.
It also appends `.js` to all import paths to better support in-browser
loading.
2017-02-26 16:30:37 -05:00
Solly Ross
d55e454582
Fix typos in imports and i18n
...
`app/ui.js` had an incorrect import path which caused issues
when using the ES6 and/or CommonJS builds of noVNC.
`core/util.js` had a non-strict-compatible declaration of a variable
without a `let` or `var` (it now uses `let`).
This fixes both issues.
2017-02-26 16:30:37 -05:00
Samuel Mannehed
b56d975248
Merge branch 'settingswhileconnected' of https://github.com/samhed/noVNC
...
Closes pull request #778
2017-02-24 15:42:27 +01:00
Samuel Mannehed
7a005a1b18
Merge branch 'disableLabels' of https://github.com/samhed/noVNC
...
Closes pull request #776
2017-02-24 15:13:09 +01:00
Pierre Ossman
90ecc739df
Protect against race in setCapture() polyfill
...
It might take a long time for a timer to fire, long enough for a
new grab to be initiated. Clearing out the capture element would
then cause a crash.
2017-02-23 14:26:50 +01: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
Samuel Mannehed
fb49f91b00
Allow local cursor to be changed while connected
2017-02-19 01:53:41 +01:00
Samuel Mannehed
ef1e8bab22
Allow view_only to be changed while connected
2017-02-19 01:53:41 +01:00
Samuel Mannehed
f78a652e86
Don't send or recieve clipboard in view_only
2017-02-18 20:39:57 +01:00
Samuel Mannehed
c3325dc6f7
Fix translateDOM for placeholders
...
Replaced 'in' with a comma, like in the surrounding code.
2017-02-17 12:45:54 +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
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
d314d2c226
Merge branch 'util-console' of https://github.com/tghw/noVNC
2017-02-07 16:37:58 +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
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
Samuel Mannehed
3e08594c89
Fix rfb._cleanup() ( #743 )
...
We don't have to check for _display or context here since this is a
private function which is never called under such circumstances. This
solves problems caused by display.get_context() which was previously
removed in e549ae074f
.
2017-01-09 12:49:10 +01:00
Lee-Feng
558544364c
Fix no auth "this._updateState" bug
...
Fixes #735
2016-12-20 08:37:31 +01:00
Samuel Mannehed
c01b2f0259
Merge pull request #699 from CendioOssman/double
...
Display double buffering
2016-12-13 12:42:22 +01:00
Pierre Ossman
adf345fdc4
Clean up viewport handling
...
Make sure the viewport is properly updated when necessary, on respects
given restrictions.
2016-12-09 09:20:50 +01:00
Pierre Ossman
3f781f2aa3
Remove max dimension handling
...
The viewport handling is now a lot clearer, so simply limit the size
of the viewport in the caller rather than having this extra layer
of checks.
2016-12-09 09:20:50 +01:00
Pierre Ossman
e549ae074f
Prevent access to sensitive display variables
...
These should not be directly accessed. Instead use drawing operation
and Display.resize().
2016-12-09 09:20:50 +01:00
Pierre Ossman
84cd0e719e
Double buffering damage tracking
...
Optimise the copy from the hidden canvas to the visible one a bit
by only copying the modified area.
2016-12-09 09:20:50 +01:00
Pierre Ossman
2ba767a7fe
Use double buffering for the display
...
Do all rendering to a hidden canvas and then copy over the finished
frame to the visible canvas once everything is done. This simplifies
things and solves some bugs as we can retain a copy of the entire
frame buffer.
2016-12-09 09:20:50 +01:00
Pierre Ossman
74e390512d
Remove blitStringImage() in favour of imageRect()
...
The latter is more generic and can easily be modified for other
mechanisms in the future.
2016-12-09 09:20:50 +01:00
Samuel Mannehed
f5bf2d84ef
Merge pull request #718 from ossman/po
...
Use gettext .po files, and translate everything
2016-11-22 21:02:13 +01:00
Pierre Ossman
edffd9e2f8
Also translate HTML elements
2016-11-19 13:23:00 +01:00
Samuel Mannehed
9964ab0e8e
Add a space in logging of RFB._fail()
2016-11-18 10:30:40 +01:00
Pierre Ossman
3cdc603aa4
Use gettext .po files for translations
...
This allows the same workflow as most other projects for translations.
2016-11-17 20:42:08 +01:00
Pierre Ossman
45729def6d
Restore translations for some strings
...
We lost the translation calls for a couple of strings in one of
the clenaups.
2016-11-17 19:58:10 +01:00
Pierre Ossman
f28e248d3f
Use _() as shorthand for translations
...
Used commonly when gettext is used for translations. Avoids cluttering
the code.
2016-11-17 19:58:10 +01:00
Samuel Mannehed
67cd2072ab
Allow specifying details when calling RFB._fail()
...
RFB's _fail function logs the error, disconnects the session and sets
disconnect_reason. The disconnect_reason is upon disconnection sent to
the user interface. It is thus not suitable for including error details
that aren't user friendly. The idea is that you will look in the
browser console for a full log with details of the error.
2016-11-10 15:17:37 +01:00
Samuel Mannehed
9f909d9b46
Don't wait for websocket closes on failure
...
RFB._fail() can be called at any time in any state, it is not certain
that we will get a close event on the socket since the socket might not
be open. This caused us to hit the disconnect timeout in such cases.
Fixes issue #678
2016-11-10 15:17:37 +01:00