New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 800481 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

chrome.windows fullscreen WindowState removes toolbar and URL bar on macOS

Reported by cory.tho...@tamu.edu, Jan 9 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36

Steps to reproduce the problem:
1. Create the Chrome extension
2. Add the attached test case file to the extension.
3. Running the code in the attached file updates the Chrome window to fullscreen mode, but removes the url and toolbar.

What is the expected behavior?
The url and toolbar should remain at the top of the window, especially if "Always Show Toolbar in Full Screen" is checked.

What went wrong?
The url and toolbar is removed when entering full screen mode from the extension API, no matter if "Always Show Toolbar in Full Screen" is checked.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 63.0.3239.132  Channel: stable
OS Version: OS X 10.13.2
Flash Version:
 
extensionFullscreen.js
117 bytes View Download
Labels: Needs-Triage-M63
Cc: vamshi.k...@techmahindra.com
Labels: Needs-Feedback Triaged-ET
Thanks for filing the issue!

@Reporter: Could you please share a sample extension file/URL which helps us to triage the issue in a better way.
Sample extension is attached. Icon is a big circle and popout prompts user to click to go fullscreen.

This behavior (provided by the extension api) on macOS is different than going fullscreen by entering Ctrl+Cmd+F. The extension api always hides the omnibar and tabs, whereas entering Ctrl+Cmd+F only hides the omnibar if "View->Always Show Toolbar in Full Screen" is not checked. I'm not sure if the behavior is expected to be the same or not.
fullscreen-extension.zip
5.3 KB Download
Project Member

Comment 4 by sheriffbot@chromium.org, Jan 17 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "vamshi.kommuri@techmahindra.com" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: sc00335...@techmahindra.com
Labels: M-65
Status: Untriaged (was: Unconfirmed)
Able to reproduce this issue on reported version 63.0.3239.132 and on latest canary 65.0.3323.0 using Mac 10.13.1 with extension given in comment#3. i.e; Either on selecting/deselecting "Always Show Toolbar in Fullscreen" -- doesn't show toolbar and Omnibar by default. On hovering on top able to see toolbar but not omnibox.

NOTE:1. From M50-M51 on hovering on top after clicking on Go fullscreen button able to see both toolbar and omnibox. But from M52-M65 able to see only toolbar. 
2. Issue is not applicable to Linux and Windows as "Always Show Toolbar in Fullscreen" is not present there.

Hence considering this issue as Non-Regression and marking as Untriaged.



Comment 6 by e...@chromium.org, Jan 26 2018

Components: -Blink>Fullscreen Platform>Extensions
Extension-only bug, over to extension team.
Labels: Needs-TestConfirmation
Testing team, can you see if you can reproduce this with the about:flag "Use Views browser windows instead of Cocoa." enabled?

Components: UI>Browser>Omnibox
Cc: -sc00335...@techmahindra.com sindhu.chelamcherla@chromium.org
Labels: -Needs-TestConfirmation
In response to comment#7 checked the issue by enabling "Use Views browser windows instead of Cocoa." in chrome://flags and same behavior is seen.

i.e; Either on selecting/deselecting "Always Show Toolbar in Fullscreen" and hovering on top only toolbar is seen, but Omnibox is seen missing.

Thanks!
Labels: -Hotlist-Interop
Labels: -Pri-2 Pri-3
Leaving it Untriaged so Mac triage or extensions triage can pick it up, unless an omnibox triager knows exactly who to assign this to.
#5 expanding on "2. Issue is not applicable to Linux and Windows as "Always Show Toolbar in Fullscreen" is not present there." 
This is Mac-only. i.e. The grd string "Always Show Toolbar in Full Screen" is only used on MacOSX.

Comment 13 by skare@chromium.org, May 29 2018

Cc: robliao@chromium.org
+robliao - FYI this may be at the intersection of Mac extensions and Mac views.

Comment 14 by skare@chromium.org, May 31 2018

Status: Available (was: Untriaged)
Status: Untriaged (was: Available)
Marking this untriage for initial Mac triage.
Cc: rdevlin....@chromium.org
Owner: mgiuca@chromium.org
Status: Assigned (was: Untriaged)
Triage!

Extensions code just calls FullscreenController::ToggleBrowserFullscreenModeWithExtension().

mgiuca@, looks like you're an OWNER in c/b/ui/exclusive_access/ - is this something you could look into?

[1] https://chromium.googlesource.com/chromium/src/+/498d336cf9af165cbf5428ce2ef47e403b712e35/chrome/browser/ui/exclusive_access/fullscreen_controller.cc#76
Cc: tapted@chromium.org mgiuca@chromium.org
Owner: spqc...@chromium.org
Sorry, this goes into the macOS-specific territory which I'm not at all familiar with.

I'd start looking here (the macOS-specific implementation of ExclusiveAccessContext::EnterFullscreen):

https://cs.chromium.org/chromium/src/chrome/browser/ui/cocoa/browser/exclusive_access_controller_views.mm?q=ExclusiveAccessController::EnterFullscreen

+tapted (not on macOS any more), +spqchan
Labels: Needs-Feedback
Status: Unconfirmed (was: Assigned)
Does window.requestFullscreen() do what you want? I think this is WAI - Extensions may want to run a fullscreen game or remove-desktop client and intentionally ignore the user pref.
> I think this is WAI - Extensions may want to run a fullscreen game or remove-desktop client and intentionally ignore the user pref.

Hmm... I'm not so sure.  It seems like a great opportunity for abuse, and I don't know that there are a ton of valid use cases (the fullscreen game use case and similar seem like something to be solved with PWAs).  In particular, if we're ignoring the "Always Show Toolbar in Full Screen" setting, that seems bad.

To simplify, I think that extensions entering fullscreen should be the same as a user entering fullscreen.  Extensions are supposed to be part of the user agent, so behaving differently than the web API is okay - but I don't think there's a reason to have three different options (user, web, extension).  Does the toolbar also not show up for user-initiated fullscreen, even with the setting enabled?  If so, that seems like the same bug.
This is actually WAI, since extensions are being treated like tab content fullscreen. The toolbar is always hidden for tab content fullscreen. Should extensions be treated as browser fullscreen?
Interesting!  Can you elaborate on the differences between tab content fullscreen and browser fullscreen?  Are there differences on all platforms?  And is there a reason tab content fullscreen doesn't respect the "always show toolbar" setting?

Offhand, I think extensions entering fullscreen *should* be treated as browser fullscreen, since the method is called on a chrome window (a Browser object in C++) rather than a specific tab, but I'd like to learn a bit more before committing to that.
Tab content fullscreen refers to a renderer-initiated fullscreen mode (ex/ from JS fullscreen API)

Browser fullscreen is the user putting the browser itself into fullscreen mode from the UI.

These are both available on all desktop platforms. However, MacOS is special in the sense that it can hide the toolbar in fullscreen. Tab content fullscreen doesn't respect the "Always Show Toolbar" settings because the fullscreen is only for on content inside of the page. This is to allow people to say, interact with the top of the screen in fullscreen game, without having the toolbar drop down every single time.

Based on what you mentioned, I agree, it looks like it's more appropriate to treat extensions as a browser fullscreen since this is user initiated. Are there any potential security issues we should be aware of?

If we're moving *towards* a visible toolbar (which is my understanding), I think this is beneficial for security.
Cc: weili@chromium.org
Status: Assigned (was: Unconfirmed)
Fair enough, it would be harder to fake a toolbar that way. In that case, let's go forward with moving "extension fullscreen" to browser fullscreen.

+weili@ since she's working on porting Cocoa fullscreen to MacViews.
Thank you for taking this on, and the details about fullscreen! :)
Labels: -Needs-Feedback
As near as I can tell tapted@ got the feedback requested when adding the label; removing the label.
Owner: sdy@chromium.org

Sign in to add a comment