Fix Fullscreen API issue for Firefox 41+.

This is a change from bug 1161802 which makes the "fullscreen" event be
triggered after window.fullScreen value flips.
This commit is contained in:
Xidorn Quan 2015-08-18 12:11:23 +10:00
parent 075487b836
commit 1e8a1bc324
2 changed files with 5 additions and 6 deletions

View File

@ -284,8 +284,8 @@ var TreeStyleTabWindowHelper = {
TreeStyleTabUtils.doPatching(FullScreen.toggle, 'FullScreen.toggle', function(aName, aSource) { TreeStyleTabUtils.doPatching(FullScreen.toggle, 'FullScreen.toggle', function(aName, aSource) {
return eval(aName+' = '+aSource.replace( return eval(aName+' = '+aSource.replace(
'{', 'if (enterFS) {',
'{ gBrowser.treeStyleTab.onBeforeFullScreenToggle(); ' 'gBrowser.treeStyleTab.onBeforeFullScreenToggle(enterFS); $&'
)); ));
}, 'treeStyleTab'); }, 'treeStyleTab');

View File

@ -5120,17 +5120,16 @@ TreeStyleTabBrowser.prototype = inherit(TreeStyleTabWindow.prototype, {
}).bind(this), 0); }).bind(this), 0);
}, },
onBeforeFullScreenToggle : function TSTBrowser_onBeforeFullScreenToggle() onBeforeFullScreenToggle : function TSTBrowser_onBeforeFullScreenToggle(aEnterFS)
{ {
if (this.position != 'top') { if (this.position != 'top') {
var isEnteringFullScreenMode = !this.window.fullScreen;
// entering to the DOM-fullscreen (ex. YouTube Player) // entering to the DOM-fullscreen (ex. YouTube Player)
if (this.document.mozFullScreen && isEnteringFullScreenMode) { if (this.document.mozFullScreen) {
this.setTabbrowserAttribute(this.kDOM_FULLSCREEN_ACTIVATED, true); this.setTabbrowserAttribute(this.kDOM_FULLSCREEN_ACTIVATED, true);
} }
else { else {
if (this.document.documentElement.getAttribute(this.kDOM_FULLSCREEN_ACTIVATED) != 'true') { if (this.document.documentElement.getAttribute(this.kDOM_FULLSCREEN_ACTIVATED) != 'true') {
if (isEnteringFullScreenMode) if (aEnterFS)
this.autoHide.startForFullScreen(); this.autoHide.startForFullScreen();
else else
this.autoHide.endForFullScreen(); this.autoHide.endForFullScreen();