Closed Bug 1106351 Opened 10 years ago Closed 9 years ago

Unable to Full Screen Vimeo Video's

Categories

(Core :: DOM: Core & HTML, defect)

36 Branch
x86_64
All
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1117579
Tracking Status
firefox35 --- unaffected
firefox36 + fixed
firefox37 + fixed

People

(Reporter: mp3geek, Unassigned)

References

Details

(Keywords: regression)

User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0
Build ID: 20141128103005

Steps to reproduce:

Open http://vimeo.com/93003441
Play video
Click on the fullscreen icon
No Fullscreen.




Actual results:

Full Screen doesn't occur, nothing happens. Video keeps playing.


Expected results:

Full screen of video.

Note, Chrome can view video in fullscreen without issue.
Regression window(m-i)
Good:
https://hg.mozilla.org/integration/mozilla-inbound/rev/e5326d6771d3
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 ID:20141121085716
Bad:
https://hg.mozilla.org/integration/mozilla-inbound/rev/c080f66ed9d2
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 ID:20141121085817
Pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=e5326d6771d3&tochange=c080f66ed9d2


Suspect: Bug 1036606 Bug 1036597
Blocks: 1036606, 1036597
Status: UNCONFIRMED → NEW
Component: Untriaged → DOM
Ever confirmed: true
Flags: needinfo?(vladimir)
Keywords: regression
OS: Windows 8.1 → All
Product: Firefox → Core
Version: 37 Branch → 36 Branch
Yeah, this is the failure mode I mentioned in bug 1036606 comment 3.

The site is calling mozRequestFullScreen() like so:

  if (/5\.1[\.\d]* Safari/.test(navigator.userAgent))
    d[r.request]();
  else 
    d[r.request](q && Element.ALLOW_KEYBOARD_INPUT);

Element.ALLOW_KEYBOARD_INPUT is a Safari-ism, apparently.  In this case q is the boolean false, so the passed value is the boolean false.  This cause the mozRequestFullScreen call to throw.

In any case, WebKit has webkitRequestFullScreen documented as taking a single integer argument (see <https://developer.apple.com/library/safari/documentation/WebKit/Reference/ElementClassRef/Element/Element.html#//apple_ref/javascript/instm/Element/webkitRequestFullScreen>).  So we probably can't start taking a dictionary here if people use this sort of (kinda broken, but when has that ever stopped anyone?) code pattern.  :(
No longer blocks: 1036597
Oh, and unsurprisingly setting my UA string to "5.1.2 Safari" fixes the site, since then we get called with no arguments.
Regression, tracking.
Brad, do you think you could help here?
Flags: needinfo?(brad)
Thanks for letting me know about this.

I've removed `Element.ALLOW_KEYBOARD_INPUT` entirely and have confirmed that it's working in 36. The change will go out with our next player update, which should be sometime this week.
Flags: needinfo?(brad)
I suspect this will be a problem on other sites too, so while getting this fixed on Vimeo is very helpful in that it gives us more time to figure out our options, I think we should in fact consider what those options are.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
Flags: needinfo?(vladimir)
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.