Bug 5454 - Add the option to run Web Access in fullscreen mode
Summary: Add the option to run Web Access in fullscreen mode
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Web Access (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: MediumPrio
Assignee: Samuel Mannehed
URL:
Keywords: hean01_tester
Depends on: 4583
Blocks: 7801
  Show dependency treegraph
 
Reported: 2015-03-02 12:58 CET by Samuel Mannehed
Modified: 2022-02-18 12:16 CET (History)
2 users (show)

See Also:
Acceptance Criteria:


Attachments
Adds the option to toggle fullscreen in the HTML5 client (4.44 KB, patch)
2015-03-02 13:17 CET, Samuel Mannehed
Details | Diff
Image for the fullscreen button (851 bytes, image/png)
2015-03-02 13:17 CET, Samuel Mannehed
Details

Description Samuel Mannehed cendio 2015-03-02 12:58:23 CET
Especially on devices with small screens it can be very useful to be able to run the HTML5 client in fullscreen.

Fullscreen is not supported in Safari on iOS. The only way to achieve this is through adding to homescreen and in that way run the page in WebApp mode. See bug 4583
Comment 1 Samuel Mannehed cendio 2015-03-02 13:17:03 CET
Created attachment 608 [details]
Adds the option to toggle fullscreen in the HTML5 client
Comment 2 Samuel Mannehed cendio 2015-03-02 13:17:45 CET
Created attachment 609 [details]
Image for the fullscreen button
Comment 3 Samuel Mannehed cendio 2015-03-09 12:54:01 CET
(In reply to comment #0)
> Fullscreen is not supported in Safari on iOS. The only way to achieve this is
> through adding to homescreen and in that way run the page in WebApp mode. See
> bug 4583

We need to investigate whether fullscreen is supported in Chrome on iOS.
Comment 4 Samuel Mannehed cendio 2015-06-17 11:00:01 CEST
I have created a pullrequest upstream to see if people have any comments: https://github.com/kanaka/noVNC/pull/499
Comment 5 Samuel Mannehed cendio 2015-06-17 11:56:15 CEST
(In reply to comment #3)
> We need to investigate whether fullscreen is supported in Chrome on iOS.

It is not.

http://www.mobilexweb.com/blog/chrome-ios-android-4-1-jelly-bean-html5

I have verified through testing as well. Thus I think we should hide the toggle-button on iOS, no matter the browser.
Comment 6 Samuel Mannehed cendio 2015-06-18 14:59:36 CEST
It is possible to detect fullscreen support so that we don't have to specify which platform (user agent) we have to exclude. I have updated the PR to use this.

However, there are issues with fullscreen which we can't solve atm:

* Safari blocks access to keyboard events in fullscreen mode (they say it's a security measure).
* IE 11 does not allow scrolling when in fullscreen (and the scrollbars are not shown).

We should consider not allowing fullscreen in Safari. We should also consider forcing clipping mode in Internet Explorer (= you won't get scrollbars but the 'hand' instead).

And lastly, to summarize, the only relevant browsers that doesn't support fullscreen seem to be:

* Safari on iOS
* Chrome on iOS
* IE 10 on Windows
Comment 7 Samuel Mannehed cendio 2015-06-18 15:00:23 CEST
Comment on attachment 608 [details]
Adds the option to toggle fullscreen in the HTML5 client

obsoleted by the upstream PR
Comment 8 Samuel Mannehed cendio 2015-06-23 08:44:23 CEST
See:

https://bugs.webkit.org/show_bug.cgi?id=121496

It seems it is "only" alphanumerical keyboard input that is blocked in Safari.
Comment 9 Samuel Mannehed cendio 2015-07-01 15:37:30 CEST
Fixed in r30543

The result is:

* The fullscreen button is not shown when fullscreen support is detected missing.
* The fullscreen button is not shown in Safari since fullscreen is supported but alphanumerical keyboard input is disabled in fullscreen.
* Clipping mode is forced on IE when scaling is disabled and we are in fullscreen. A popup status message is shown when entering fullscreen mode in IE to clarify what is happening.
Comment 10 Samuel Mannehed cendio 2015-08-10 16:05:14 CEST
Something is broken, the HTML5 client in the nightly build is unusable. The session never loads and the web-console shows: 

Uncaught TypeError: Cannot read property 'style' of null
Comment 11 Samuel Mannehed cendio 2015-08-11 16:23:54 CEST
(In reply to comment #10)
> Something is broken, the HTML5 client in the nightly build is unusable. The
> session never loads and the web-console shows: 
> 
> Uncaught TypeError: Cannot read property 'style' of null

Fixed in r30651.
Comment 12 Pierre Ossman cendio 2015-08-11 17:02:17 CEST
Pressing Escape in Firefox brings you out of full screen. This makes the feature rather difficult to use. Any way of blocking that?
Comment 13 Pierre Ossman cendio 2015-08-11 17:15:19 CEST
Firefox on Android doesn't go completely full screen. You still have the status and button bar. Not sure if that is a limitation in Firefox, or something we're doing incorrectly? Chrome gives us the entire screen.
Comment 14 Samuel Mannehed cendio 2015-08-12 09:48:54 CEST
(In reply to comment #12)
> Pressing Escape in Firefox brings you out of full screen. This makes the
> feature rather difficult to use. Any way of blocking that?

The same happens in Chrome, IE and Safari and there is no way of blocking it. Additionally F11 has the same behavior in Chrome. The browser vendors want to make sure the user always has a way of exiting fullscreen.

(In reply to comment #13)
> Firefox on Android doesn't go completely full screen. You still have the status
> and button bar. Not sure if that is a limitation in Firefox, or something we're
> doing incorrectly? Chrome gives us the entire screen.

It seems like this is a limitation in Firefox on Android.
Comment 15 Pierre Ossman cendio 2015-08-25 10:40:21 CEST
We've decided to revert this feature for now and await investigation on bug 4583.
Comment 17 Samuel Mannehed cendio 2015-08-28 15:04:13 CEST
(In reply to comment #15)
> We've decided to revert this feature for now and await investigation on bug
> 4583.

The button is not displayed anymore. Putting this bug on same milestone as bug 4583.
Comment 18 Henrik Andersson cendio 2015-08-31 10:44:44 CEST
Verified that a upgrade from 4.4.0 build 4868 to build 4874 removed the fullscreen  toggle button.
Comment 19 Samuel Mannehed cendio 2017-02-16 17:16:44 CET
(In reply to comment #9)
> * Clipping mode is forced on IE when scaling is disabled and we are in
> fullscreen. A popup status message is shown when entering fullscreen mode in IE
> to clarify what is happening.

This is no longer true after r32206.
Comment 20 Pierre Ossman cendio 2018-03-13 15:52:20 CET
Fullscreen might also be interesting as it allows more use of the keyboard in some browsers (at least Chrome). I.e it partially solves bug 4755.
Comment 21 Samuel Mannehed cendio 2022-02-18 12:16:29 CET
I retested full screen on Safari, I had to modify noVNC's full screen setting which is disabled on iOS and iPad OS.

The behavior is better than historically but still not ideal. When in full screen and pressing the side-bar keyboard button full screen will exit in order for keyboard input to work.

This might translate to an OK user experience if we can trigger to re-enable full screen automatically when the on screen keyboard is closed.

Note You need to log in before you can comment on or make changes to this bug.