gecko-dev/layout/xul
Doug Thayer bf49dba88f Bug 1368094 - Correct panel sliding on window resize r=bytesized
This is in response to an issue that's affecting the new app
update doorhangers on OSX, where the problem is more obvious.
On OSX, the panel styling makes it so that the doorhanger
overflows the window a little bit. This is fine until you enter
fullscreen with ctrl+command+F. At this point, the doorhanger
should come back onto the screen and the arrow should be rooted
to its anchor element (in our case the hamburger menu icon), but
instead it lags and the panel is not adjusted right away. This
is because right after the window is resized, which ends up
calling SetPopupPosition with aIsMove == false, SetPopupPosition
is called again from CheckForAnchorChange with aIsMove set to
true. There could be other solutions to this particular problem,
but since the aIsMove boolean is intended to limit the visual
noise when moving a window between screens, it seemed appropriate
for it to only prevent sliding or flipping if the panel isn't
already slid or flipped.

There was another issue affecting specifically the arrow, where
the logic for notifying observers of a positioning change in the
panel doesn't account for changes only to the position of the
anchor rect. This change adds tracking of that and sets aNotify
to true when called from ReflowFinished, since this is where
the position of the anchor element relative to the window can
need to change, even when the screen position of the panel rect
doesn't change.

MozReview-Commit-ID: Lpfokwkgl33

--HG--
extra : rebase_source : b05adc0b3f876196ff45499f0d70533f78cafb0e
2017-06-09 10:49:53 -07:00
..
crashtests Bug 1371577 - stylo: Update test expectations after fixing pseudo element matching for XBL stylesheets. r=emilio 2017-06-14 16:45:46 +08:00
grid Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
reftest Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
test Bug 1157576 - Skip test browser_bug706743.js on e10s, again, for ongoing failures; r=me,test-only 2017-05-29 10:36:37 -06:00
tree Bug 1371577 - stylo: Update test expectations after fixing pseudo element matching for XBL stylesheets. r=emilio 2017-06-14 16:45:46 +08:00
BoxObject.cpp Bug 1358758 - Use CSSIntRect for nsIFrame::GetScreenRect. r=kats 2017-04-25 07:33:13 +09:00
BoxObject.h
ContainerBoxObject.cpp
ContainerBoxObject.h Bug 1351217: Add missing includes to fix latent unified bustage in layout/xul. r=mats 2017-03-28 00:46:22 -07:00
ListBoxObject.cpp Bug 1359211 - Handle touch-scrolling of XUL <listbox> in JS. r=bz,dao,kats 2017-04-24 17:12:21 -04:00
ListBoxObject.h Bug 1359211 - Handle touch-scrolling of XUL <listbox> in JS. r=bz,dao,kats 2017-04-24 17:12:21 -04:00
MenuBoxObject.cpp
MenuBoxObject.h
PopupBoxObject.cpp Bug 1206133 - Add popuppositioning state and popuppositioned event to improve arrow panel position handling. r=enndeakin 2016-08-16 15:33:05 -07:00
PopupBoxObject.h
ScrollBoxObject.cpp
ScrollBoxObject.h
moz.build Bug 835981 part 1. Switch nsIDOMXULElement::GetBuilder consumers to nsXULElement instead. r=peterv 2017-02-02 10:32:57 -05:00
nsBox.cpp Bug 1365982 - Attach frame properties to each frame instead of looking them up in a hashtable on the prescontext. r=mats 2017-05-27 12:36:00 +01:00
nsBox.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsBoxFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsBoxFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsBoxLayout.cpp
nsBoxLayout.h
nsBoxLayoutState.cpp Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel 2017-06-13 11:00:10 -04:00
nsBoxLayoutState.h Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel 2017-06-13 11:00:10 -04:00
nsButtonBoxFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsButtonBoxFrame.h Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsDeckFrame.cpp Bug 1369488 - Force update popups anchored to hidden deck box, r=tnikkel@gmail.com 2017-06-13 10:03:27 +02:00
nsDeckFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsDocElementBoxFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsGroupBoxFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsIBoxObject.idl
nsIBrowserBoxObject.idl
nsIContainerBoxObject.idl
nsIListBoxObject.idl
nsIMenuBoxObject.idl
nsIRootBox.h
nsIScrollBoxObject.idl
nsIScrollbarMediator.h
nsISliderListener.idl
nsImageBoxFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsImageBoxFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsLeafBoxFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsLeafBoxFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsListBoxBodyFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsListBoxBodyFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsListBoxLayout.cpp
nsListBoxLayout.h Bug 1360867 - Make a few classes final to possibly devirtualize some calls. r=dholbert 2017-05-02 03:50:16 +02:00
nsListItemFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsListItemFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsMenuBarFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsMenuBarFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsMenuBarListener.cpp Bug 1351217: Add missing includes to fix latent unified bustage in layout/xul. r=mats 2017-03-28 00:46:22 -07:00
nsMenuBarListener.h Bug 1284825 part.3 nsMenuBarListener should clear its accesskey state when its top level window is deactivated rather than it receives a blur event r=enndeakin+6102 2016-12-26 16:22:13 +09:00
nsMenuFrame.cpp Bug 1365982 - Attach frame properties to each frame instead of looking them up in a hashtable on the prescontext. r=mats 2017-05-27 12:36:00 +01:00
nsMenuFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsMenuParent.h
nsMenuPopupFrame.cpp Bug 1368094 - Correct panel sliding on window resize r=bytesized 2017-06-09 10:49:53 -07:00
nsMenuPopupFrame.h Bug 1368094 - Correct panel sliding on window resize r=bytesized 2017-06-09 10:49:53 -07:00
nsPIBoxObject.h
nsPIListBoxObject.h Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky 2017-01-05 15:31:56 +08:00
nsPopupSetFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsPopupSetFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsProgressMeterFrame.cpp Bug 1340771 part 2 - Introduce a WeakFrame class for heap allocated weak frame pointers, stored in a hashtable for fast lookup. r=tn 2017-03-01 18:03:14 +01:00
nsProgressMeterFrame.h Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsRepeatService.cpp Bug 1348738 - (Part 4) Add a nsIDocument arg to nsRepeatService::Start to get the event target from it. r=dholbert 2017-03-29 16:40:05 +08:00
nsRepeatService.h Bug 1348738 - (Part 4) Add a nsIDocument arg to nsRepeatService::Start to get the event target from it. r=dholbert 2017-03-29 16:40:05 +08:00
nsResizerFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsResizerFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsRootBoxFrame.cpp Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsScrollBoxFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsScrollbarButtonFrame.cpp Bug 1340771 part 1 - Rename nsWeakFrame to AutoWeakFrame (automated change). r=tn 2017-03-01 18:03:14 +01:00
nsScrollbarButtonFrame.h Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsScrollbarFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsScrollbarFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsSliderFrame.cpp Bug 1365761 - Do not dispatch mouse-move events targeted as a slider frame to web content. r=smaug 2017-06-05 15:05:47 -04:00
nsSliderFrame.h Bug 1365761 - Do not dispatch mouse-move events targeted as a slider frame to web content. r=smaug 2017-06-05 15:05:47 -04:00
nsSplitterFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsSplitterFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsSprocketLayout.cpp Bug 1372386 - Remove trailing whitespace r=dholbert 2017-06-13 10:53:02 +02:00
nsSprocketLayout.h
nsStackFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsStackFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsStackLayout.cpp Bug 1364115 - Allow -moz-stack-sizing to work in a single direction only. r=dbaron,manishearth 2017-05-15 12:33:46 +01:00
nsStackLayout.h
nsTextBoxFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsTextBoxFrame.h Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame 2017-05-26 12:11:11 +02:00
nsTitleBarFrame.cpp Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsTitleBarFrame.h Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame 2017-05-26 12:11:11 +02:00
nsXULLabelFrame.cpp Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
nsXULLabelFrame.h Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame 2017-05-26 12:11:11 +02:00
nsXULPopupManager.cpp Bug 1358758 - Use CSSIntRect for nsIFrame::GetScreenRect. r=kats 2017-04-25 07:33:13 +09:00
nsXULPopupManager.h Bug 1342874 - (Part 5) DocGroup labeling for timer callbacks in nsXULPopupManager. r=dholbert 2017-03-20 15:53:59 +08:00
nsXULTooltipListener.cpp Bug 1342874 - (Part 6) DocGroup labeling for timer callbacks in nsXULTooltipListener. r=dholbert 2017-03-20 15:59:02 +08:00
nsXULTooltipListener.h