Merge pull request #925 from upsuper/fix-fullscreen

Fix fullscreen issues #903 and #910
This commit is contained in:
YUKI "Piro" Hiroshi 2015-08-18 16:55:11 +09:00
commit 4252c461fd
2 changed files with 27 additions and 12 deletions

View File

@ -259,17 +259,33 @@ var TreeStyleTabWindowHelper = {
));
}, 'TreeStyleTab');
TreeStyleTabUtils.doPatching(FullScreen.mouseoverToggle, 'FullScreen.mouseoverToggle', function(aName, aSource) {
return eval(aName+' = '+aSource.replace(
'this._isChromeCollapsed = !aShow;',
'gBrowser.treeStyleTab.updateFloatingTabbar(gBrowser.treeStyleTab.kTABBAR_UPDATE_BY_FULLSCREEN); $&'
));
}, 'treeStyleTab');
if ('showNavToolbox' in FullScreen) { // for Firefox 40 or later
TreeStyleTabUtils.doPatching(FullScreen.showNavToolbox, 'FullScreen.showNavToolbox', function(aName, aSource) {
return eval(aName+' = '+aSource.replace(
'this._isChromeCollapsed = false;',
'gBrowser.treeStyleTab.updateFloatingTabbar(gBrowser.treeStyleTab.kTABBAR_UPDATE_BY_FULLSCREEN); $&'
));
}, 'treeStyleTab');
TreeStyleTabUtils.doPatching(FullScreen.hideNavToolbox, 'FullScreen.hideNavToolbox', function(aName, aSource) {
return eval(aName+' = '+aSource.replace(
'this._isChromeCollapsed = true;',
'gBrowser.treeStyleTab.updateFloatingTabbar(gBrowser.treeStyleTab.kTABBAR_UPDATE_BY_FULLSCREEN); $&'
));
}, 'treeStyleTab');
}
else if ('mouseoverToggle' in FullScreen) { // for Firefox 39 or older
TreeStyleTabUtils.doPatching(FullScreen.mouseoverToggle, 'FullScreen.mouseoverToggle', function(aName, aSource) {
return eval(aName+' = '+aSource.replace(
'this._isChromeCollapsed = !aShow;',
'gBrowser.treeStyleTab.updateFloatingTabbar(gBrowser.treeStyleTab.kTABBAR_UPDATE_BY_FULLSCREEN); $&'
));
}, 'treeStyleTab');
}
TreeStyleTabUtils.doPatching(FullScreen.toggle, 'FullScreen.toggle', function(aName, aSource) {
return eval(aName+' = '+aSource.replace(
'{',
'{ gBrowser.treeStyleTab.onBeforeFullScreenToggle(); '
'if (enterFS) {',
'gBrowser.treeStyleTab.onBeforeFullScreenToggle(enterFS); $&'
));
}, 'treeStyleTab');

View File

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