If you don't take this patch, the main browser window and some other windows become undraggable for cases when the system-drawn titlebar is hidden.
The bug starts by talking about a problem with dragging when Firefox is paused by an external debugger, but the solution changes how dragging works in all cases, not just when using an external debugger.
patch:
- (2014-09-18) (Fx35) https://hg.mozilla.org/mozilla-central/rev/aa6432518ad1 (nsCSSKeywordList.h, nsCSSPropList.h, etc.) Bug 944836 - Add CSS property -moz-window-dragging: drag | no-drag.
- (2014-09-18) (Fx35) https://hg.mozilla.org/mozilla-central/rev/1c9e801f66aa (nsDisplayList.cpp, nsLayoutUtils.cpp, nsBoxFrame.cpp, etc.) Bug 944836 - Build a draggable region for the window based on the -moz-window-dragging property.
- (2014-09-18) (Fx35) https://hg.mozilla.org/mozilla-central/rev/08f2238d29ee (cocoa/nsChildView.mm, nsCocoaWindow.mm, etc.) Bug 944836 - Implement nsChildView::UpdateWindowDraggingRegion.
- (2014-09-18) (Fx35) https://hg.mozilla.org/mozilla-central/rev/71a8e9cb15c5 (osx/browser.css, general.xml, osx/global.css) Bug 944836 - Add -moz-window-dragging CSS styles.
- (2014-09-18) (Fx35) https://hg.mozilla.org/mozilla-central/rev/14e633eeb251 (test) Bug 944836 - Remove test that uses MozMouseHitTest on a statusbar.
Before, in global.css:
Code: Select all
toolbar:not([nowindowdrag="true"]) {
-moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar-drag");
}
statusbar:not([nowindowdrag="true"]) {
-moz-binding: url("chrome://global/content/bindings/general.xml#statusbar-drag");
}
windowdragbox {
-moz-binding: url("chrome://global/content/bindings/general.xml#windowdragbox");
After, in global.css:
Code: Select all
titlebar,
toolbar:not([nowindowdrag="true"]):not([customizing="true"]),
statusbar:not([nowindowdrag="true"]),
windowdragbox {
-moz-window-dragging: drag;
}
toolbarbutton,
button,
textbox,
searchbar,
tab,
radio,
splitter {
-moz-window-dragging: no-drag;
}
and in browser.css:
Code: Select all
#titlebar {
-moz-window-dragging: drag;
}
There's no change from this bug for platforms other than OSX, and on other platforms the drag bindings still need to be used.