Mats Palmgren
d2745bc51c
Bug 728911 - Remove the nsBlockFrame::mBullet member and store it in a frame property instead (as needed). For an outside bullet, store it as a nsFrameList* to support GetChildList(kBulletList). part 2/2 r=bz
2012-03-08 02:57:37 +01:00
Mats Palmgren
6b007e5ce3
Bug 728911 - Add a HasPushedFloat() method and move the PushedFloatProperty declaration to the .cpp file. part 1/2 r=bz
2012-03-08 02:57:37 +01:00
Mats Palmgren
66e9a4a3fe
Bug 728908 - Make the Overflow lines property have both a nsLineList and a nsFrameList for fast access to the last frame, eliminate SetNextSibling calls, and to support GetChildList(kOverflowList). part 1/2 r=bz
2012-03-08 02:57:37 +01:00
Daniel Holbert
e579af5a86
Bug 722510: Remove unused argument from nsBlockFrame::DrainOverflowLines. r=roc
2012-01-30 15:35:03 -08:00
Benjamin Stover
0a52de4032
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
Simon Montagu
7b2f366751
Implement text-align-last. Bug 536557, r=dbaron
2012-01-12 19:52:21 +02:00
Ed Morley
097cd18f1b
Backout 6605cc311ec5 & 9217303c2e5c (bug 536557) for M4 orange
2012-01-12 15:33:00 +00:00
Simon Montagu
6d9e29e3e5
Implement text-align-last. Bug 536557, r=dbaron
2012-01-12 16:29:20 +02:00
Mats Palmgren
9cc6cc3865
Bug 515530 - Remove nsHTMLContainerFrame. r=roc
2011-12-27 21:18:48 +01:00
Ehsan Akhgari
2a602a5685
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
Ehsan Akhgari
c15d8c0733
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
Ehsan Akhgari
b273fc68d8
Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc
2011-04-29 19:02:33 -04:00
Michael Wu
d8e503c38b
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
6894179e71
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
Vitor Menezes
cf291058cb
Bug 403524: Remove the standards-mode text-decoration code and use the quirks-mode code in all modes. r=dbaron
2011-08-03 11:30:58 -07:00
Ehsan Akhgari
c4436101c8
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
Mats Palmgren
b19080bd1f
Bug 312156 - Implement CSS3 text-overflow. r=roc
2011-06-22 20:11:48 +02:00
Ehsan Akhgari
e4c89e2e5d
Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc
2011-04-29 19:02:33 -04:00
Jan Küchler
5ef6bf26cf
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
Masayuki Nakano
ea752bfc4b
Bug 59109 Part 3: Implement text-decoration-color and text-decoration-style rendering r=dbaron
2011-03-31 21:27:03 +09:00
Alexander Surkov
8eec39795c
Bug 629114 - crash on add comment link in review board [@ nsBulletFrame::GetListItemText ] [@ nsBulletFrame::GetListItemText(nsStyleList const&, nsString&) ], r=davidb, marcoz, sr=bz, a=blocking2.x+
2011-03-28 22:59:54 +09:00
Boris Zbarsky
2b3d8a6402
Bug 626395. Make sure that when we're clipping our kids we don't create overflow containers for their overflow. Force the kids to lay out within our size instead. Also don't include overflowing kids in our overflow area if we're clipping them. r=roc, a=blocker
2011-01-19 17:39:31 -05:00
Boris Zbarsky
b0c658578e
Bug 609272. Make sure to not apply clipping of overflow when printing to the root element, because it doesn't really make use of its overflow style itself. r=dbaron
2010-11-30 13:19:57 -05:00
Dave Townsend
7a0e0a5cd9
Backing out bug 614058, bug 609272, bug 478445, bug 499628, bug 605296, bug 608914 and bug 614724 due to potentially causing bug 615736 CLOSED TREE. a=backout
2010-12-01 11:01:56 -08:00
Boris Zbarsky
f5eba2ae67
Bug 609272. Make sure to not apply clipping of overflow when printing to the root element, because it doesn't really make use of its overflow style itself. r=dbaron
2010-11-30 13:19:57 -05:00
Ehsan Akhgari
90e76bbb1f
Bug 389321 - Part 3: Use a centralized algorithm for caret positioning; r=roc a=blocking-betaN+
2010-08-31 14:54:44 -04:00
Alexander Surkov
b485555fff
Bug 557795 - non-libxul bustage fix, r=bz, a=blocking
2010-10-14 23:05:12 +09:00
Alexander Surkov
de72c1148e
Bug 557795 - wrong list bullet text of accessible for the first numbered HTML:li in CKEditor, r=davidb, sr=roc, a=blocking
...
--HG--
rename : accessible/tests/mochitest/tree/test_list_invalidate.html => accessible/tests/mochitest/treeupdate/test_list.html
2010-10-14 18:05:22 +09:00
L. David Baron
21464c8326
Split overflow areas for block frame float continuations. (Bug 542595, patch 12) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
L. David Baron
bb2c9bd999
Compute nsBlockFrame::ComputeCombinedArea to split overflow areas. (Bug 542595, patch 10) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
Robert O'Callahan
d4a0159920
Bug 596710. Increment (not decrement) rline to skip checking the cursor line twice. r=dbaron a=blocking
2010-09-17 12:09:08 -07:00
Ehsan Akhgari
27aec6b8bd
Bug 593211 - Part 3: Optimize nsBlockInFlowLineIterator by using the line cursor if present; r,a=roc
...
--HG--
extra : rebase_source : 03f9f9532373592b415e622788204a7766d998f6
2010-09-08 20:15:24 -04:00
L. David Baron
6d279b0435
Rename float continuations to pushed floats. (Bug 563584, patch 33) r=roc
...
This patch was generated with the following sed commands on layout/generic/*.{h,cpp}: 's/FLOAT_CONTINUATION/PUSHED_FLOAT/g;s/FloatContinuation/PushedFloat/g;s/float continuation/pushed float/g' plus whitespace fixup where the frame state bits are defined.
2010-08-05 21:59:20 -07:00
L. David Baron
46bdda8846
Rename PushTruncatedPlaceholderLine since the remaining reasons for lines being truncated are related to being next to floats, not having truncated floats. (Bug 563584, patch 19) r=roc
2010-08-05 21:59:20 -07:00
L. David Baron
867d31744c
Don't propagate the float's reflow status through places that expect an inline's reflow status, to avoid the assertion for which bug 563584 was filed. This separates pushing of floats from pushing of lines, and allows first-in-flow floats to be pushed to the next page without their associated line. (Bug 563584, patch 17) r=roc
2010-08-05 21:59:19 -07:00
L. David Baron
e714f071f9
Manage float continuations to-be-pulled by the next-in-flow better by keeping them in a separate frame list until they're actually pulled. (Bug 563584, patch 13) r=roc
2010-08-05 21:59:19 -07:00
L. David Baron
99f4849c65
Track which frames were float continuations that need to be pulled to the next block rather than figuring it out again when it's time to pull them. (This allows first-in-flows to be float continuations.) (Bug 563584, patch 12) r=roc
2010-08-05 21:59:19 -07:00
L. David Baron
08a16e6b29
Replace force-fit with setting mIsTopOfPage correctly. (Bug 563584, patch 5) r=roc
2010-08-05 21:59:19 -07:00
L. David Baron
f46f248ca8
Make nsBlockReflowState::FlowAndPlaceFloat reflow the float after computing its vertical position, so we know how much height is actually available. (Bug 563584, patch 4) r=roc
...
Test coverage for this is in the future patch "Add reftests for bug 563584.".
2010-08-05 21:59:18 -07:00
Alexander Surkov
1b2bbba526
Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc
2010-06-28 21:02:03 +09:00
L. David Baron
d574dd00ce
Use macros for frame state so that it's easy to change the size and easier to read the constants. (Bug 570837) r=roc
2010-06-08 22:28:14 -07:00
Michael Kohler
5f19df86e0
Bug 564091: Fix spelling of nonexistent across the tree. r=timeless
...
--HG--
extra : rebase_source : 4f15f7fd6f90926b77d136be83af7f22c5ffa830
2010-05-23 12:26:15 -07:00
Boris Zbarsky
4d2b5f13cc
Bug 562688 part 11. Eliminate eELEMENT usage in layout/generic. r=dbaron
2010-04-30 09:12:06 -04:00
Ehren Metcalfe
e0ac5d5547
Bug 556446: Remove dead code in layout. r=roc,bz
2010-04-03 07:36:19 -04:00
Robert O'Callahan
9a2ed61b34
Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron
2010-03-29 14:46:55 +13:00
Mats Palmgren
7fae53e76f
Simplify PullFrame()/PullFrameFrom(). b=538525 r=roc
2010-01-11 15:08:23 +01:00
fantasai
1ffb0c06ef
Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc
2009-12-24 00:21:15 -05:00
Boris Zbarsky
99027aa785
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
e9f228c7d5
Backing out bug 525608 and bug 525952
2009-12-10 18:28:08 -08:00
Boris Zbarsky
0a82b262db
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
Boris Zbarsky
5c641e6c2b
Bug 512471. Make nsBlockFrame's mFrames track its principal child list. r=roc,fantasai
2009-09-29 15:47:05 -04:00
Mats Palmgren
cf4ae83f1a
Store the overflow out of flows as an nsFrameList. b=516974 r=bzbarsky
2009-09-24 04:39:21 +02:00
Michael Ventnor
7b53709720
Bug 512988 - Text-shadow blur and underline messes up with padding-left. r+sr=roc
2009-09-18 20:18:35 +02:00
Mats Palmgren
377056c269
Bug 233463, patch 2 - Introduce nsFrameList::mLastChild member for fast access to the last sibling frame. r=bzbarsky
2009-09-18 13:09:36 +02:00
Mats Palmgren
8279fd683e
Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky
2009-09-18 13:09:35 +02:00
Zack Weinberg
17eb5a6efc
Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc
2009-09-12 17:49:24 +01:00
L. David Baron
399ff738b4
Make empty bullets (i.e., those for list-style-type:none) not contribute to layout. (Bug 512631) r=roc
2009-09-11 06:46:36 -04:00
fantasai
059cc95c6b
Bug 492627 - Remove Placeholder Continuations [Part VI: Handle <br clear>] r=roc
2009-08-31 11:25:36 -07:00
fantasai
d5c48032c3
Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc
2009-08-31 11:25:36 -07:00
fantasai
973c4e83aa
Bug 492627 - Remove Placeholder Continuations [Part IV: Switch float layout APIs to pass float directly, without placeholder] r=roc
2009-08-31 11:25:35 -07:00
fantasai
01a3a6c947
Bug 492627 - Remove Placeholder Continuations [Part III: Remove current float-splitting code.] r=roc
2009-08-31 11:25:35 -07:00
Robert O'Callahan
75dc1beb9c
Backed out changeset e2927bb26412
2009-08-26 14:49:18 -07:00
Zack Weinberg
18c763f2c5
Bug 497495 part 3a: rationalize the queryframe-implementation macro naming scheme, restructure the implementation to detect duplicate entries, and a couple fixes to the frame ID enumeration. r=dbaron sr=roc
...
Bug 497495 part 3b: update users of queryframe macros (strictly mechanical change). r=dbaron
--HG--
extra : rebase_source : ee672a17934227b408b83dc6b5cc4e4909652f72
2009-08-26 09:27:42 -07:00
Boris Zbarsky
f2936464e5
Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron
2009-07-30 13:23:32 -04:00
Boris Zbarsky
209e31bf48
Relanding bug 496823 in the hopes that it's not causing the XP Txul issue.
...
--HG--
extra : rebase_source : 593d43b5c229e077e4454d848dba59265dee6b58
2009-07-29 08:53:27 -04:00
Boris Zbarsky
b4eb9b7084
Backed out changeset 622a29736f33 to see whether bug 496823 causes the WinXP Txul regression.
...
--HG--
extra : rebase_source : 450a2a83442a2326e303f97ad82d8213fbe11490
2009-07-28 14:35:28 -04:00
Boris Zbarsky
5fefb45a48
Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc
2009-07-28 08:53:20 -04:00
Boris Zbarsky
31d4329c40
Bug 504221 part 6. Switch nsBlockFrame::AddFrames to nsFrameList. r=fantasai,roc
2009-07-28 08:51:10 -04:00
Boris Zbarsky
db6ff446ab
Bug 504221 part 5. Switch from GetFirstChild to GetChildList (returning an nsFrameList). For now, keep a GetFirstChild shim so callers don't have to be updated. r=fantasai, r+sr=roc
2009-07-28 08:51:09 -04:00
Boris Zbarsky
34df7918a4
Bug 496823. Blocks can implement GetLastChild() much faster than by just getting first child and iterating its siblings. r=roc
2009-07-26 21:27:32 -04:00
L. David Baron
5cd3ba5141
Don't reduce the height we're checking while we reflow for floats. (Bug 494332) r+sr=roc
2009-06-16 08:00:20 -07:00
L. David Baron
7c71744210
Fix bug 25888 for inline frames other than bullets: redo line reflow when the line's height pushes it into the way of other floats. (Bug 25888) r+sr=roc
2009-05-20 07:21:34 -04:00
Daniel Holbert
0947631c3a
Bug 490909: Remove old layout debugging code, patch #2 : remove 'VerifyTree' & related code. r+sr=dbaron
2009-05-12 12:03:09 -07:00
Boris Zbarsky
05780cc568
Bug 67752. Implement interruptible reflow. r=roc,dbaron
2009-04-21 19:53:52 -04:00
Joe Drew
64bbcf4155
Backed out changeset 6a452e522e07 - Boris Zbarsky – Bug 67752. Implement interruptible reflow. r=roc,dbaron - because of apparent Tp hangs.
2009-04-21 23:02:17 -04:00
Boris Zbarsky
e5f6293681
Bug 67752. Implement interruptible reflow. r=roc,dbaron
2009-04-21 19:53:52 -04:00
L. David Baron
b901f2cb67
Switch away from nsBlockReflowState::mAvailSpaceRect for reflow of child blocks. (Bug 25888) r+sr=roc
2009-04-08 13:52:37 -07:00
L. David Baron
9bba032aed
Switch away from nsBlockReflowState::mAvailSpaceRect for reflow of child floats. (Bug 25888) r+sr=roc
2009-04-08 13:52:36 -07:00
Daniel Holbert
5b26d7d11e
Bug 465928 followup: correct typo in enum name - s/PERSERVE/PRESERVE/. No functional changes. r=roc
2009-01-13 12:28:28 -08:00
Benjamin Smedberg
24e7cb1f78
Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
...
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted
Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.
r+sr=roc
nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.
--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
50621e4f9f
Backed out changeset 4c4df6ed1b41 - Bug 396185 - Make nsIFrame not inherit from nsISupports due to mochitest failures... these appear to be crashes in nsGenericHTMLElement::GetEditorInternal.
2009-01-09 11:35:24 -05:00
Benjamin Smedberg
d0b948876f
Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
...
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted
Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.
r+sr=roc
This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.
2008-11-05 14:25:30 -05:00
L. David Baron
57a8e776d8
Rename flags and methods from space manager to float manager. (Bug 191448) r+sr=roc
2009-01-04 19:39:54 -05:00
Robert O'Callahan
0731a2c4f4
Bug 458296. When a block doesn't carry out the bottom-margin of its children, add that bottom-margin to its overflow area. Also, add the bottom-padding of a scrolled block to its overflow area. r+sr=dbaron
2008-12-29 21:18:40 +13:00
Robert O'Callahan
7fa4d507b4
Followup comment change for bug 465928.
2008-12-03 14:50:22 +13:00
Robert O'Callahan
f9d2d59b5e
Bug 465928. Avoid SetInvalidateTextRuns being called by nsBlockFrame::DoRemoveFrame when we're just deleting empty continuation frames. r+sr=dbaron
2008-12-03 14:27:19 +13:00
Benjamin Smedberg
9696613a50
Relanding bug 461410 - nsILineIterator is never used outside of layout - set nsresults to replicate the existing code more correctly, which fixes the mochitest failures, r+sr=roc with nits noted by Mats Palmgren
2008-10-30 12:17:59 -07:00
Benjamin Smedberg
4214b72dd5
Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212
2008-10-28 02:49:14 -04:00
Benjamin Smedberg
dd4c950cff
Bug 461410 - nsILineIterator is never used outside of layout, and doesn't need to be refcounted: the callers can just destroy it when they're done with it. We can't do this with a virtual destructor, however, because nsTableRowGroupFrame implements the interface directly, while nsLineIterator is a separately-allocated class. So clients are expected to call DisposeLineIterator when they're done with it.
...
Instead of accessing nsILineIterator using QueryInterface, we add a nsIFrame::GetLineIterator API, which is cleaner and more efficient all at the same time!
r+sr=roc
2008-10-28 00:47:19 -04:00
Mats Palmgren
54ec50a55f
Add 'aLineList' param to MarkLineDirty() so it knows the correct line list for 'aLine'. b=443528 r+sr=roc
2008-10-12 21:26:06 +02:00
Robert O'Callahan
f79290bb0e
Bug 450930. Fire a DOM event when painting so that content and chrome can track what's being repainted. r=smaug,sr=dbaron
2008-09-18 21:47:21 +12:00
Michael Ventnor
7e868a56e1
Implement text-shadow rendering (bug 10713). r+sr=roc. Relanding with fixes to make tests pass on Mac
2008-06-13 10:02:32 +12:00
Robert O'Callahan
6382ad7c40
Backing out text-shadow due to Mac issues
2008-06-12 17:32:31 +12:00
Michael Ventnor
480a40574d
Implement text-shadow rendering.
2008-06-12 14:34:40 +12:00
Robert O'Callahan
446ada92bc
Allow floats to be placed on the current line even after nonzero-width inline content has been placed. Fixes an Acid3 layout bug. r+sr=dbaron
2008-06-11 11:53:22 +12:00
dbaron@dbaron.org
31fad3f842
Compute widths for replaced block clearing past floats once we're at the correct vertical position. b=430813 r+sr=roc a=schrep
2008-05-03 16:33:36 -07:00
dbaron@dbaron.org
0cc180b641
Fix bug 427129 / 377664: When displacing blocks that don't interact with floats around floats, displace the border box rather than the margin box. Fix bug 427782: Simultaneously, only displace when the width actually won't go down to an amount that fits (i.e., if it will go to an amount smaller than the intrinsic minimum width, let it). b=427129 r+sr=roc a=schrep
2008-04-14 18:05:17 -07:00
dholbert@cs.stanford.edu
8a24231d01
Bug 427017: Disable page-break-before/after for fixed- & absolutely-positioned elements. Also, fix assertion during an iterator-comparison by handling case where lineBox is in overflow-lines. r=fantasai sr=roc a1.9=beltzner
2008-04-11 22:32:49 -07:00
masayuki@d-toybox.com
821cf1156c
Bug 417014 Need blacklist system for underline offset adjusting of CJK fonts which have wrong underline offset r=roc+stuart, sr=roc, b1.9=stuart
2008-03-12 19:36:58 -07:00
roc+@cs.cmu.edu
bc1e698534
Bug 400057. Make nsBlockInFlowLineIterator useful for finding the line containing a frame, searching across block continuations and their overflow lines. Use it in various places, especially in textrun construction. r+sr=dbaron
2008-02-27 01:53:48 -08:00