[Pale Moon] Use mousemove events instead of MousePosTracker for hiding the navigation bar in fullscreen

* Tag #336
pull/1/head
FranklinDM 4 years ago committed by Roy Tam
parent b5376e63c5
commit 3687a6bd06
  1. 37
      application/palemoon/base/content/browser-fullScreen.js

@ -53,17 +53,9 @@ var FullScreen = {
document.addEventListener("popupshown", this._setPopupOpen, false);
document.addEventListener("popuphidden", this._setPopupOpen, false);
this._shouldAnimate = true;
// If it is not safe to collapse, add the mouse position tracker or
// else it won't be possible to hide the navigation toolbox again
if (!this._safeToCollapse(document.mozFullScreen)) {
let rect = gBrowser.mPanelContainer.getBoundingClientRect();
this._mouseTargetRect = {
top: rect.top + 50,
bottom: rect.bottom,
left: rect.left,
right: rect.right
};
MousePosTracker.addListener(this);
if (gPrefService.getBoolPref("browser.fullscreen.autohide")) {
gBrowser.mPanelContainer.addEventListener("mousemove",
this._collapseCallback, false);
}
// We don't animate the toolbar collapse if in DOM full-screen mode,
// as the size of the content area would still be changing after the
@ -149,7 +141,8 @@ var FullScreen = {
cleanup: function () {
if (!window.fullScreen) {
MousePosTracker.removeListener(this);
gBrowser.mPanelContainer.removeEventListener("mousemove",
this._collapseCallback, false);
document.removeEventListener("keypress", this._keyToggleCallback, false);
document.removeEventListener("popupshown", this._setPopupOpen, false);
document.removeEventListener("popuphidden", this._setPopupOpen, false);
@ -164,17 +157,12 @@ var FullScreen = {
}
},
getMouseTargetRect: function()
{
return this._mouseTargetRect;
},
// Event callbacks
_expandCallback: function()
{
FullScreen.showNavToolbox();
},
onMouseEnter: function()
_collapseCallback: function()
{
FullScreen.hideNavToolbox();
},
@ -328,14 +316,8 @@ var FullScreen = {
// Track whether mouse is near the toolbox
this._isChromeCollapsed = false;
if (trackMouse) {
let rect = gBrowser.mPanelContainer.getBoundingClientRect();
this._mouseTargetRect = {
top: rect.top + 50,
bottom: rect.bottom,
left: rect.left,
right: rect.right
};
MousePosTracker.addListener(this);
gBrowser.mPanelContainer.addEventListener("mousemove",
this._collapseCallback, false);
}
},
@ -378,7 +360,8 @@ var FullScreen = {
gNavToolbox.style.marginTop =
-gNavToolbox.getBoundingClientRect().height + "px";
this._isChromeCollapsed = true;
MousePosTracker.removeListener(this);
gBrowser.mPanelContainer.removeEventListener("mousemove",
this._collapseCallback, false);
},
showXULChrome: function(aTag, aShow)

Loading…
Cancel
Save