gecko-dev/layout/xul
Robert O'Callahan 2730385743 Bug 1048752. Part 27: Remove obsolete caret state logic and just SchedulePaint as needed. r=tn
This is the core of the whole patch set.

Now GetPaintGeometry/PaintCaret figure out on their own almost all the state
they need every time we paint. So when caret flags change, all we need
to do is SchedulePaint. We don't need to fiddle with mDrawn and most of the
logic in DrawCaret is obsolete. (In fact, it was duplicated by GetGeometry
and friends, and we're removing that duplication.) EraseCaret, CheckCaretState
and UpdateCaretPosition are also obsolete.

We need to have GetPaintGeometry/PaintCaret choose the correct content node
and offset, either getting them from the Selection or using specific data set by
DrawAtPosition. This logic, plus a bit of other code shared between them, is
put into the helper GetFrameAndOffset.

--HG--
extra : rebase_source : e777605dd2507ae043e9f82d0a30e23aa06e0c12
2014-08-06 17:19:29 +12:00
..
crashtests
grid Bug 1049075: Remove unnecessary "virtual" keyword from ~nsGridCell (which nothing derives from & inherits from nothing). r=tn 2014-08-08 15:22:26 -07:00
reftest Bug 1000722 - Rollback close reftest in bug 981477. r=ahal 2014-06-24 10:20:00 -04:00
test Backed out changeset 64586374a208 on a CLOSED TREE 2014-07-22 18:29:57 -07:00
tree Bug 1048752. Part 16: Move nsFrameSelection::HINT to CaretAssociationHint.h. r=tn 2014-08-06 17:19:27 +12:00
moz.build Bug 1043820 - Remove PARALLEL_DIRS. r=gps 2014-07-29 08:57:59 +09:00
nsBox.cpp Bug 1030843 - Fix crash in nsNativeThemeCocoa::GetMinimumWidgetSize. r=roc 2014-06-27 10:19:00 +01:00
nsBox.h Bug 1015664. Part 1: Remove NS_HIDDEN_() usage. r=bsmedberg 2014-06-03 00:08:21 +12:00
nsBoxFrame.cpp bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
nsBoxFrame.h bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
nsBoxLayout.cpp Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
nsBoxLayout.h bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
nsBoxLayoutState.cpp
nsBoxLayoutState.h Bug 1026535 - Fix mismatched class/struct tags. r=ehsan 2014-06-18 17:57:51 -07:00
nsBoxObject.cpp Bug 1050009 - Initialize pldhash tables with a length, not a capacity. r=roc. 2014-08-06 06:31:21 -07:00
nsBoxObject.h Bug 1028588 - Fix dangerous public destructors in layout/ - r=dbaron 2014-06-23 18:40:01 -04:00
nsButtonBoxFrame.cpp Bug 989212 Rename nsEventStates to mozilla::EventStates r=smaug 2014-04-03 13:18:36 +09:00
nsButtonBoxFrame.h Bug 919806 followup: Reindent method declarations affected by NS_IMETHOD-removal. (whitespace-only; no review) DONTBUILD 2014-02-18 00:36:33 -08:00
nsContainerBoxObject.cpp Bug 1035394 - Fix dangerous public destructors in layout - r=dbaron 2014-07-08 17:23:18 -04:00
nsDeckFrame.cpp Bug 1009628 - Part 2: Asynchronous tab switching for tabbrowser that waits on MozAfterRemotePaint to fire from a remote browser. r=dao, Enn. 2014-08-02 08:22:06 -04:00
nsDeckFrame.h Bug 1009628 - Part 2: Asynchronous tab switching for tabbrowser that waits on MozAfterRemotePaint to fire from a remote browser. r=dao, Enn. 2014-08-02 08:22:06 -04:00
nsDocElementBoxFrame.cpp bug 1016545 - Provide an iterator that iterates over all children of an element r=bz 2014-07-16 14:41:57 -04:00
nsGroupBoxFrame.cpp Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
nsIBoxObject.idl
nsIBrowserBoxObject.idl
nsIContainerBoxObject.idl
nsIEditorBoxObject.idl
nsIIFrameBoxObject.idl
nsIListBoxObject.idl
nsImageBoxFrame.cpp Bug 1048752. Part 16: Move nsFrameSelection::HINT to CaretAssociationHint.h. r=tn 2014-08-06 17:19:27 +12:00
nsImageBoxFrame.h bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
nsIMenuBoxObject.idl
nsIPopupBoxObject.idl
nsIRootBox.h
nsIScrollbarMediator.h
nsIScrollBoxObject.idl
nsISliderListener.idl
nsLeafBoxFrame.cpp bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
nsLeafBoxFrame.h bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
nsListBoxBodyFrame.cpp bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
nsListBoxBodyFrame.h bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
nsListBoxLayout.cpp bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
nsListBoxLayout.h
nsListBoxObject.cpp Bug 1035394 - Fix dangerous public destructors in layout - r=dbaron 2014-07-08 17:23:18 -04:00
nsListItemFrame.cpp Bug 1048752. Part 16: Move nsFrameSelection::HINT to CaretAssociationHint.h. r=tn 2014-08-06 17:19:27 +12:00
nsListItemFrame.h
nsMenuBarFrame.cpp Bug 1049997 - Separate statements declaring multiple pointers into separate statements. r=froydnj 2014-08-08 07:04:45 -07:00
nsMenuBarFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsMenuBarListener.cpp Bug 1009388 part.4 nsMenuFrame should use WidgetEvent::AccelModifier() for consistency with other modules r=smaug+enndeakin 2014-05-22 13:06:06 +09:00
nsMenuBarListener.h Bug 1028588 - Fix dangerous public destructors in layout/ - r=dbaron 2014-06-23 18:40:01 -04:00
nsMenuBoxObject.cpp Bug 1035394 - Fix dangerous public destructors in layout - r=dbaron 2014-07-08 17:23:18 -04:00
nsMenuFrame.cpp Bug 1015781 - part 1+2, Make the SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame methods return void (scripted change). Remove code handling the return values. r=roc 2014-05-28 19:36:58 +00:00
nsMenuFrame.h Bug 1028588 - Fix dangerous public destructors in layout/ - r=dbaron 2014-06-23 18:40:01 -04:00
nsMenuParent.h
nsMenuPopupFrame.cpp Bug 1026310, set the open state only once the opening transition is finished, rename the internal popup states to be clearer, fix UITour.jsm to check the showing state, r=MattN,neil 2014-07-14 13:39:04 -04:00
nsMenuPopupFrame.h Bug 1026310, set the open state only once the opening transition is finished, rename the internal popup states to be clearer, fix UITour.jsm to check the showing state, r=MattN,neil 2014-07-14 13:39:04 -04:00
nsPIBoxObject.h
nsPIListBoxObject.h
nsPopupBoxObject.cpp Bug 1026310, set the open state only once the opening transition is finished, rename the internal popup states to be clearer, fix UITour.jsm to check the showing state, r=MattN,neil 2014-07-14 13:39:04 -04:00
nsPopupSetFrame.cpp Bug 1015781 - part 1+2, Make the SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame methods return void (scripted change). Remove code handling the return values. r=roc 2014-05-28 19:36:58 +00:00
nsPopupSetFrame.h Bug 1015781 - part 3, Fix whitespace and comments, and move some SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame methods so that they are together in the file. r=roc 2014-05-28 19:36:58 +00:00
nsProgressMeterFrame.cpp Bug 458300 - Rename nsINameSpaceManager.h to nsNameSpaceManager.h. r=jst r=hsivonen 2014-02-27 20:04:46 -03:00
nsProgressMeterFrame.h Bug 919806 followup: Reindent method declarations affected by NS_IMETHOD-removal. (whitespace-only; no review) DONTBUILD 2014-02-18 00:36:33 -08:00
nsRepeatService.cpp Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
nsRepeatService.h Bug 1028588 - Fix dangerous public destructors in layout/ - r=dbaron 2014-06-23 18:40:01 -04:00
nsResizerFrame.cpp Bug 1046101 part.18 Rename NS_TOUCH_EVENT to eTouchEventClass r=smaug 2014-08-04 14:28:53 +09:00
nsResizerFrame.h Bug 919806 followup: Reindent method declarations affected by NS_IMETHOD-removal. (whitespace-only; no review) DONTBUILD 2014-02-18 00:36:33 -08:00
nsRootBoxFrame.cpp Bug 1015781 - part 3, Fix whitespace and comments, and move some SetInitialChildList/AppendFrames/InsertFrames/RemoveFrame methods so that they are together in the file. r=roc 2014-05-28 19:36:58 +00:00
nsScrollbarButtonFrame.cpp Bug 458300 - Rename nsINameSpaceManager.h to nsNameSpaceManager.h. r=jst r=hsivonen 2014-02-27 20:04:46 -03:00
nsScrollbarButtonFrame.h Bug 919806 followup: Reindent method declarations affected by NS_IMETHOD-removal. (whitespace-only; no review) DONTBUILD 2014-02-18 00:36:33 -08:00
nsScrollbarFrame.cpp Bug 1030843 - Fix crash in nsNativeThemeCocoa::GetMinimumWidgetSize. r=roc 2014-06-27 10:19:00 +01:00
nsScrollbarFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsScrollBoxFrame.cpp Bug 974687 - Part 1: Add about 300 MOZ_OVERRIDE in layout/. r=dholbert 2014-02-24 09:41:56 -05:00
nsScrollBoxObject.cpp Bug 1035394 - Fix dangerous public destructors in layout - r=dbaron 2014-07-08 17:23:18 -04:00
nsSliderFrame.cpp Bug 803633 - Add basic support for new scrollbar behavior in GTK+ [Part 3]. r=mstange 2014-08-13 06:02:00 -04:00
nsSliderFrame.h Bug 1048178 - Don't let scrollbar dragging get stuck when the user right-clicks at the wrong time. r=mstange 2014-08-04 12:00:00 +07:00
nsSplitterFrame.cpp Bug 1028588 - Fix dangerous public destructors in layout/ - r=dbaron 2014-06-23 18:40:01 -04:00
nsSplitterFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsSprocketLayout.cpp Bug 508665 - part 12, Move nsIFrame::GetChildBox/GetNextBox/GetParentBox to XUL where they came from. r=roc 2014-05-24 22:20:41 +00:00
nsSprocketLayout.h
nsStackFrame.cpp
nsStackFrame.h Bug 919806: Get rid of NS_IMETHOD in nsIFrame.h and its implementations r=dholbert 2014-02-17 23:47:48 -08:00
nsStackLayout.cpp Bug 508665 - part 12, Move nsIFrame::GetChildBox/GetNextBox/GetParentBox to XUL where they came from. r=roc 2014-05-24 22:20:41 +00:00
nsStackLayout.h
nsTextBoxFrame.cpp Bug 1047509 - Part 12: Remove nsCxPusher in nsTextBoxFrame::UpdateAccesskey. r=bholley 2014-08-07 19:46:36 +01:00
nsTextBoxFrame.h bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
nsTitleBarFrame.cpp Bug 992229, convert device to css pixels before setting menupopup position after move or resize, r=tn 2014-04-08 08:45:52 -04:00
nsTitleBarFrame.h Bug 919806 followup: Reindent method declarations affected by NS_IMETHOD-removal. (whitespace-only; no review) DONTBUILD 2014-02-18 00:36:33 -08:00
nsXULLabelFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsXULLabelFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsXULPopupManager.cpp Bug 1048752. Part 27: Remove obsolete caret state logic and just SchedulePaint as needed. r=tn 2014-08-06 17:19:29 +12:00
nsXULPopupManager.h Bug 508665 - part 3, Change GetContentInsertionFrame() to return a nsContainerFrame*, and return null for leaf frames. Deal with GetContentInsertionFrame() returning null in a couple of places. r=roc 2014-05-24 22:20:39 +00:00
nsXULTooltipListener.cpp Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
nsXULTooltipListener.h