485 Commits

Author SHA1 Message Date
bryner%brianryner.com
e49f4fa38e Refactor the frame property code and use it for supporting properties on dom elements. Bug 253888, r=jst, sr=dbaron.
git-svn-id: svn://10.0.0.236/trunk@161096 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-21 05:09:50 +00:00
bryner%brianryner.com
865734bf2f Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc
git-svn-id: svn://10.0.0.236/trunk@160184 18797224-902f-48f8-a5cc-f745e15eee43
2004-07-31 23:15:21 +00:00
roc+%cs.cmu.edu
0b0fa89131 Bug 226439. Convert codebase to use AppendLiteral/AssignLiteral/LowerCaseEqualsLiteral. r+sr=darin
git-svn-id: svn://10.0.0.236/trunk@157992 18797224-902f-48f8-a5cc-f745e15eee43
2004-06-17 00:13:25 +00:00
dbaron%dbaron.org
2c97c45164 Move clearing from nsBlockBandData to nsSpaceManager so that 'clear' works even when the floats to be cleared don't overlap the block's border-box. b=148994 Patch by Blake Kaplan <mrbkap@rice.edu>. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@157603 18797224-902f-48f8-a5cc-f745e15eee43
2004-06-08 19:18:30 +00:00
gerv%gerv.net
2ac510b678 Bug 236613: change to MPL/LGPL/GPL tri-license.
git-svn-id: svn://10.0.0.236/trunk@155068 18797224-902f-48f8-a5cc-f745e15eee43
2004-04-18 14:30:37 +00:00
bryner%brianryner.com
d956db112f Get rid of nsIFrameManager abstract interface to the frame manager. Bug 233972, r+sr=roc.
git-svn-id: svn://10.0.0.236/trunk@153111 18797224-902f-48f8-a5cc-f745e15eee43
2004-02-23 21:29:06 +00:00
dbaron%dbaron.org
3d49352c78 Treat relatively positioned elements at original position for flowing around floats. b=205087 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@151166 18797224-902f-48f8-a5cc-f745e15eee43
2004-01-11 04:29:09 +00:00
bryner%brianryner.com
4cca78120d deCOMtaminate nsIPresContext::GetCompatibilityMode / SetCompatibilityMode (bug 229081). r+sr=bzbarsky.
git-svn-id: svn://10.0.0.236/trunk@150720 18797224-902f-48f8-a5cc-f745e15eee43
2003-12-24 21:51:50 +00:00
bryner%brianryner.com
b5347dd60c Change all callers of nsIPresContext::GetShell() to use the non-refcounting versions. Most callers now use PresShell(), a few that were checking for null conditions are using GetPresShell() -- this will be remedied once we can ensure that a prescontext never has a null pres shell. Bug 227690, r+sr=bzbarsky.
git-svn-id: svn://10.0.0.236/trunk@150598 18797224-902f-48f8-a5cc-f745e15eee43
2003-12-21 05:36:36 +00:00
dbaron%dbaron.org
af2bdc9aec Add comments connecting two quirks.
git-svn-id: svn://10.0.0.236/trunk@149403 18797224-902f-48f8-a5cc-f745e15eee43
2003-11-16 18:49:00 +00:00
dbaron%dbaron.org
c484400136 Remove BRS_NOWRAP. b=191699 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@149157 18797224-902f-48f8-a5cc-f745e15eee43
2003-11-11 19:24:01 +00:00
dbaron%dbaron.org
c53d72392a Clean up nsIFrame::IsEmpty signature and move towards making 'white-space' work on inlines. b=191699 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@149126 18797224-902f-48f8-a5cc-f745e15eee43
2003-11-10 23:36:06 +00:00
uid502
e56ed2443c Bug 190735. DeCOMtaminate nsIFrame::GetFrameType. r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@148665 18797224-902f-48f8-a5cc-f745e15eee43
2003-10-31 20:19:18 +00:00
dbaron%dbaron.org
33601224e0 Use the correct term "float" instead of "floater". b=218654 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@147924 18797224-902f-48f8-a5cc-f745e15eee43
2003-10-13 21:51:02 +00:00
bzbarsky%mit.edu
90e284491b Use UnionRect instead of reimplementing it in the block code. Bug 220741,
r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@147822 18797224-902f-48f8-a5cc-f745e15eee43
2003-10-10 01:12:55 +00:00
roc+%cs.cmu.edu
62382bd5e2 ongoing deCOMtamination work. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@144220 18797224-902f-48f8-a5cc-f745e15eee43
2003-06-27 18:13:48 +00:00
dbaron%dbaron.org
69da9d4a19 Clean up API (and its callers) for getting style data: remove unneeded null checks and switch to new inline member functions (one for each struct) that return values. b=197205 r+sr=roc a=brendan
git-svn-id: svn://10.0.0.236/trunk@142488 18797224-902f-48f8-a5cc-f745e15eee43
2003-05-15 03:42:21 +00:00
dbaron%dbaron.org
7665cddbab Correct translation when ensuring floats are never higher than prior floats. b=201985 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@141157 18797224-902f-48f8-a5cc-f745e15eee43
2003-04-15 03:10:50 +00:00
dbaron%dbaron.org
28c762385d Remember the lowest floater top for CSS2 9.5.1 rule 5 (a float cannot be higher than earlier floats) on the space manager rather than the block reflow state so that it works across blocks sharing the same space manager. Save and restore it in the space manager's PushState and PopState to fix incremental reflow bug (177331). b=196919 r+sr=roc+moz Change PRIntn to PRInt32. b=115153 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@139299 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-11 23:56:49 +00:00
bernd.mielke%snafu.de
0aa64c9755 backout of the patch for bug 97777. Unconstrained reflows need to be tested against table reflow as they are used also there to shrinkwrap content. bug 194014 r/sr=dbaron a=asa
git-svn-id: svn://10.0.0.236/trunk@138754 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-01 07:14:35 +00:00
dbaron%dbaron.org
897a1a273b Change the way we calculate max-element-width for blocks with floaters: stop trying (and sometimes failing) to ensure that there can always be text next to the floater. b=186593 r+sr=roc+moz
git-svn-id: svn://10.0.0.236/trunk@138197 18797224-902f-48f8-a5cc-f745e15eee43
2003-02-22 16:19:31 +00:00
dbaron%dbaron.org
a569c670f5 Replace computation of max-element-size (height and width) with max-element-width alone, since the max-element-height is practically unused and not meaningful for layout. b=186953 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@136064 18797224-902f-48f8-a5cc-f745e15eee43
2003-01-09 14:26:32 +00:00
dbaron%dbaron.org
d5efebbec0 Bug 97777: make shrink wrapping of absolutely positioned elements work reliably by using unconstrained available width when BRS_SHRINKWRAPWIDTH is set. Patch from Arunan Bala <arunan_bala@hotmail.com>. r=roc sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@136048 18797224-902f-48f8-a5cc-f745e15eee43
2003-01-09 02:24:10 +00:00
dbaron%fas.harvard.edu
ffb8d9cca7 Change my email address from dbaron@fas.harvard.edu to dbaron@dbaron.org. Comment changes only.
git-svn-id: svn://10.0.0.236/trunk@135757 18797224-902f-48f8-a5cc-f745e15eee43
2003-01-01 23:53:20 +00:00
dbaron%fas.harvard.edu
a7efa8275b Replace NS_BLOCK_WRAP_SIZE with making unconstrained-width reflow of frames with NS_BLOCK_SPACE_MGR consider the floats. This means we no longer use the overflow area for layout (other than the overflow property). Handle right floaters in unconstrained width reflow by just treating them as left floaters. b=172896 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@135476 18797224-902f-48f8-a5cc-f745e15eee43
2002-12-19 00:12:08 +00:00
karnaze%netscape.com
15faa7640c bug 127286 (part II due to cvs problems) - Handle splitting of floaters when lines impacting them are outside the block containing the floaters. sr=kin, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@134740 18797224-902f-48f8-a5cc-f745e15eee43
2002-12-04 00:58:52 +00:00
dbaron%fas.harvard.edu
cd7f730327 Don't resolve the positive and negative parts of collapsing margins too early when collapsing through empty blocks. A few bits of other cleanup. b=172892 sr=bzbarsky r=kin
git-svn-id: svn://10.0.0.236/trunk@131355 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-08 01:52:34 +00:00
karnaze%netscape.com
b70e7f9f22 bug 169620 - don't pass in negative avail widths, don't add/subtract from NS_UNCONSTRAINEDSIZE, make HR's desired width at least as big as its me width. sr=kin, r=dbaron
git-svn-id: svn://10.0.0.236/trunk@130371 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-24 21:02:20 +00:00
kin%netscape.com
b44ee3ebe9 Fix for bug 159363: Text overlaps image (ESPN.com)
- Place right floaters at the unconstrained right edge during an unconstrained reflow. This ensures that the floater will be repositioned when the constrained reflow comes around.

- Fixed |if| expression that was used to detect whether or not we were trying to do an unconstrained reflow.

r=karnaze@netscape.com  sr=dbaron@fas.harvard.edu


git-svn-id: svn://10.0.0.236/trunk@130144 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-20 13:19:54 +00:00
karnaze%netscape.com
e1b0af4e1d bug 153785 - Added function to undo splitting floaters when the line they are on gets moved to the next page. Cached the break type of the last floater that gets split in the block reflow state so that the frame afterh the floater's continuation can combine that break type with its own. a=asa, sr=kin, r=alexsavulov
git-svn-id: svn://10.0.0.236/trunk@125355 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-17 01:48:56 +00:00
bernd.mielke%snafu.de
c67e5d2a21 bug 154979 - use gNoisyMaxElementSize instead of NOISY_MAX_ELEMENTSIZE r=karnaze sr=waterson
git-svn-id: svn://10.0.0.236/trunk@124405 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 17:43:02 +00:00
dbaron%fas.harvard.edu
7c4652cc16 Split strict mode into almost-standards and full-standards mode, where the only quirk in almost standards mode is the quirky inline box model. Remove previous fix for bug 151620. Tweak mode detection to use almost-standards for XHTML Transitional, HTML 4.01 transitional with system ID, and for IBM system DOCTYPE. b=153032 r=karnaze, bzbarsky, harishd sr=waterson
git-svn-id: svn://10.0.0.236/trunk@124017 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 21:16:17 +00:00
karnaze%netscape.com
f849232aae bug 151620 - always use quirk line-height inside a td. sr=waterson, r=dbaron.
git-svn-id: svn://10.0.0.236/trunk@123624 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-19 22:28:47 +00:00
karnaze%netscape.com
49e0a9f4cb bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@122236 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-28 22:50:43 +00:00
waterson%netscape.com
5bae3657e6 Bug 129115. Change the reflow path from a list structure to a tree structure to amortize state recovery and damage propagation costs. Eliminate table timeout reflows. r=kin,karnaze,rods,rbs; sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@121265 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 18:22:41 +00:00
waterson%netscape.com
ec9aa1aeb8 Fix debug-only printf.
git-svn-id: svn://10.0.0.236/trunk@120945 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-07 14:07:53 +00:00
waterson%netscape.com
fc93436b44 Bug 138057. Eliminate nsBlockFrame::RememberFloaterDamage, instead recording the damage when we reflow the floater. This allows us to catch several cases that we weren't catching before, so we no longer need to dirty all the line boxes when an incremental reflow targeted at a float arrives. r=dbaron, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@119984 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-26 19:19:39 +00:00
waterson%netscape.com
27b2245dbd Bug 135146. Implement NS_FRAME_REFLOW_ROOT to allow reflows for <textarea> and <input type='text'> to be dispatched from the scroll frame within the nsGfxTextControlFrame2. r=kin, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@118697 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-11 01:13:41 +00:00
karnaze%netscape.com
d2766aacef bug 128804 - moved optimization of text controls to nsBlockReflowState and initialized it earlier. a=dbaron, sr=attinasi, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@116409 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-12 15:48:52 +00:00
alexsavulov%netscape.com
bb4d45ce8c checked in the wrong version of the patch
PREVIOUS CHECKIN COMMENT

fix for bug 122200 - floaters regression and fix for bug 99461 - floating
tables will be constrained in the same line if they can fit
quirks mode only
sr= attinasi, r= kin, a= asa


git-svn-id: svn://10.0.0.236/trunk@116184 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-08 21:23:55 +00:00
alexsavulov%netscape.com
66e4b80082 fix for bug 122200 - floaters regression and fix for bug 99461 - floating
tables will be constrained in the same line if they can fit
quirks mode only
sr= attinasi, r= kin, a= asa


git-svn-id: svn://10.0.0.236/trunk@116174 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-08 20:25:54 +00:00
waterson%netscape.com
e72c8455d0 Bug 99461 and it's ilk. Remove hack that blasts tables into the same space. r=dbaron, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@111638 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-09 03:01:13 +00:00
dbaron%fas.harvard.edu
4a32ed3c58 Bug 117374: nsBlockFrame::UpdateSpaceManager is no longer needed since nsBlockReflowState::RecoverFloaters does the same work.
Bug 113895:  Pass |aDeltaY| as 0 for recursive calls to RecoverFloaters.
b=117374  r=attinasi  sr=waterson


git-svn-id: svn://10.0.0.236/trunk@111448 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-06 18:14:00 +00:00
dbaron%fas.harvard.edu
3be8570947 Only do state-recovery update of nsBlockReflowState::mPrevChild on the transition from a line we don't reflow to a line we do reflow. b=111676 r=attinasi sr=hyatt
git-svn-id: svn://10.0.0.236/trunk@109773 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-06 00:30:06 +00:00
dbaron%fas.harvard.edu
6d6d615a63 Fix floater state recovery to descend into blocks (which might contain floaters). b=106658 r=kin sr=waterson
git-svn-id: svn://10.0.0.236/trunk@108158 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-15 07:28:46 +00:00
dbaron%fas.harvard.edu
e71e3821f0 Fix FMR/FMW caused by translating the space manager right after deleting it. r=jag sr=waterson b=108017
git-svn-id: svn://10.0.0.236/trunk@107215 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-03 05:18:39 +00:00
dbaron%fas.harvard.edu
7ddeb79974 Remove unnecessary XPCOM interface around nsSpaceManager. b=102453 r=jag sr=waterson
git-svn-id: svn://10.0.0.236/trunk@106331 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-26 05:06:07 +00:00
dbaron%fas.harvard.edu
8b3489a026 Bug 86947:
Make the line list doubly linked and access it through a list class and iterators.
Stop recomputing margins on all of the children of each block in the reflow chain (which causes O(N^2) state recovery during incremental reflow).  Instead, add a second dirty bit to the lines and walk backwards through the line list to recompute vertical margins only when either dirty bit is set and the previous line was not reflowed.  Add nsIFrame::IsEmpty to identify frames through which margins collapse.
Fix O(N^2) propagation of float damage by maintaining a set of intervals damaged by floats (bug 61962) and be sure to damage the correct areas (bug 48138).
Introduce nsCollapsingMargin to do correct collapsing of combinations of positive and negative margins (bug 50142).
Clean up some odds and ends and fix another smaller O(N^2) problem in nsBlockFrame::AddFrames.
r=attinasi, rbs  sr=waterson


git-svn-id: svn://10.0.0.236/trunk@106224 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 01:08:40 +00:00
gerv%gerv.net
13afb6d0f9 Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089.
git-svn-id: svn://10.0.0.236/trunk@104119 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 20:14:13 +00:00
waterson%netscape.com
289f661b27 Bug 96228. Make nsContainerFrame::PositionFrameView position _only_ the frame's view (don't recur). Explicitly call nsContainerFrame::PositionChildViews as appropriate when moving a frame post-Reflow. Consolidate view positioning logic duplicated between PositionFrameView and SyncFrameViewAfterReflow, which now correctly computes offset for anonymous view in nsScrollFrame and accounts for scrolled views. r=kmcclusk,karnaze sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@103388 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-21 00:53:29 +00:00