Unable to enter fullscreen on hangouts.google.com on Windows
Categories
(Web Compatibility :: Desktop, defect, P1)
Tracking
(Not tracked)
People
(Reporter: xidorn, Unassigned)
References
(Blocks 1 open bug, )
Details
(Keywords: webcompat:contact-ready)
Steps to reproduce from the webcompat issue:
- Navigate to https://hangouts.google.com/ with a personal Google account (enterprise one doesn't work because it would redirect to meet.google.com)
- Click “Video Call” and start a video chat.
- Click “More” button.
- Click “Fullscreen” and observe behavior.
I had a look at this issue on my surface, and it seems the fullscreen request gets stuck: it's neither accepted nor rejected. You see no error message in the console, and manually hook fullscreenerror event gets nothing. This is apparently something going wrong in the browser.
It's not clear to me yet whether it's something wrong in the DOM code or in the Windows widget code.
Comment 2•6 years ago
|
||
Thanks Xidorn.
Reporter | ||
Comment 3•6 years ago
|
||
One thing I was wrong: this is probably unrelated to Fullscreen API. As far as I can see, requestFullscreen is not invoked at all on Windows. I set a custom function to Element.prototype.requestFullscreen and Element.prototype.mozRequestFullScreen, and none of them are invoked when clicking the fullscreen menu. Also when I put a breakpoint in the entry Element::RequestFullscreen function, it is not reached either.
If the function is never invoked, we certainly cannot enter fullscreen.
Reporter | ||
Comment 4•6 years ago
|
||
OK, it is clear to me now that this is not our problem. It is Hangouts explicitly prevent Firefox from entering fullscreen on Windows.
In their source code, I can find the following stuff (slightly prettified):
if (!_.Kd || !_.Fd)
if (_.jQ() || screen.width != window.innerWidth || screen.height != window.innerHeight)
_.jQ() ? (_.wza(), b.La(2625)) :
(a = _.Uf(a).body, a.mozRequestFullScreenWithKeys ?
a.mozRequestFullScreenWithKeys() :
a.webkitRequestFullscreen ? a.webkitRequestFullscreen() :
a.webkitRequestFullscreen ? a.webkitRequestFullscreen() :
a.mozRequestFullScreen ? a.mozRequestFullScreen() :
a.msRequestFullscreen ? a.msRequestFullscreen() :
a.requestFullscreen && a.requestFullscreen(), b.La(2624))
and on Windows, both _.Kd
and _.Fd
are true, so the following stuff is not invoked.
And I searched the code to see what are they, this is what I found:
_.Kd=_.Ac("Windows");
_.Fd=_.Ac("Gecko")&&!(_.kc(_.xc.toLowerCase(),"webkit")&&!_.Ac("Edge"))&&!(_.Ac("Trident")||_.Ac("MSIE"))&&!_.Ac("Edge");
Although I didn't trace all the way down for what each symbol here means, it should be clear enough from the strings shown up that Firefox on Windows is specifically stopped from entering fullscreen.
This is apparently a problem that we cannot fix from our side.
Assignee | ||
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Comment 5•6 years ago
|
||
This is fixed now.
Updated•3 years ago
|
Description
•