]> git.proxmox.com Git - mirror_novnc.git/log
mirror_novnc.git
7 years agoWait for proper image load event
Pierre Ossman [Thu, 22 Sep 2016 08:28:35 +0000 (10:28 +0200)]
Wait for proper image load event

There is a specific event for when an image has finished loading,
so trigger on that rather than polling. The polling interval of
requestAnimationFrame() can also be very large.

7 years agoHide image handling in display object
Pierre Ossman [Thu, 22 Sep 2016 08:19:26 +0000 (10:19 +0200)]
Hide image handling in display object

The callers don't need to concern themselves with how images are
rendered, so hide the details behind the API. This also avoids
exposing the render queue.

7 years agoProcess entire WebSocket message at once
Pierre Ossman [Thu, 22 Sep 2016 08:12:26 +0000 (10:12 +0200)]
Process entire WebSocket message at once

setTimeout() causes too much delay to be useful. Also, we
already handle all rects in a message at once, so this shouldn't
be too much of a change.

7 years agoUpdate comment for screenSize()
Samuel Mannehed [Mon, 24 Oct 2016 12:26:53 +0000 (14:26 +0200)]
Update comment for screenSize()

The explanation was outdated.

7 years agoRemove unnecessary anonymous function
Samuel Mannehed [Mon, 24 Oct 2016 12:08:53 +0000 (14:08 +0200)]
Remove unnecessary anonymous function

addEventListener can handle multiple assigned events, no need for a
wrapping function.

7 years agoTypo fix for last commit
Samuel Mannehed [Mon, 24 Oct 2016 11:59:35 +0000 (13:59 +0200)]
Typo fix for last commit

Commit 7d20158b4b8bdc8c6e870bda139e2cf47f83747c contained a typo

7 years agoAdd missing log output for UI-specific errors
Samuel Mannehed [Mon, 24 Oct 2016 11:36:05 +0000 (13:36 +0200)]
Add missing log output for UI-specific errors

Some UI errors and one warning didn't write to the log. We want all
errors to be logged.

7 years agoReformat lines to avoid line-breaks
Samuel Mannehed [Mon, 24 Oct 2016 11:35:06 +0000 (13:35 +0200)]
Reformat lines to avoid line-breaks

7 years agoMerge pull request #686 from CendioOssman/favicon
Samuel Mannehed [Mon, 24 Oct 2016 10:09:58 +0000 (12:09 +0200)]
Merge pull request #686 from CendioOssman/favicon

Clean up page icons ("favicon")

7 years agoMerge pull request #696 from CendioOssman/wheel
Solly Ross [Sat, 22 Oct 2016 02:56:49 +0000 (22:56 -0400)]
Merge pull request #696 from CendioOssman/wheel

Support standard mouse wheel event

7 years agoSupport standard mouse wheel event
Pierre Ossman [Fri, 21 Oct 2016 14:02:27 +0000 (16:02 +0200)]
Support standard mouse wheel event

Mouse wheel event handling has now been standardised and has broad
support. Use this event rather than the older, non-standard ones.
At the same time fix up support for horisontal mouse wheel events.

7 years agoMerge pull request #677 from CendioOssman/perf
Samuel Mannehed [Thu, 20 Oct 2016 10:47:21 +0000 (12:47 +0200)]
Merge pull request #677 from CendioOssman/perf

Support older base64 recordings

7 years agoMerge branch 'asadpanda-patch1' into master
Samuel Mannehed [Wed, 19 Oct 2016 23:14:57 +0000 (01:14 +0200)]
Merge branch 'asadpanda-patch1' into master

Closes #654

7 years agoAdd Meta Key mapping to xtscancodes.js
Asad Saeed [Tue, 6 Sep 2016 18:42:13 +0000 (14:42 -0400)]
Add Meta Key mapping to xtscancodes.js

OSLeft/OSRight have been renamed to MetaLeft/MetaRight respectively.
This change will allow the Super/Windows key to be used under the qemu
rfb extension under Chrome and updated browsers.

https://github.com/w3c/uievents-code/issues/7
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code

7 years agoMerge pull request #649 from kanaka/dontgrabinviewonly
Samuel Mannehed [Wed, 19 Oct 2016 23:04:14 +0000 (01:04 +0200)]
Merge pull request #649 from kanaka/dontgrabinviewonly

Fix view only

7 years agoMerge pull request #687 from CendioOssman/info
Samuel Mannehed [Wed, 19 Oct 2016 23:02:55 +0000 (01:02 +0200)]
Merge pull request #687 from CendioOssman/info

Improve info and error icons

7 years agoMerge pull request #619 from zarmhast/touchmouse
Samuel Mannehed [Wed, 19 Oct 2016 22:45:20 +0000 (00:45 +0200)]
Merge pull request #619 from zarmhast/touchmouse

Fix for touchscreen devices that also have a mouse.

7 years agoFix for touchscreen devices that also have a mouse.
zarmhast [Sat, 4 Jun 2016 23:12:26 +0000 (23:12 +0000)]
Fix for touchscreen devices that also have a mouse.

7 years agoMerge pull request #650 from kanaka/touchdetect
Samuel Mannehed [Wed, 19 Oct 2016 22:18:32 +0000 (00:18 +0200)]
Merge pull request #650 from kanaka/touchdetect

New way of detecting touch

7 years agoDisable forced touch gestures on IE and Edge
Samuel Mannehed [Wed, 19 Oct 2016 22:01:33 +0000 (00:01 +0200)]
Disable forced touch gestures on IE and Edge

Fixes issue discussed in #613

7 years agoFix typo that caused clipping by default on IE
Samuel Mannehed [Wed, 19 Oct 2016 13:33:06 +0000 (15:33 +0200)]
Fix typo that caused clipping by default on IE

Typo from commit a6357e827611aa5b0f2a6082372ab4e06af8cfe9

7 years agoAdd safety check in code for moving the handle
Samuel Mannehed [Tue, 18 Oct 2016 11:32:00 +0000 (13:32 +0200)]
Add safety check in code for moving the handle

An element that has 'display: none' has a height of zero, and the logic
for the handle assumed that this was never the case. This could cause
the handle to end up at the wrong coordinates.

7 years agoMove the handle properly when page is scrolled
Samuel Mannehed [Tue, 18 Oct 2016 11:26:17 +0000 (13:26 +0200)]
Move the handle properly when page is scrolled

The coordinates used to calculate the position for the toolbar handle
wrongly took page-offset into account. Util.getPosition was being used
for this. Thus, when page was scrolled, this caused the handle to be
offset when it was being moved. Use getBoundingClientRect instead.

7 years agoImprove info and error icons
Pierre Ossman [Fri, 14 Oct 2016 14:05:57 +0000 (16:05 +0200)]
Improve info and error icons

Give them a solid background to make them more easily identifiable
as icons, rather than text or some other more inline element.

7 years agoRemove iOS startup image
Pierre Ossman [Fri, 14 Oct 2016 13:46:08 +0000 (15:46 +0200)]
Remove iOS startup image

Apple seems to have removed this feature from iOS 9.

7 years agoClean up page icon ("favicon") handling
Pierre Ossman [Fri, 14 Oct 2016 11:24:35 +0000 (13:24 +0200)]
Clean up page icon ("favicon") handling

Makes sure we use standardised formats and references, and makes sure
we have all the sizes we might need.

7 years agoNew way of detecting touch
samhed [Thu, 25 Aug 2016 12:21:32 +0000 (14:21 +0200)]
New way of detecting touch

Moves detection to Util and fixes so that touch is properly detected on
MS Surface and touch emulation in Chrome.

7 years agoHide input related buttons in view only
Samuel Mannehed [Thu, 13 Oct 2016 23:44:53 +0000 (01:44 +0200)]
Hide input related buttons in view only

7 years agoDon't modify mouse or keyboard in view_only mode
Samuel Mannehed [Thu, 1 Sep 2016 13:39:26 +0000 (15:39 +0200)]
Don't modify mouse or keyboard in view_only mode

The UI previously didn't respect view_only in a number of cases.

7 years agoAdd logging when creation of RFB fails
Samuel Mannehed [Thu, 1 Sep 2016 13:36:04 +0000 (15:36 +0200)]
Add logging when creation of RFB fails

7 years agoDon't request a new desktop size in view_only
Samuel Mannehed [Thu, 1 Sep 2016 13:35:31 +0000 (15:35 +0200)]
Don't request a new desktop size in view_only

7 years agoDon't grab keyboard or mouse in view-only mode
Samuel Mannehed [Thu, 1 Sep 2016 13:03:39 +0000 (15:03 +0200)]
Don't grab keyboard or mouse in view-only mode

Fixes #644.

7 years agoRemove unused startup screen image
Pierre Ossman [Thu, 13 Oct 2016 14:58:27 +0000 (16:58 +0200)]
Remove unused startup screen image

7 years agoRemove redeclaration of a variable
Samuel Mannehed [Thu, 13 Oct 2016 12:57:37 +0000 (14:57 +0200)]
Remove redeclaration of a variable

7 years agoSupport older base64 recordings
Pierre Ossman [Wed, 5 Oct 2016 08:20:17 +0000 (10:20 +0200)]
Support older base64 recordings

7 years agoMerge pull request #651 from kanaka/separatestates
Samuel Mannehed [Sat, 1 Oct 2016 08:20:01 +0000 (10:20 +0200)]
Merge pull request #651 from kanaka/separatestates

Separate visual state from protocol state

7 years agoMerge pull request #665 from CendioOssman/bell
Solly Ross [Fri, 30 Sep 2016 23:37:09 +0000 (19:37 -0400)]
Merge pull request #665 from CendioOssman/bell

Support RFB bell

7 years agoKeep the connect panel when missing host or port
Samuel Mannehed [Fri, 30 Sep 2016 22:00:49 +0000 (00:00 +0200)]
Keep the connect panel when missing host or port

7 years agoDo not timeout error messages
Samuel Mannehed [Fri, 30 Sep 2016 22:00:06 +0000 (00:00 +0200)]
Do not timeout error messages

7 years agoDon't close the control bar when disconnected
Samuel Mannehed [Fri, 30 Sep 2016 21:57:02 +0000 (23:57 +0200)]
Don't close the control bar when disconnected

If you were very quick to disconnect, you could end up in a state
where the toolbar was hidden.

7 years agoRemove out-of-place comma
Samuel Mannehed [Fri, 23 Sep 2016 07:42:13 +0000 (09:42 +0200)]
Remove out-of-place comma

7 years agoRemove padding which isn't needed anymore
Samuel Mannehed [Thu, 22 Sep 2016 14:42:14 +0000 (16:42 +0200)]
Remove padding which isn't needed anymore

7 years agoSplit cleanup from closing the socket
Samuel Mannehed [Sun, 18 Sep 2016 22:32:48 +0000 (00:32 +0200)]
Split cleanup from closing the socket

7 years agoRemove unnecessary substates of disconnected
Samuel Mannehed [Sat, 17 Sep 2016 22:52:25 +0000 (00:52 +0200)]
Remove unnecessary substates of disconnected

The states 'loaded', 'failed' and 'fatal' were all variations of the
'disconnected' state. Removing these states allows us to get rid of
many ugly workarounds and special cases. Error messages to the UI can
now instead be delivered via a new onDisconnected callback.

7 years agoImprove the connection state names
Samuel Mannehed [Fri, 16 Sep 2016 10:12:10 +0000 (12:12 +0200)]
Improve the connection state names

Names such as 'disconnect' and 'disconnected' are inconsistent in the
way that one describes an action and the other a state. The state that
was called 'normal' didn't fit in with the others because the other
names describe a connection state. The new names are: 'disconnecting',
'connecting' and 'connected'

7 years agoClean up log output on state changes
Samuel Mannehed [Fri, 2 Sep 2016 10:03:16 +0000 (12:03 +0200)]
Clean up log output on state changes

7 years agoSeparate out init state from page state
Samuel Mannehed [Fri, 26 Aug 2016 13:14:27 +0000 (15:14 +0200)]
Separate out init state from page state

This makes the state machine simpler as we don't have to confuse
protocol states with visual states.

7 years agoClean up special state handling for 'failed'
Samuel Mannehed [Mon, 29 Aug 2016 13:04:11 +0000 (15:04 +0200)]
Clean up special state handling for 'failed'

7 years agoProperly filter list of auth schemes
Samuel Mannehed [Mon, 29 Aug 2016 13:00:24 +0000 (15:00 +0200)]
Properly filter list of auth schemes

We do _not_ support scheme 1 through 16, only 1, 2, and 16 (and 22).

7 years agoDon't abuse state change function for messages
Samuel Mannehed [Mon, 29 Aug 2016 12:59:28 +0000 (14:59 +0200)]
Don't abuse state change function for messages

This doesn't even work anymore since we fixed it to ignore changes
to the current state. Add a separate callback for notifications
instead.

7 years agoDon't change state to same state
Samuel Mannehed [Mon, 29 Aug 2016 12:57:51 +0000 (14:57 +0200)]
Don't change state to same state

The comment already stated as much, but the code was broken.

7 years agoRemove special password state
Samuel Mannehed [Mon, 29 Aug 2016 12:56:57 +0000 (14:56 +0200)]
Remove special password state

We already have a callback mechanism for this, so let's use that.
Adds an optional parameter 'msg' to the callback.
Fixes vnc_auto.html (#646) which was broken after
4e0c36dda708628836dc6f5d68fc40d05c7716d9

7 years agoUse single line if's for simple return criteria
Samuel Mannehed [Fri, 30 Sep 2016 19:55:49 +0000 (21:55 +0200)]
Use single line if's for simple return criteria

7 years agoMerge branch 'CendioOssman-toolbar' into master
Samuel Mannehed [Fri, 30 Sep 2016 19:36:38 +0000 (21:36 +0200)]
Merge branch 'CendioOssman-toolbar' into master

7 years agoMerge branch 'toolbar' of https://github.com/CendioOssman/noVNC
Samuel Mannehed [Fri, 30 Sep 2016 19:36:00 +0000 (21:36 +0200)]
Merge branch 'toolbar' of https://github.com/CendioOssman/noVNC

7 years agoRemove spaces from clipboard element
Samuel Mannehed [Tue, 27 Sep 2016 14:06:16 +0000 (16:06 +0200)]
Remove spaces from clipboard element

7 years agoClean up virtual keyboard handling
Samuel Mannehed [Fri, 23 Sep 2016 15:31:23 +0000 (17:31 +0200)]
Clean up virtual keyboard handling

7 years agoAdd hover hints to buttons
Pierre Ossman [Thu, 22 Sep 2016 10:58:05 +0000 (12:58 +0200)]
Add hover hints to buttons

Disable it on touch devices though as it is mostly annoying there.

7 years agoAdd headings to panels
Pierre Ossman [Tue, 30 Aug 2016 14:38:45 +0000 (16:38 +0200)]
Add headings to panels

7 years agoClean up panel layouts
Pierre Ossman [Tue, 30 Aug 2016 14:38:09 +0000 (16:38 +0200)]
Clean up panel layouts

Make sure everything follows a consistent style and is properly
labeled.

7 years agoMove Ctrl+Alt+Del to extra keys menu
Pierre Ossman [Fri, 26 Aug 2016 11:34:01 +0000 (13:34 +0200)]
Move Ctrl+Alt+Del to extra keys menu

The extra keys menu is now present for all devices, so avoid clutter
by moving the Ctrl+Alt+Del button there as well.

7 years agoMake sure all buttons have a tooltip
Pierre Ossman [Fri, 26 Aug 2016 11:30:28 +0000 (13:30 +0200)]
Make sure all buttons have a tooltip

7 years agoAuto-close the toolbar on connect after a delay
Samuel Mannehed [Wed, 31 Aug 2016 09:57:38 +0000 (11:57 +0200)]
Auto-close the toolbar on connect after a delay

7 years agoAllow moving the controlbar handle
Samuel Mannehed [Wed, 14 Sep 2016 11:09:12 +0000 (13:09 +0200)]
Allow moving the controlbar handle

This also adds emulation of Element.setCapture() as only Firefox
and Internet Explorer/Edge currently supports it.

7 years agoMake control bar handle easier to hit on mobile
Pierre Ossman [Fri, 26 Aug 2016 14:12:51 +0000 (16:12 +0200)]
Make control bar handle easier to hit on mobile

7 years agoAdd handle to open and close the control bar
Pierre Ossman [Fri, 26 Aug 2016 11:24:25 +0000 (13:24 +0200)]
Add handle to open and close the control bar

7 years agoMake control bar transparent when idle
Pierre Ossman [Fri, 26 Aug 2016 10:37:09 +0000 (12:37 +0200)]
Make control bar transparent when idle

7 years agoAdd logo to control bar
Pierre Ossman [Fri, 26 Aug 2016 10:24:57 +0000 (12:24 +0200)]
Add logo to control bar

7 years agoChange control bar to a smaller left-side toolbar
Pierre Ossman [Fri, 26 Aug 2016 08:48:05 +0000 (10:48 +0200)]
Change control bar to a smaller left-side toolbar

7 years agoLet CSS update UI for touch and connected state
Pierre Ossman [Wed, 14 Sep 2016 14:10:24 +0000 (16:10 +0200)]
Let CSS update UI for touch and connected state

Avoid a lot of JavaScript code that can easily be handed using
style sheets instead, specifically items that should only be shown
when on a touch device, or items that depend on the connected state.

7 years agoMake status dialog independent of control bar
Pierre Ossman [Fri, 26 Aug 2016 08:46:20 +0000 (10:46 +0200)]
Make status dialog independent of control bar

7 years agoImprove active button visual response
Pierre Ossman [Thu, 25 Aug 2016 19:02:49 +0000 (21:02 +0200)]
Improve active button visual response

7 years agoEnable extra keys for all devices
Pierre Ossman [Thu, 25 Aug 2016 18:52:46 +0000 (20:52 +0200)]
Enable extra keys for all devices

Manual special keys can be useful on all devices, so stop restricting
it to just touch devices.

7 years agoMerge control bar sections
Pierre Ossman [Thu, 25 Aug 2016 18:49:52 +0000 (20:49 +0200)]
Merge control bar sections

There is no status information in the centre anymore, so merge
the left and right sections of the control bar.

7 years agoAdd a separate dialog for the password prompt
Samuel Mannehed [Mon, 29 Aug 2016 12:46:58 +0000 (14:46 +0200)]
Add a separate dialog for the password prompt

The user might be queried for the password during the connect stage
if no password was previously provided. Add a separate dialog for
this rather than abusing the connect dialog.

7 years agoAbstract status dialog CSS class handling
Samuel Mannehed [Mon, 29 Aug 2016 12:42:03 +0000 (14:42 +0200)]
Abstract status dialog CSS class handling

7 years agoMove touch text input out of control bar
Pierre Ossman [Thu, 25 Aug 2016 18:45:52 +0000 (20:45 +0200)]
Move touch text input out of control bar

It has nothing to do with the control bar, so hide it somewhere
more sensible.

7 years agoApply CSS style to input elements
Pierre Ossman [Tue, 30 Aug 2016 13:23:20 +0000 (15:23 +0200)]
Apply CSS style to input elements

Different browsers have wildly different defaults for input elements.
Try to get a consistent interface by applying our own style.

7 years agoBling up popups
Pierre Ossman [Thu, 25 Aug 2016 18:11:11 +0000 (20:11 +0200)]
Bling up popups

Make the popups a bit more prominent by adding shadows and animations.

7 years agoRemove redundant modifier state variables
samhed [Thu, 25 Aug 2016 14:55:55 +0000 (16:55 +0200)]
Remove redundant modifier state variables

7 years agoReplace icons with SVG versions
Pierre Ossman [Thu, 25 Aug 2016 14:31:38 +0000 (16:31 +0200)]
Replace icons with SVG versions

Resolution independent for high DPI devices, and easier to modify
if we want to change something.

7 years agoShow all status messages in a popup top bar
samhed [Thu, 25 Aug 2016 14:08:29 +0000 (16:08 +0200)]
Show all status messages in a popup top bar

7 years agoSupport RFB bell
Pierre Ossman [Mon, 19 Sep 2016 13:15:07 +0000 (15:15 +0200)]
Support RFB bell

The protocol handling was already there. What was missing was
hooking it up to a sound file in the user interface.

7 years agoClean up panel open/close API
Pierre Ossman [Thu, 25 Aug 2016 13:23:46 +0000 (15:23 +0200)]
Clean up panel open/close API

7 years agoMake "selected" an extra CSS class
Pierre Ossman [Thu, 25 Aug 2016 12:49:05 +0000 (14:49 +0200)]
Make "selected" an extra CSS class

Avoid duplicating stuff in the style sheet by making the "selected"
property an extra class, rather than a replacement for the base one.

7 years agoHarmonise CSS names
samhed [Thu, 25 Aug 2016 12:41:53 +0000 (14:41 +0200)]
Harmonise CSS names

Follow the same naming convention for all CSS ids and classes.

7 years agoLet CSS control what it means to be hidden/closed
Pierre Ossman [Thu, 25 Aug 2016 12:22:44 +0000 (14:22 +0200)]
Let CSS control what it means to be hidden/closed

This avoids hard-coding layout information in the JavaScript code.
It also opens up possibilities for more control in the CSS, e.g. for
animation.

7 years agoSimplify modifier button display
Pierre Ossman [Thu, 25 Aug 2016 15:32:57 +0000 (17:32 +0200)]
Simplify modifier button display

7 years agoShow/hide logo in updateVisualState()
samhed [Thu, 25 Aug 2016 11:21:33 +0000 (13:21 +0200)]
Show/hide logo in updateVisualState()

We control the visibility of almost everything else in this function,
so move the logo handling there as well.

7 years agoRemove unnecessary span:s
samhed [Thu, 25 Aug 2016 11:02:24 +0000 (13:02 +0200)]
Remove unnecessary span:s

They were probably also incorrect to have around block elements
anyway.

7 years agoFix name for panel CSS class
samhed [Thu, 25 Aug 2016 09:10:25 +0000 (11:10 +0200)]
Fix name for panel CSS class

7 years agoRemove unused description
samhed [Thu, 25 Aug 2016 08:51:43 +0000 (10:51 +0200)]
Remove unused description

7 years agoAvoid ambigious optional arguments
samhed [Wed, 24 Aug 2016 16:03:32 +0000 (18:03 +0200)]
Avoid ambigious optional arguments

Some functions weren't obvious what they would do if an argument was
omitted. Split them up in to separate functions in those cases to
make the API clearer.

7 years agoRemove beforeunload handler
Pierre Ossman [Thu, 1 Sep 2016 10:35:22 +0000 (12:35 +0200)]
Remove beforeunload handler

Support for this is spotty and it is getting more and more restricted
by the day. Give up on this approach.

7 years agoSeparate UI.start() in to sub-functions
samhed [Wed, 24 Aug 2016 15:23:11 +0000 (17:23 +0200)]
Separate UI.start() in to sub-functions

7 years agoAdd events to objects the modern way
samhed [Wed, 24 Aug 2016 15:01:03 +0000 (17:01 +0200)]
Add events to objects the modern way

The old way only allows a single event handler per event, so switch
over everything to the new model.

7 years agoRemove unused event handlers
samhed [Thu, 25 Aug 2016 10:58:58 +0000 (12:58 +0200)]
Remove unused event handlers

These do not work and the mechanism for releasing keyboard grab on
the settings panel needs more work.

7 years agoTrigger autoconnect at proper time
samhed [Wed, 24 Aug 2016 14:35:44 +0000 (16:35 +0200)]
Trigger autoconnect at proper time

It needs to happen after everything is fully initialised.

7 years agoSort style sheet
samhed [Wed, 24 Aug 2016 10:17:53 +0000 (12:17 +0200)]
Sort style sheet

Sort and group the entries in the style sheet the same way as in
the HTML document. Makes it easier to find things.

7 years agoPlace related elements together
samhed [Wed, 24 Aug 2016 09:10:40 +0000 (11:10 +0200)]
Place related elements together

In order to clarify the HTML we group related panels together with
the corresponding buttons.