chrome.windows fullscreen WindowState removes toolbar and URL bar on macOS
Reported by
cory.tho...@tamu.edu,
Jan 9 2018
|
|||||||||||||||||||
Issue descriptionUserAgent: 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:
,
Jan 10 2018
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.
,
Jan 17 2018
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.
,
Jan 17 2018
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
,
Jan 18 2018
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.
,
Jan 26 2018
Extension-only bug, over to extension team.
,
May 17 2018
Testing team, can you see if you can reproduce this with the about:flag "Use Views browser windows instead of Cocoa." enabled?
,
May 17 2018
,
May 18 2018
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!
,
May 18 2018
,
May 22 2018
Leaving it Untriaged so Mac triage or extensions triage can pick it up, unless an omnibox triager knows exactly who to assign this to.
,
May 22 2018
#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.
,
May 29 2018
+robliao - FYI this may be at the intersection of Mac extensions and Mac views.
,
May 31 2018
,
Jun 13 2018
Marking this untriage for initial Mac triage.
,
Jun 22 2018
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
,
Jun 25 2018
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
,
Jun 26 2018
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.
,
Jun 26 2018
> 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.
,
Jun 26 2018
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?
,
Jun 26 2018
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.
,
Jun 26 2018
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?
,
Jun 26 2018
If we're moving *towards* a visible toolbar (which is my understanding), I think this is beneficial for security.
,
Jun 26 2018
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.
,
Jun 26 2018
Thank you for taking this on, and the details about fullscreen! :)
,
Aug 2
As near as I can tell tapted@ got the feedback requested when adding the label; removing the label.
,
Aug 8
|
|||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||
Comment 1 by krajshree@chromium.org
, Jan 10 2018