Commit Graph

489 Commits

Author SHA1 Message Date
Mats Palmgren
2c9f93fc33 Back out bug 613659 for build failure on B2G Windows. 2014-04-17 15:09:18 +00:00
Mats Palmgren
5145708a93 Bug 613659 - Implement box-decoration-break layout for border/box-shadow and paddding/margin for inlines. r=cam 2014-04-17 12:11:07 +00:00
Neil Deakin
ea0e3c7ffa Bug 982734, make nsIWidget::GetWindowType and nsIWidget::GetZIndex return their values, remove some unused colour-related widget methods, r=tn 2014-03-19 12:48:08 -04:00
Tom Hindle
142520bca1 Bug 970363 - Make PeekOffset* methods return continue reason. r=roc 2014-03-13 08:14:37 -06:00
Jonathan Kew
3487faa35b 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
c55abda61c 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
e23dc237da Bug 967287 part 2: Adjust indentation after removal of nsPresContext* args. r=mats 2014-02-06 14:07:48 -08:00
Daniel Holbert
ab988302aa 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
6d096d724f 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
db78ce129a 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
a56486443d 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
cef04e128a backout changeset 8b6f20bda157 (bug 735577 followup 1) for build failure 2013-12-29 22:48:13 +00:00
Jonathan Kew
d44aaf1e5a 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
279981cdc3 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
4796e463bc 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
c1939ea6eb Bug 545156, Expose nsPoupSetFrame's ::popupList, r=mats 2013-11-04 11:22:20 -05:00
Daniel Holbert
c2cc2079db 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
7c63dd132d 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
06d49ffd4d Bug 907883 - Minimize #includes in layout/generic; r=roc 2013-08-22 14:32:52 -04:00
Ms2ger
37d68aa08d Bug 901269 - Part b: Stop including nsContentUtils.h in Element.h; r=jlebar 2013-08-14 08:55:46 +02:00
Timothy Nikkel
d2e581ae00 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
d23a6f68b8 Bug 863935. r=roc 2013-06-10 18:31:59 +00:00
Timothy Nikkel
94241fa2bd 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
950b14e6ab 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
377ee51cc1 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
868d2c33cd 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
0a2dd498d0 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
9b9ada1410 Bug 729519 - Simplify DestroyOverflowList() by requiring that the list is empty. r=bzbarsky 2013-04-01 17:26:02 +02:00
Mats Palmgren
21d0ce70e1 Bug 729519 - Use SafelyDestroyFrameListProp also for the OverflowList. r=bzbarsky 2013-04-01 17:26:02 +02:00
Mats Palmgren
085aaf8784 Bug 850931. r=roc 2013-03-25 21:27:05 +01:00
Mats Palmgren
ae9655d975 Bug 852670 - Make nsContainerFrame::SetPropTableFrames return void since it's infallible. r=bzbarsky 2013-03-23 21:10:33 +01:00
Boris Zbarsky
639eb6a8a4 Bug 852501 part 4. Make CreateContinuingFrame infallible. r=dholbert 2013-03-19 21:47:49 -04:00
Boris Zbarsky
c0d4537026 Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
Boris Zbarsky
227171bc03 Bug 852428 part 1. Make CreateViewForFrame infallible. r=dholbert 2013-03-19 21:47:47 -04:00
Mats Palmgren
ea89557afa 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
af082a12b1 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
57693da492 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
0dbc280f77 Bug 838642 - Remove nsContainerFrame::RemovePropTableFrame which is now unused. r=bzbarsky 2013-02-28 00:05:45 +01:00
Mats Palmgren
d4deaee2e3 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
f56d716810 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
ca6c366dc6 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
b18cd55753 Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow 2013-02-15 00:12:27 +13:00
Robert O'Callahan
3ac2cf9858 Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow 2013-02-15 00:08:08 +13:00
L. David Baron
3c5d51984d 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
32d78e3961 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
b38198a107 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
7532b4e736 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
67b24645e1 Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel 2013-01-05 16:12:24 +13:00
Phil Ringnalda
f40517090e 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
b20214218e Bug 826632. Part 1: Merge nsIViewManager into nsViewManager. r=tnikkel 2013-01-05 16:12:24 +13:00