Commit Graph

212 Commits

Author SHA1 Message Date
Jonathan Kew
d65fad3678 bug 735577 - followup 1 (v2) - allow reflow-state to be passed to the reflow-metrics constructor to get the writing mode. r=roc 2013-12-31 13:50:31 +00:00
Arnaud Sourioux
d4e37270b8 Bug 919806: Get rid of NS_IMETHOD in nsIFrame.h and its implementations r=dholbert 2014-02-17 23:47:48 -08:00
Daniel Holbert
fde5f3fb06 Bug 967287 part 2: Adjust indentation after removal of nsPresContext* args. r=mats 2014-02-06 14:07:48 -08:00
Daniel Holbert
e9a642b785 Bug 967287 part 1: Remove unnecessary nsPresContext* argument from functions defined in nsContainerFrame.h. r=mats 2014-02-06 14:07:47 -08:00
Timothy Nikkel
c323a2dea7 Bug 962443. Make layout frame tree dumping code work better for Fennec and b2g. r=mats 2014-01-26 16:07:02 -06:00
Peiyong Lin
e0dbe148bc Bug 959874 - Reorder two parameters in nsContainerFrame::FinishReflowChild(), for consistency with nsContainerFrame::ReflowChild(). r=dholbert 2014-01-16 17:34:44 -08:00
Mats Palmgren
1a854bc937 Bug 956447 - Make it possible to get frame dumps in non-DEBUG builds. r=roc 2014-01-05 23:31:14 +00:00
Jonathan Kew
5b57b958d7 backout changeset 8b6f20bda157 (bug 735577 followup 1) for build failure 2013-12-29 22:48:13 +00:00
Jonathan Kew
f4958b2b4b bug 735577 - followup 1 - allow reflow-state to be passed to the reflow-metrics constructor to get the writing mode. r=roc 2013-12-29 22:04:02 +00:00
Jonathan Kew
1598f60cbd bug 735577 - pt 4.1 - use accessor functions for some physical-coordinate fields in nsHTMLReflowMetrics, in preparation for logicalization. r=smontagu 2013-12-27 17:59:52 +00:00
Jonathan Kew
58325cd45d bug 735577 - pt 3.2 - update the rest of layout code to use the new accessors on nsHTMLReflowState. r=smontagu 2013-12-27 17:59:21 +00:00
Neil Deakin
81fb2193ab Bug 545156, Expose nsPoupSetFrame's ::popupList, r=mats 2013-11-04 11:22:20 -05:00
Daniel Holbert
c28d8443d8 Bug 919865: Replace #ifdef DEBUG with DebugOnly<> in a few spots in layout/generic. r=mats 2013-10-01 22:02:23 -07:00
Ehsan Akhgari
27c999b3b4 Bug 921753 - Part 1: Avoid #including nsStyleStructInlines.h in nsIFrame.h; r=roc
This patch reduces the number of files that transitively #include
gfx/2d.h from 1782 to 1582.
2013-10-01 17:00:38 -04:00
Ehsan Akhgari
f56168072d Bug 907883 - Minimize #includes in layout/generic; r=roc
--HG--
extra : rebase_source : 5e87b764a12b05aff477c71547e2131be67ca93b
2013-08-22 14:32:52 -04:00
Ms2ger
772a9d87b7 Bug 901269 - Part b: Stop including nsContentUtils.h in Element.h; r=jlebar 2013-08-14 08:55:46 +02:00
Timothy Nikkel
d173081945 Bug 899745. Remove top most z-index tracking from views because it is unused. r=mats 2013-07-30 16:10:28 -05:00
Mats Palmgren
30feba8b8d Bug 863935. r=roc 2013-06-10 18:31:59 +00:00
Timothy Nikkel
6df2d49365 Bug 865702. Don't move the frame in FinishReflowChild if we were told not to. r=roc 2013-05-23 00:37:05 -05:00
L. David Baron
b55a1a7ac7 Bug 828312 patch 2: Make list renumbering code set NS_FRAME_HAS_DIRTY_CHILDREN correctly on intermediate blocks and inlines, and NS_FRAME_IS_DIRTY correctly on the bullets. r=bzbarsky
The change to mark NS_FRAME_IS_DIRTY on the bullets fixes a failure in
layout/reftests/bugs/418574-1.html exposed by patch 3.
2013-05-10 17:35:08 -07:00
Mats Palmgren
cd2a9144a4 Bug 866785 - Move repeated nsIFrame::List implementations code to a new method, ListGeneric, for re-use. Cleanup and improve the code a bit. r=roc
Specifically:
* move all the frame dump methods to nsIFrame. Especially nsFrame::ListTag
  was annoying, often requiring a cast to nsFrame*.
* print common values in the same order for all types of frames
* print fluid continuations as "next-in-flow=%p" and non-fluid as
  "next-continuation=%p" (as before)
* print the style-context more compactly, e.g.
  "[sc=0x7faa6b60e0a0] pst=:first-line" becomes
  "[sc=0x7faa6b60e0a0:first-line]"
* suppress printing visual/scroll-overflow rects when they are identical
  to mRect and do the same for nsLineBox::List where it was especially
  hard to see which lines actually had real overflow
* fix a bug that printed the child list name at the far right when the
  principal list was empty (making it hard to see)
* print the address of child lists (other than the principal list) to
  help debug frame list property bugs
* s/NS_IMETHODIMP/void/
2013-04-30 20:38:52 +02:00
Mats Palmgren
7fa166a5f5 Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky
"new nsFrameList()" becomes "new (shell) nsFrameList()".
"delete list" becomes "if (list) list->Delete(shell)" - note also that
an additional assertion was added that list is empty when deleted.

"nsAutoPtr<nsFrameList> list(StealSomeFrames())" becomes
"AutoFrameListPtr list(aPresContext, StealSomeFrames())"
2013-04-01 17:26:02 +02:00
Mats Palmgren
46cbb9a249 Bug 729519 - Make frames destroy all child frames and remove their nsFrameList properties when destroyed. r=bzbarsky
Specifically, this wasn't done for the OutsideBullet list which was
destroyed by the property destructor, potentially after the entire
frame tree was gone.  Now we'll assert that the property destructor
isn't called.

Use SafelyDestroyFrameListProp when destroying PushedFloat and
OverflowOutOfFlows frame lists since it's more robust.

Destroy [Excess]OverflowContainers frame lists if they exist, regardless
of the IsFrameOfType(nsIFrame::eCanContainOverflowContainers) bit
(since the oveflow continuation tracker doesn't check that before
creating these lists -- this was the source of crash bugs before
that bit was added to ColumnSetFrame).

Assert in SetPropTableFrames that the property doesn't exist, because
if it does the property destructor will run, which isn't supported.
2013-04-01 17:26:02 +02:00
Mats Palmgren
e1ff6321d4 Bug 729519 - Simplify DestroyOverflowList() by requiring that the list is empty. r=bzbarsky 2013-04-01 17:26:02 +02:00
Mats Palmgren
7bc994da9a Bug 729519 - Use SafelyDestroyFrameListProp also for the OverflowList. r=bzbarsky 2013-04-01 17:26:02 +02:00
Mats Palmgren
7c1f233659 Bug 850931. r=roc 2013-03-25 21:27:05 +01:00
Mats Palmgren
1d4d144485 Bug 852670 - Make nsContainerFrame::SetPropTableFrames return void since it's infallible. r=bzbarsky 2013-03-23 21:10:33 +01:00
Boris Zbarsky
f75d10efbe Bug 852501 part 4. Make CreateContinuingFrame infallible. r=dholbert 2013-03-19 21:47:49 -04:00
Boris Zbarsky
462f47d89e Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
Boris Zbarsky
578a1155d6 Bug 852428 part 1. Make CreateViewForFrame infallible. r=dholbert 2013-03-19 21:47:47 -04:00
Mats Palmgren
22029095e2 Bug 849603 - Make sure we use StartRemoveFrame for the first (existing) list to remove from. r=bzbarsky 2013-03-15 23:32:35 +01:00
Mats Palmgren
3f30ff30cc Bug 847209 - Don't assert if the frame is in the kOverflowList child list. r=bzbarsky 2013-03-15 23:32:35 +01:00
Scott Johnson
64c588e2f9 Bug 762902: Add a new ReflowChild flag within nsContainerState to disable deletion of next-in-flow children to prevent crash. [r=mats] 2013-03-15 13:36:30 -05:00
Mats Palmgren
187a328f90 Bug 838642 - Remove nsContainerFrame::RemovePropTableFrame which is now unused. r=bzbarsky 2013-02-28 00:05:45 +01:00
Mats Palmgren
54ae45a9ab Bug 838642 - Introduce nsFrameList::StartRemoveFrame/ContinueRemoveFrame that can be used in concert to remove a frame in O(1) time from a set of frame lists when its exact frame list is unknown. Use them to make nsContainerFrame::StealFrame O(1). r=bzbarsky 2013-02-28 00:05:44 +01:00
Daniel Holbert
da540baf05 Bug 842080: Remove an unnecessary nsReflowStatus initialization, and add comments to clarify assumptions about ReflowAbsoluteFrames' reflow status arg. r=mats 2013-02-23 16:06:55 -08:00
L. David Baron
5ef4421fa5 Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
Robert O'Callahan
013943dc4f Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : de498510bf8d85d9b0b2fab0137ef3be01c9adfa
2013-02-15 00:12:27 +13:00
Robert O'Callahan
a2485753ff Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : 50a3d6809ef76a25a3d02d91f2873d9ba11fdc56
2013-02-15 00:08:08 +13:00
L. David Baron
b387f0fbea Bug 841789, patch 1: Rename nsIFrame::GetStyleContext() to nsIFrame::StyleContext() since it can never return null. r=dholbert
This makes it conform to our convention that getters returning pointers
that can never be null do not begin with "Get".
2013-02-15 21:38:33 -08:00
Mats Palmgren
2545d30642 Bug 606642 - Do not remove the [Excess]OverflowContainers properties before destroying its frames. Carefully check after destroying each frame that the property is still alive. r=roc 2013-02-11 03:28:50 +01:00
Mats Palmgren
fa01f18ceb Bug 812893 - When inserting a frame into the [Excess]OverflowContinuations list, also move its continuations there if they are in the same parent. r=roc 2013-01-25 00:12:48 +01:00
Mats Palmgren
d5826be6d7 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Robert O'Callahan
a9f8b202ea Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : d00947c925b17f860fcdc0e12b1ec3cc31b7c630
2013-01-05 16:12:24 +13:00
Phil Ringnalda
9297efcdad Back out 5e76dfb1d426 (bug 826635) and 0df74b1a4543:20df426b6111 (bug 826632) for bustage
CLOSED TREE
2013-01-04 21:30:14 -08:00
Robert O'Callahan
9abe8bbe09 Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel
--HG--
rename : view/public/nsIViewManager.h => view/public/nsViewManager.h
extra : rebase_source : 85587555e1f202809cd39fe899570644e6ca4eb3
2013-01-05 16:12:24 +13:00
Robert O'Callahan
106f5d95d1 Bug 825866. Part 8: Mass-rename of nsIView to nsView. r=tnikkel
This was autogenerated by basically replacing all occurrences of the word "nsIView" with nsView.

--HG--
rename : view/public/nsIView.h => view/public/nsView.h
2013-01-04 02:23:11 +13:00
Trevor Saunders
55821aa041 bug 781409 - remove nsITableLayout r=roc,davidb 2012-08-08 09:05:17 -04:00
Ehsan Akhgari
27d839024f Bug 810355 - Convert nsDidReflowStatus into an enum class; r=dholbert 2012-11-13 22:47:33 -08:00
Mats Palmgren
01cc61dab4 Bug 806056 - Make nsContainerFrame destroy abs/fixed pos. child frames unless a derived class already did so. Assert that there are no abs/fixed pos. child frames in nsFrame::DestroyFrom(). r=roc 2012-11-02 01:52:59 +01:00