summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Restrict forced panning to known bad platformsPierre Ossman2022-12-271-4/+17
| | | | | | Let's not punish systems that implement overlay scrollbars in a functional way. The only current example is Firefox on Windows 11 and on Linux.
* Check for Android using userAgentPierre Ossman2022-12-272-6/+8
| | | | | Modern Android systems seem to report "Linux" for navigator.platform, so we can no longer rely on that.
* Add OS checks for Android and ChromeOSPierre Ossman2022-12-272-1/+52
|
* Add unit tests for OS detectionPierre Ossman2022-12-271-1/+61
|
* Refine browser detectionPierre Ossman2022-12-272-4/+130
| | | | | Try to follow the principle outlined by Mozilla when detecting browsers and engines.
* Remove navigator check from browser testsPierre Ossman2022-12-271-7/+6
| | | | This is a fundamental object that should always be present.
* Add unit tests for browser detectionPierre Ossman2022-12-271-0/+55
|
* Remove test code for old ChromePierre Ossman2022-12-274-79/+9
| | | | | We don't care about ancient versions of Chrome anyway, so let's keep things simple.
* Consistently use "first" indentationPierre Ossman2022-12-273-3/+6
| | | | | We already enforced this for most things, so let's fix up the last few variants as well.
* Export clipping state externallyPierre Ossman2022-12-273-1/+35
| | | | | So that UI can reflect if it is currently possible to drag the viewport or not.
* Sort API alphabeticallyPierre Ossman2022-12-271-199/+199
| | | | So it is easier to find things as the API grows.
* Merge branch 'add-mslogonii' of https://github.com/pdlan/noVNCPierre Ossman2022-12-232-0/+141
|\
| * Add MSLogonII security typeDinglan Peng2022-12-212-0/+141
| |
* | Reinstate outer div of noVNC_connect_buttonSamuel Mannehed2022-12-232-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | There were two issues with removing the outer div of the connect button. Firstly, rounded outlines don't work in WebKit browsers like Safari or Epiphany (https://bugs.webkit.org/show_bug.cgi?id=20807) and this makes the outline look completely square. Secondly the code became too complex. This reverts most of commit 05baf14256a4640e15cda63cc2ac576f44482775.
* | Change element type of noVNC_logoSamuel Mannehed2022-12-231-1/+1
| | | | | | | | This is text, a <p> is better suited.
* | Get rid of WebKit's button top marginSamuel Mannehed2022-12-231-0/+1
| | | | | | | | It conflicts with our :active styling since it changes margin-top.
* | Merge pull request #1732 from novnc/faviconsSamuel Mannehed2022-12-2326-58/+231
|\ \ | | | | | | Favicon cleanups and fixes
| * | Use an ICO file for faviconsSamuel Mannehed2022-12-2312-17/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The browsers have been choosing very poorly and have a lot of bugs when it comes to favicons. Using an ICO makes many browsers choose better in most cases. Most large websites use ICO files. The icons in the ICO file needs to be ordered largest to the smallest icon, and due to a Chrome bug we are limited to 8 icons. This unfortunately means we couldn't fit one of the Android sizes. The 72x72 icon was removed since testing showed that it was used the least.
| * | Explicitly specify icon size instead of densitySamuel Mannehed2022-12-2310-13/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of calculating a density that we hope results in the correct size, we can specify what size we want. This is more robust and easier to understand. This also allows us to simplify the Makefile quite a bit. Note that Fedora's packaging of ImageMagick has a bug here: https://bugzilla.redhat.com/show_bug.cgi?id=2140018
| * | Create specific apple-touch-iconsSamuel Mannehed2022-12-2321-12/+201
| | | | | | | | | | | | | | | These icons shouldn't have any transparancy. Instead, we remove the rounded corners and let iOS handle that.
| * | Simplify names of faviconsSamuel Mannehed2022-12-2220-25/+25
| | | | | | | | | | | | | | | | | | All of the icons are square, only providing the size in one direction is enough. This change lets us avoid some unnecessary complexity in the Makefile.
| * | Provide up to date set of apple-touch-iconsSamuel Mannehed2022-12-229-6/+17
| | | | | | | | | | | | | | | | | | Apple requires a different set of icons now-a-days. This change involves removing the 76x76 icon and adding icons with the following sizes; 40, 58, 80, 87, 167 and 180.
| * | Stop including apple-touch-icons as regular iconsSamuel Mannehed2022-12-221-4/+0
| | | | | | | | | | | | | | | These icons are used differently and don't belong in the list of regular browser icons.
| * | Remove duplicate 48 icon from Android sizesSamuel Mannehed2022-12-221-1/+1
| | | | | | | | | | | | This size is already specified under BROWSER_SIZES.
| * | Simplify icon variables by removing the filenameSamuel Mannehed2022-12-221-22/+6
| | | | | | | | | | | | | | | The filename is the same for all of these, lets break out that part to simplify things.
| * | Rename browser icon variable to reflect useSamuel Mannehed2022-12-221-2/+2
|/ / | | | | | | | | The other variables in the Makefile are named according to how the icons are used, lets do the same for the variable for the browser icons.
* | Don't show virtual keyboard button in webkitSamuel Mannehed2022-12-221-1/+1
|/ | | | | | | Webkit browsers don't support Media Queries 4, which means we have to use a slightly convoluted syntax when writing "@media not...". Otherwise the "(any-pointer: coarse)" part evaluates as the device part of the query.
* Add FIXME for virtual keyboard button on touchSamuel Mannehed2022-12-151-0/+5
| | | | | The way we decide whether to show the keyboard button or not is not ideal, let's add a FIXME for that.
* Use "initial" for displaying handle touch areaSamuel Mannehed2022-12-151-1/+1
| | | | | | Our intentions are clearer if we set "display" to "initial" rather than "unset" when we want to enable the touch area for the control bar handle.
* Remove outer div from noVNC_connect_buttonSamuel Mannehed2022-12-153-16/+13
| | | | | | | | | | | Instead of having an outer "box", we can use an outline on the button itself to create this "platform". Since the outline isn't part of the size of the element, it will appear wider than before, when compared to the logo. To counteract that we remove the left and right padding from the logo to make the entire noVNC_connect_dlg more narrow. We also had to slightly adjust the :active style since we don't want the entire "platform" to move when the button is clicked.
* Merge pull request #1730 from novnc/media_touchSamuel Mannehed2022-12-144-54/+84
|\ | | | | Replace JavaScript .noVNC_touch with CSS @media (any-pointer: coarse)
| * Get rid of noVNC_touch in favor for @media queriesSamuel Mannehed2022-12-143-34/+40
| | | | | | | | | | | | | | | | | | | | | | This commit removes our dependency on the class "noVNC_touch" which was set by Javascript. Instead, we can use the CSS media query "any-pointer: coarse", which means that any pointing device that isn't accurate is available. In practice this seems to basically be equal to that a touch screen is available. This change lets us simplify the selectors in many cases as well, which is a nice bonus.
| * Ensure arrow doesn't change on disabled <select>Samuel Mannehed2022-12-141-2/+2
| | | | | | | | | | | | We can't just modify the CSS variable here, since that is also used in the style for :disabled. We need to change the entire "background-image" in order for :disabled to be able to override it.
| * Make connect button a regular <button>Samuel Mannehed2022-12-143-18/+16
| | | | | | | | | | | | | | | | | | | | It is a button, let the HTML element reflect that. And instead of having the outer div being clickable, lets only make the inner one work like a button. Because of that, this commit renames the outer div to "connect_box" instead of "connect_button". Note that we remove the disabled :hover-effect for touch on this button. It doesn't make much difference since this button is one of a kind.
| * Add comment explaining the handle touch areaSamuel Mannehed2022-12-141-0/+1
| |
| * Get rid of Chrome's blue touch tap highlightSamuel Mannehed2022-12-131-0/+3
| | | | | | | | | | When tapping our buttons using a touch screen in Chrome, we get an ugly blue overlay. Let's remove this since we have our own :active styles.
| * Separate the disabling of :hover for touchSamuel Mannehed2022-12-132-12/+35
| | | | | | | | | | This is a corner case which shouldn't need to complicate things for the regular usecases.
| * Use the same background gradient on all buttonsSamuel Mannehed2022-12-131-6/+5
| | | | | | | | | | | | | | | | Before, we have had two different gradiant versions, one where the two colors meet in the middle, and one where only the top part of the element was the darker shade. This was easily missed. Let's standardize on the latter alternative. This commit introduces a variable to make it easier.
* | Added none user select on the cursorFredrik Kortetjärvi2022-12-141-0/+4
| | | | | | | | | | | | | | This is because, when double-clicking with the trackpad, it will not highlight the mouse. And this only happened on the iOS but the decision on adding it a normal user select comes from the other commits that it looks like it elsewhere.
* | Set snap credentials via environmentPierre Ossman2022-12-141-3/+6
|/ | | | The old method of using "with" is no longer supported.
* Add FIXME for select:active on FirefoxSamuel Mannehed2022-12-131-0/+2
| | | | | The :active state is only active in Firefox during the click on the <select>, not while the dropdown is opened, like in Chrome.
* Merge pull request #1729 from novnc/css_cleanupSamuel Mannehed2022-12-122-116/+142
|\ | | | | Add styling for checkboxes and range-sliders
| * Buttons shouldn't react to clicks when disabledSamuel Mannehed2022-12-121-0/+2
| | | | | | | | | | Counteract the border-width and margin set by :active in the rules for :disabled buttons.
| * Add section comments to input.cssSamuel Mannehed2022-12-121-0/+33
| | | | | | | | Makes stuff easier to find.
| * Simplify :focus-visible & :disabled selectorsSamuel Mannehed2022-12-121-43/+2
| | | | | | | | | | Since these were the same for all <input> types now, we can omit the type from the selector.
| * Share some properties between all input elementsSamuel Mannehed2022-12-121-26/+3
| | | | | | | | | | Some properties, like 'font', 'appearance', and 'color' are shared between all our input elements. Let's reflect that in our rules.
| * Combine rules for buttons in input.cssSamuel Mannehed2022-12-121-8/+1
| | | | | | | | | | | | | | It was completely unnecessary that these two were separate, lets combine them. The only difference was that the lower rule didn't apply for <select>. That doesn't matter though, since padding-left and padding-right are specifically set for <select> elements anyway.
| * Change arrow direction of active select buttonSamuel Mannehed2022-12-121-1/+10
| | | | | | | | | | | | When the select-dropdown is open, let's use an arrow pointing upwards isntead. Note that we can't easily animate the change in background-image.
| * Put all styling for selected buttons in one placeSamuel Mannehed2022-12-121-4/+4
| | | | | | | | Let's not have the rules for noVNC_selected spread out.
| * Clarify comment about hover state on touch devicesSamuel Mannehed2022-12-121-1/+1
| |