Robert O'Callahan
5e8bcd0f82
Bug 735898. Part 3: In DisplayBorderBackgroundOutline, when we have created an nsDisplayBackground item and it's themed, don't bother checking to create an nsDisplayBorder item. r=mattwoodrow
...
It turns out that calling HasBorder() is especially expensive for themed frames since we call into the theme engine to compute the border, so avoiding it is a nice win.
2012-04-11 16:49:34 +12:00
Robert O'Callahan
7c34e38876
Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel
...
Previously we snapped the results of nsDisplayItem::GetBounds and
nsDisplayItem::GetOpaqueRegion internally. By tracking which display items were
inside transforms, we disabled snapping quite conservatively whenever an ancestor
had a transform, which is undesirable.
With this patch, we don't snap inside GetBounds or GetOpaqueRegion, but just return
a boolean flag indicating whether the item will draw with snapping or not. This flag
is conservative so that "true" means we will snap (if the graphics context has a transform
that allows snapping), but "false" means we might or might not snap (so it's always safe
to return false).
FrameLayerBuilder takes over responsibility for snapping item bounds. When it converts
display item bounds to layer pixel coordinates, it checks the snap flag returned from
the display item and checks whether the transform when we draw into the layer will be
a known scale (the ContainerParameters scale factors) plus integer translation. If both
are true, we snap the item bounds when converting to layer pixel coordinates. With
this approach, we can snap item bounds even when the items have ancestors with active
transforms.
2012-04-10 23:24:18 +12:00
Mats Palmgren
885fa92ef4
Bug 736915 - Print Selection prints a blank page when the selection is inside a table. r=bz
...
When rendering just the current Selection (Print - Selection) then don't create display items
for table-related frames unless the frame itself is part of the selection, and always ask
descendant frames to build display lists [in case they are selected].
2012-04-03 02:30:45 +02:00
Daniel Holbert
98b0d12882
Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron
2012-03-16 11:01:05 -07:00
Mats Palmgren
39a7d31397
Bug 728906 - Make nsIFrame::GetChildList return const nsFrameList&. r=bz
2012-03-08 02:57:37 +01:00
Nathan Froyd
68a79f10ae
Bug 731615 - Eliminate duplicate headers in layout. rs=smontagu
2012-02-29 10:57:47 -05:00
Matt Woodrow
bf3a5c2649
Bug 721082 - Constify nsIFrame::GetParentStyleContextFrame. r=roc
2012-02-15 22:28:21 +13:00
Aryeh Gregor
2c1f399923
Bug 722777 - Tables with 'transform' property set don't act as abs-pos/fixed-pos containers; r=roc
...
--HG--
rename : layout/reftests/transform/abspos-1a.html => layout/reftests/transform/abspos-1f.html
rename : layout/reftests/transform/abspos-1b.html => layout/reftests/transform/abspos-1g.html
2012-02-10 21:05:00 +00:00
L. David Baron
d4a1d88221
Set inflation container to null during parts of intrinsic sizing that should not have inflation applied. (Bug 706609, patch 4) r=roc
...
This is the first of two patches to honor inflation during intrinsic
width calculation (which we need to do to make some form controls
inflate correctly).
2012-01-24 17:21:29 -08:00
Mats Palmgren
356e8a3bcf
Bug 720142 - Avoid calling GetFirstInFlow() on the row group twice. r=bernd
2012-01-22 23:48:34 +01:00
Mats Palmgren
c4841a3e7f
Bug 720142 - Only calculate the border half we actally use. r=bernd
2012-01-22 23:48:34 +01:00
Mats Palmgren
86699a57d7
Bug 720142 - Use nsIntRect for table damage. r=bernd
2012-01-22 23:48:34 +01:00
Mats Palmgren
d33bf8f71c
Bug 524925 - Consolidate overflow clipping checks to nsFrame::ApplyOverflowClipping(); and fix some code style nits. part=5/6 r=roc
2012-01-18 21:04:51 +01:00
Benjamin Stover
dc9cd57308
Bug 524925 - Recompute overflow without reflowing for transforms. part=1/6 r=dbaron
...
Add an extra change hint, UpdateOverflow, that can be used to specify that
a frame's overflow areas may have changed and that they need to be recalculated.
When a transform on a frame changes, instead of marking it for reflow, set this
hint instead.
There is an added virtual function on nsIFrame, UpdateOverflow, which is called
recursively on a frame when the corresponding hint is set, to allow it to
update its overflow areas.
2011-06-15 14:03:49 -07:00
Mats Palmgren
265d407dc3
Bug 716408 - Fix nsTableFrame::DidSetStyleContext indentation. r=bernd
2012-01-17 00:38:10 +01:00
Mats Palmgren
36f25755f3
Bug 716408 - Assert that a prev-in-flow is null or of the same frame type. No need to null out mCellMap, the ctor does that and re-Init of frames isn't allowed. r=bernd
2012-01-17 00:38:10 +01:00
Mats Palmgren
e0c72018ca
Bug 716408 - No need to null-check for delete, no need to null out members in dtor. r=bernd
2012-01-17 00:38:10 +01:00
Mats Palmgren
ca86a34ea7
Bug 716408 - Initialize all bits of mBits to zero. r=bernd
2012-01-17 00:38:10 +01:00
Mats Palmgren
522639239d
Bug 716408 - Make nsTableFrame::GetTableFrame abort if the given frame isn't a table frame descendant, thus guaranteeing a non-null result. r=bernd
2012-01-17 00:38:10 +01:00
Mats Palmgren
86a6a650a2
Bug 716408 - Remove null-checks of GetFirstInFlow() result. r=bernd
2012-01-17 00:38:10 +01:00
Bernd
b031938d0e
bug 711864 - dEndY is already in the rowgroup r=mats
2012-01-09 07:37:16 +01:00
Mats Palmgren
78d0f2c7ca
Bug 515530 - Remove nsHTMLContainerFrame. r=roc
2011-12-27 21:18:48 +01:00
Nicholas Nethercote
24d2c81ee1
Bug 711908 - Fix a bunch of GCC warnings in layout. r=dbaron.
2011-12-19 19:46:39 -08:00
Mats Palmgren
498185f3f0
Bug 619273 - Move the selection state bit from frames to content nodes. r=smaug
2011-12-20 10:15:41 +01:00
Bernd
844db3e17f
bug 460637 - the group cellmaps need to set the damageArea relative to the entire table, patch by Mats Palmgren, Randell Jesup and Bernd, r=mats, bernd
2011-10-27 09:58:44 -04:00
Jonathan Watt
66f54fe5a4
Bug 695303 - Add a mozilla::clamped function to replace NS_CLAMP (so side affects of args are evaluated no more than once) and NS_MIN(max, NS_MAX(val, min)) (to make code clearer). r=bsmedberg.
2011-10-28 19:33:28 +01:00
Ehsan Akhgari
92064e6d3f
Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
...
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Matt Woodrow
ff55968c50
Bug 692968 - Make nsDisplayTableItem::GetBounds return the untransformed overflow area. r=tn
2011-10-13 14:01:27 +13:00
Ehsan Akhgari
4b84fe41d5
Bug 659828 - Part 1: Apply table margins to the outer table frame instead of the inner table frame (also fixes bug 87277); r=dbaron
...
Outer table frames act as CSS2.1 table wrapper boxes. We used to lay them out
without taking their margins into the account, which meant that their width was
always equal to the available width. This breaks horizontal positioning of
absolutely positioned kids of a table frame.
The main purpose of this patch is to apply the margins of tables to their outer
frame, instead of the inner frame. This means that the inner table frame will
always have a zero margin, which means that a lot of the stuff which used to
rely on the fact that table margins are applied to the inner frame need to
change.
In particular, in order to get the computed margins of a table, we used to query
the inner table frame, and this patch corrects that. Also, when shrink wrapping
tables, we used to not take the margins of the inner table frame into account,
which is fixed by this patch too. nsBlockReflowState::
ComputeReplacedBlockOffsetsForFloats also needed to be changed to read the
margin values from the outer frame too.
Also, as part of this patch, we start to respect the CSS2.1 margin model for
captions on all sides. This means that in particular, the top/bottom margins on
the top-outside and bottom-outside captions will not be collapsed with the
top/bottom margins of the table, and that the margins of the caption element
contribute to the width and height of the outer table frame. The
427129-table-caption reftest has been modified to match this new behavior.
Another side effect of this bug is fixing bug 87277, and the reftests for that
bug are marked as passing in this patch.
2011-05-31 19:02:56 -04:00
Ehsan Akhgari
2b29cd6201
Bug 10209 - Part 6: Implement the CSS "containing block" concept correctly as a binary relation, as opposed to a unary relation; r=bzbarsky
2011-05-12 00:04:30 -04:00
Michael Wu
d2b70213ac
Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
...
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Mats Palmgren
37e14b15b9
Bug 685154 - Cleanup nsIFrame::GetParentStyleContextFrame and related code. r=roc
...
Make nsIFrame::GetParentStyleContextFrame return the frame directly
instead of indirectly through an out parameter. Remove the unused
nsPresContext parameter.
2011-09-12 09:08:07 -07:00
Mats Palmgren
f1c56f2e22
Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
...
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Mats Palmgren
2c56109b0d
Bug 653649 - New way of getting child lists from frames. (part 3/5) r=roc
...
Update GetAdditionalChildListName consumers to use the new
child list iterator instead.
2011-08-24 22:54:29 +02:00
Mats Palmgren
605a290f3b
Bug 653649 - New way of getting child lists from frames. (part 2/5) r=roc sr=dbaron
...
Implement GetChildList(ChildListID) and GetChildLists(nsTArray<ChildList>*)
for various frame classes. Remove GetAdditionalChildListName(PRInt32)
methods and associated macros and list index constants.
2011-08-24 22:54:29 +02:00
Bernd
7aa1042321
bug 675490 - push nonplaced tfoots and mark them as nonrepeating r=bz
2011-08-13 18:37:43 +02:00
Bernd
d20e85e464
bug 678447 - prevent splitting of tables inside columnsets during printing r=roc
2011-08-13 18:37:43 +02:00
Bernd
4fdc3501bb
Bug 642088 - Subtract the caption height and vertical margins from the available height before reflowing the inner table frame. r=bzbarsky
2011-07-26 19:22:46 +02:00
Ehsan Akhgari
2a3dbb4205
Back out bug 10209 and bug 656875 (its regression fix) from Aurora because the work on this bug has not been finished yet
...
--HG--
extra : transplant_source : t%9F%EB%2Aa%A4%C0%9Ab%A5%DDQ%3EMD%5E%01h%E7%2A
2011-06-01 16:18:15 -04:00
Dominic Fandrey
968bf5196a
Bug 645398 - Substitute PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc
2011-06-02 14:56:50 +02:00
Ehsan Akhgari
e66b9024c8
Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc
2011-04-29 19:02:33 -04:00
Robert O'Callahan
ca5e5d48e9
Bug 641426. Part 3.5: Remove usage of nsMargin::TopLeft and nsMargin::IsZero. r=dbaron
2011-04-19 15:07:22 +12:00
Jan Küchler
c510bc3046
Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
...
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Jan Küchler
ebb2f0c7ec
Bug 266236 part 1: Preliminary API cleanup on nsIRenderingContext.
...
--HG--
extra : rebase_source : a21ffad484f47103e403b8316eae5fdfd815c2cb
2011-04-07 18:04:39 -07:00
timeless@mozdev.org
0de1cad408
Bug 618830 initial assignment to kidNextInFlow is useless in nsTableFrame::ReflowChildren
...
r=bz
2011-03-28 16:50:13 -04:00
Boris Zbarsky
7d85213ee3
Bug 644576. Make sure that when we set up our iterator we don't decide we're done if the first row in our damage range contains no cells in our damage range. r=roc
2011-03-28 10:49:48 -04:00
timeless@mozdev.org
448d7c770e
Bug 620311 crash [@ nsTableFrame::MatchCellMapToColCache | nsTableFrame::RemoveFrame] because cellMap guard did not cover MatchCellMapToColCache
...
r=bernd
2011-03-26 00:37:35 -04:00
timeless@mozdev.org
b88c6d4720
Bug 620259 - add fall through comments to nsTableCellMap::SetNotTopStart and rename to nsTableCellMap::ResetTopStart
...
r=bernd a=dbaron
2011-02-16 14:14:18 +01:00
timeless@mozdev.org
ccaec9c2b5
Bug 620312 crash [@ nsTableFrame::InsertCol] because lastColGroup guard did not cover lastColGroup->GetColCount() r=bernd a=dbaron
2011-02-15 19:35:52 -05:00
timeless@mozdev.org
35c135159c
Bug 617637 nsTableFrame::PushChildren imagines it can pass null to [@ nsFrameList::RemoveFrame] violating its preconditions
...
r=bz
2010-12-09 11:57:03 +01:00
Mats Palmgren
9c3ac19106
Bug 595758 - Crash [@ nsTableFrame::MarkIntrinsicWidthsDirty] on print preview. r=dbaron a=blocking2.0:betaN
2010-11-14 19:26:36 +01:00
Mats Palmgren
6f54a07daf
Bug 576890 - Crash [@ nsFrameList::InsertFrames] on print preview. r=roc a=blocking2.0:final
2010-11-07 18:27:46 +01:00
L. David Baron
86a617e692
Change callers to use new nsIFrame overflow APIs. (Bug 542595, patch 20) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:47 -07:00
L. David Baron
5a012f3090
Fix miscellaneous reflow methods to use new overflow area APIs. (Bug 542595, patch 19) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:46 -07:00
L. David Baron
0bf111ce59
Fix all ReflowChildren methods in table code to avoid unnecessary NS_METHOD and NS_IMETHOD, and one that takes an overflow area to handle it correctly. (Bug 542595, patch 18) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:46 -07:00
L. David Baron
48071dc6a3
Make parameters to nsTableFrame::InvalidateFrame, nsTableFrame::PlaceChild, and nsTableRowGroupFrame::PlaceChild be the visual overflow rect. (Bug 542595, patch 17) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:46 -07:00
L. David Baron
e9aef85b7e
Change FinishAndStoreOverflow API to take two overflow areas. (Bug 542595, patch 4) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
Robert O'Callahan
6ed294185b
Bug 579323. Part 1.8: Rename InvalidateOverflowRect to InvalidateFrameSubtree. r=tnikkel
...
--HG--
rename : layout/generic/nsFrameFrame.cpp => layout/generic/nsSubDocumentFrame.cpp
extra : rebase_source : f7bd38670a03e8a7f3f8c40838af114be79b06f1
2010-08-31 12:49:12 +12:00
L. David Baron
fce97072e6
Add support for calc() to the 'height', 'min-height', and 'max-height' properties. (Bug 585715) r=bzbarsky a2.0=blocking+
2010-08-25 12:17:55 +02:00
Robert O'Callahan
7be62af7f1
Bug 584282. Use nsDisplayItem::ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame, wherever possible. r=tnikkel,a=dbaron
...
--HG--
extra : rebase_source : 730ba8640cb37bd8484ff069b5d6fd46d9bc3e84
2010-08-13 22:01:58 +12:00
Robert O'Callahan
33a0aec926
Bug 584282. Add nsDisplayItem::mToReferenceFrame and initialize it in the constructor. r=tnikkel,a=dbaron
...
--HG--
extra : rebase_source : 496cbde7c495eb8872c3d0ffc0ca4c57c2a6a777
2010-08-13 22:01:13 +12:00
Robert O'Callahan
002b421174
Bug 579258. Change IsVaryingRelativeToMovingFrame to take the 'moving frame' as a direct parameter instead of getting it from the builder. r=tnikkel,a=joe
2010-08-13 21:54:37 +12:00
Michael Ventnor
56ba116210
Bug 564991. Part 3: Create unique nsDisplayItem types for every single display item. r=tnikkel
2010-07-16 09:07:49 +12:00
Bernd
094c95c902
bug 567835 - add parentheses to make the required logic to happen r=dholbert
2010-05-27 07:31:11 +02:00
Bernd
5b3485bfc6
bug 558574 - fix issues with table footer placement and missed page breaks inside of row groups r=roc
2010-05-13 16:15:49 +02:00
Mats Palmgren
32851a6afa
Don't use enum bit-fields. r=timeless b=334571
2010-04-27 18:15:02 +02:00
timeless
f3cdc36c53
Bug 334571 Coverity 702, NS_SIDES array limit check - replace NS_FOR_CSS_SIDES defines with enum. r=zwol,mats
2010-04-27 18:15:02 +02:00
timeless
aa22afa674
Bug 334571 strip trailing whitespace. r=zwol
2010-04-27 18:15:01 +02:00
Masayuki Nakano
bb2c56323d
Bug 556694 Selection color isn't reverted when input field is specified only background-color r=dbaron
2010-04-08 21:44:57 +09:00
Ehren Metcalfe
a791e19cc4
Bug 556446: Remove dead code in layout. r=roc,bz
2010-04-03 07:36:19 -04:00
L. David Baron
951a1ae9b5
Use the appropriate color based on visitedness for border-collapse borders. (Bug 147777) r=bernd
2010-04-02 18:58:26 -07:00
L. David Baron
712030c86e
Use the appropriate color based on visitedness for nsCSSRendering::PaintBorder users of the 'border-*-color' properties. (Bug 147777) r=zweinberg
2010-04-02 18:58:26 -07:00
L. David Baron
109a546aaa
Make PaintBackgroundWithSC and related methods operate on nsStyleContext* rather than const nsStyleBackground*. (Bug 147777) r=zweinberg
2010-04-02 18:58:26 -07:00
Robert O'Callahan
0fd1837981
Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron
2010-03-29 14:46:55 +13:00
Robert O'Callahan
8ee064d838
Bug 551637. collapseOffsetProperty is never used. r=mats
2010-03-29 14:46:13 +13:00
Bernd
46449bbc6e
bug 378935 the border collapse code relies on having mutliple dead cell data entries in a row r=bzbarsky
2010-03-06 10:53:04 +01:00
Bernd
41de842d18
bug 484256 remove remaining border widths limits that are now obsolete as borders have a 2 byte storage r=fantasai
2010-03-06 10:53:03 +01:00
Daniel Holbert
5f428255a1
Bug 452319 followup: cast mRgIndex to be unsigned, to fix signed-unsigned-comparison compiler warning. r=bernd
2010-03-05 10:41:54 -08:00
Boris Zbarsky
60af0c64d6
Bug 527977 part 3. Change the style context cached struct storage; inline GetStyle* and PeekStyle* now that they're pretty dead-simple. r=zwol, sr=dbaron
2010-03-02 18:27:21 -05:00
Robert O'Callahan
4af69e5fc6
Bug 542620. Fix incorrect usage of nsFrameList. r=bzbarsky
2010-02-12 10:40:46 +13:00
Daniel Holbert
8b2f9b062c
Bug 539585 followup: Fix new instance of "warning: format '%p' expects type 'void*'" in nsTableFrame.cpp. (no review, just fixing one new instance of this problem)
2010-02-02 12:06:58 -08:00
Robert O'Callahan
f69799234f
Bug 542620. Need to paint the table background if columns or column-groups have backgrounds. r=dbaron
...
--HG--
extra : rebase_source : aebb3f9c4c83d2eecc779939e87dcf7195f5d103
2010-02-02 12:21:13 +13:00
L. David Baron
edbdda3be2
Always create nsDisplayTableBorderBackground when we're doing event delivery. (Bug 541668) r=roc
2010-01-24 12:06:20 -08:00
Bernd
09683cc5a4
bug 538479 add initialization code that I wrongly removed r=dbaron
...
--HG--
extra : rebase_source : 63ec32369dcdae83638a3be5635e25ebc757b1cd
2010-01-19 18:49:12 +01:00
Daniel Holbert
d0533cf63b
Bug 539585: Fix "warning: format '%p' expects type 'void*'" in layout directory. r=dbaron
2010-01-17 15:11:06 -08:00
Bernd
2f77193c78
bug 28800 remove support for scrollable rowgroups moa=roc r=bzbarsky
2010-01-16 17:05:46 +01:00
Bernd
f2eb2aae2e
bug 43178 - replace incorrect border, frame and rules handling code in content by css rules, initial patch - fantasai, a lof of input - bz r=bzbarsky
2010-01-09 16:33:03 +01:00
fantasai
3027a2127b
Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc
2009-12-24 00:21:15 -05:00
fantasai
b27eacbc1d
Bug 508473 Part II: Remove DeletingFrameSubtree r=bz sr=roc
2009-12-24 00:20:41 -05:00
L. David Baron
703f4ab0e5
Fix assertions in the scrollable row group case. (Bug 531461) r=roc
2009-12-13 19:40:55 -08:00
L. David Baron
536a43f03b
Address my own review comment and undo one of the changes in bug 531461.
2009-12-12 11:35:26 -08:00
Robert O'Callahan
5c87a2d633
Bug 530686. Only create an nsDisplayTableBorderBackground when it's going to have something to paint, since having one can disable some scrolling optimizations. r=dbaron
2009-12-12 10:50:30 -08:00
Robert O'Callahan
3d48c9aac2
Bug 531461. Avoid creating an nsDisplayTableBorderBackground if every part of the table is hidden. r=dbaron
2009-12-12 10:50:25 -08:00
Boris Zbarsky
5132d64872
Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron
2009-12-11 02:37:40 -05:00
Boris Zbarsky
8202b90f61
Backing out bug 525608 and bug 525952
2009-12-10 18:28:08 -08:00
Boris Zbarsky
6eb3c28de7
Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron
2009-12-10 14:36:05 -08:00
Bernd
a519244d26
reorganize border collapse painting code to make a little bit more readable bug 452319 r=fantasai sr=bz
2009-11-05 10:26:00 +01:00
Dão Gottwald
d480227b1c
Backed out changeset 524233171fa4
2009-11-05 10:25:26 +01:00
Dão Gottwald
78256e6aec
reorganize border collapse painting code to make a little bit more readable bug 452319 r=fantasai sr=bz
2009-11-05 09:03:51 +01:00
Boris Zbarsky
7813eeb6d1
Bug 525295. Rename nsStyleContext::GetPseudoType to GetPseudo. r=dbaron
2009-10-29 17:17:56 -04:00