Mats Palmgren
d94d666670
Bug 863935. r=roc
2013-06-10 18:31:59 +00:00
Robert O'Callahan
0cd25518d1
Bug 872254. Clear line/row cursors when overflow areas of lines or table rows change. r=bz
...
--HG--
extra : rebase_source : 81c1c4269e22ffad98433669ef152002b9d63533
2013-05-30 16:44:37 +12:00
L. David Baron
1f1e3bad30
Bug 871338: Handle NS_BLOCK_LOOK_FOR_DIRTY_FRAMES lazy marking in GetMinWidth and GetPrefWidth in addition to Reflow. r=bzbarsky
2013-05-13 15:37:00 -07:00
L. David Baron
9f8e9f40d7
Fix warnings-as-errors bustage from changeset 09552b219c3a (Bug 828312 patch 3).
2013-05-10 18:04:55 -07:00
L. David Baron
3f8575e3eb
Bug 828312 patch 3: Wait to mark lines dirty until we're in reflow, to avoid O(N^2) behavior as a result of looking for lines. r=bzbarsky
...
The assertion count reduction from 12 to 8 in
layout/generic/crashtests/798020-1.html is the removal of the 4
###!!! ASSERTION: math on NS_UNCONSTRAINEDSIZE: 'NS_UNCONSTRAINEDSIZE != aState.mReflowState.mComputedBorderPadding.left && NS_UNCONSTRAINEDSIZE != aState.mReflowState.ComputedWidth()'
in nsBlockFrame::PrepareResizeReflow by avoiding calling
nsBlockFrame::PrepareResizeReflow.
2013-05-10 17:35:08 -07:00
L. David Baron
baf2225550
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
Daniel Holbert
448db15f5b
Bug 870555 part 1: Add curly braces around early-return in nsBlockFrame::GetSkipSides, for clarity. r=mats
2013-05-09 20:10:47 -07:00
Daniel Holbert
be6e1d5836
Bug 855841: Remove unused constants NS_STYLE_CLEAR_BLOCK, NS_STYLE_CLEAR_COLUMN, NS_STYLE_CLEAR_PAGE. r=mats r=fantasai
2013-05-02 16:01:11 -07:00
Mats Palmgren
796a090f34
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
Daniel Holbert
1ed5b0bc3f
Bug 865477: Use Maybe<> instead of nsAutoPtr<> for lazily-constructed nsHTMLReflowState in nsBlockFrame::Reflow(). r=bz
2013-04-25 09:03:28 -07:00
Chris Lord
d70ef10427
Bug 856932 - Fix fixed margins on position:fixed hierarchies. r=roc
...
Make sure that fixed margins aren't applied to auto-positioned frames, unless
their containing block is the primary frame of the body element.
2013-04-15 09:31:45 +01:00
Scott Johnson
800a1db98f
Bug 600100, Part 2: Force a vertical resize even if our available height hasn't changed in anonymous blocks of a column set so we don't crash. [r=mats]
2013-04-08 13:38:33 -05:00
Robert O'Callahan
62aa179c29
Bug 841192. Part 13: Rename nsFrame::ApplyOverflowClipping to ShouldApplyOverflowClipping. r=mattwoodrow
...
We rename nsFrame::ApplyOverflowClipping to nsFrame::ShouldApplyOverflowClipping
to reflect the fact that it doesn't cause any clipping.
--HG--
extra : rebase_source : d3bd1ef902276526b37b27c510a8d3a9db6416dc
2013-03-07 00:08:16 +13:00
Mats Palmgren
a9123c3d10
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
0a84b8dbff
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
00ceb5a595
Bug 851847 - Optimize nsBlockFrame::StealFrame when removing a normal flow child. r=bzbarsky
2013-03-23 21:49:45 +01:00
Mats Palmgren
a98c0cde58
Backout rev 85397e0a6dba - wrong patch. r=me
2013-03-23 21:45:53 +01:00
Mats Palmgren
56ef5c292e
Bug 851847 - Optimize nsBlockFrame::StealFrame when removing a normal flow child. r=bzbarsky
2013-03-23 21:10:34 +01:00
Mats Palmgren
10dc9659ed
Bug 851849 - Make nsBlockFrame::AddFrames() return void since it can't fail, and non-virtual since it's not meant to be overridden. Add a post-condition that the given
...
aFrameList is empty. r=bzbarsky
2013-03-23 21:10:34 +01:00
Mats Palmgren
0e54488c73
Bug 851848 - Remove the OOM check for allocating the BulletFrame now that PresArena allocations are infallible. r=bzbarsky
2013-03-23 21:10:34 +01:00
Mats Palmgren
134413ceb0
Bug 851848 - Remove OOM checks for the result of NewLineBox now that PresArena allocations are infallible. r=bzbarsky
2013-03-23 21:10:33 +01:00
Boris Zbarsky
ca163976eb
Bug 852501 part 4. Make CreateContinuingFrame infallible. r=dholbert
2013-03-19 21:47:49 -04:00
Boris Zbarsky
f1589419f5
Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert
2013-03-19 21:47:48 -04:00
Scott Johnson
dd2a4b5ec2
Bug 600100, Part 1: Return a status of NS_FRAME_NOT_COMPLETE during reflow of nsBlockFrame if we have a next continuation with pushed floats to prevent crashing in columns. [r=dbaron]
2013-03-19 09:05:05 -05:00
Scott Johnson
ed9f2147f2
Backed out changeset 3b18c328b316 (bug 600100) to fix commit message DONTBUILD.
2013-03-19 09:43:27 -05:00
Scott Johnson
17da576025
Bug 600100, Part 1: Return a status of NS_FRAME_NOT_COMPLETE during reflow of nsBlockFrame if we have a next continuation with pushed floats to prevent crashing in columns.
2013-03-19 09:05:05 -05:00
Mats Palmgren
30b8a9aadc
Bug 847208 - Reuse RemoveFloat() in a couple of places that did manual removal of a float child frame. r=dbaron
2013-03-15 23:32:35 +01:00
Mats Palmgren
9590785240
Bug 847208 - Make RemoveFloat() check the PushedFloatsList too. r=dbaron
2013-03-15 23:32:35 +01:00
Ed Morley
d9733f76a8
Backed out changeset 82bfa9035c6a (bug 847208)
2013-03-14 15:18:37 +00:00
Ed Morley
3e60173ed5
Backed out changeset 253df4cdfdb9 (bug 847208)
2013-03-14 15:18:33 +00:00
Mats Palmgren
6597974e6c
Bug 847208 - Reuse RemoveFloat() in a couple of places that did manual removal of a float child frame. r=dbaron
2013-03-14 14:39:26 +01:00
Mats Palmgren
ef5ba27916
Bug 847208 - Make RemoveFloat() check the PushedFloatsList too. r=dbaron
2013-03-14 14:39:26 +01:00
Trevor Saunders
c8fcbf60b7
bug 846487 - remove remaining usage of some nsIDOMFooElement r=Ms2Ger
2013-02-14 10:33:16 -05:00
Mats Palmgren
4e28c8eeeb
Bug 847130 - Do DestroyOverflowLines() if the last line was removed instead of always RemoveOverflowLines() and SetOverflowLines() when there's lines remaining. r=dbaron
2013-03-04 00:46:56 +01:00
Mats Palmgren
c6a0684622
Bug 843332 - Pass 'false' to ReparentFloats since we only added one frame ('true' only works because the added frame never has any siblings in this case). r=bzbarsky
2013-02-28 00:05:46 +01:00
Mats Palmgren
37e20d7206
Bug 843332 - Don't pass the nsBlockReflowState to PullFrameFrom that doesn't use it. Add some assertions. r=bzbarsky
2013-02-28 00:05:46 +01:00
Mats Palmgren
cb5078d057
Bug 843332 - Make PullFrame drain the overflow list before calling PullFrameFrom that can then be simplified to only deal with mList/mFrames (should be minor perf win too). r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
de5dfbb673
Bug 840818 - Simplify PullFrameFrom when the last frame was removed from an overflow list (avoiding an assertion). r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
07afc8c345
Bug 838688 - Optimize CollectFloats by doing an early return if this block doesn't have any floats. r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
4463b09f8a
Bug 838688 - Make ReparentFloats/CollectFloats not require a priori knowledge of which child list a float is expected to be on. r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
f74a272a93
Bug 838671 - Make nsBlockFrame::RemoveFloat O(1) and make it just do the frame removal bit and let DoRemoveOutOfFlowFrame do the Destroy part (with the intent of making RemoveFloat reusable for other code). r=bzbarsky
2013-02-28 00:05:45 +01:00
Mats Palmgren
c3df5e54c1
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
L. David Baron
b95410686a
Bug 839809: Make counter-increments and list counting that would go past our internal (int32_t) limit keep the counter at its current value rather than wrapping. r=dholbert
...
Per CSS WG resolution regarding counter-styles-3, afternoon of 2013-02-05:
http://krijnhoetmer.nl/irc-logs/css/20130205#l-1590
http://lists.w3.org/Archives/Public/www-style/2013Feb/0392.html
2013-02-22 10:13:37 -08:00
L. David Baron
88352988db
Backout changeset b968708558b9 (bug 839809) for reftest failures.
2013-02-21 19:25:54 -08:00
L. David Baron
c50a9d6ae8
Bug 839809: Make counter-increments and list counting that would go past our internal (int32_t) limit keep the counter at its current value rather than wrapping. r=dholbert
...
Per CSS WG resolution regarding counter-styles-3, afternoon of 2013-02-05:
http://krijnhoetmer.nl/irc-logs/css/20130205#l-1590
http://lists.w3.org/Archives/Public/www-style/2013Feb/0392.html
Note that this patch depends on signed integer overflow behavior in C++,
which I believe is portable despite being unspecified.
2013-02-21 18:10:59 -08:00
Mats Palmgren
17d5ff653f
Bug 822910. r=roc
2013-02-19 02:44:14 +01:00
L. David Baron
822b2ca3bc
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
d9665619b9
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
59dfd955a1
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
63fdfec174
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