Commit Graph

630 Commits

Author SHA1 Message Date
bryner@brianryner.com
180d96f792 Get rid of nsIFrameManager abstract interface to the frame manager. Bug 233972, r+sr=roc. 2004-02-23 21:29:06 +00:00
dbaron@dbaron.org
4d631f7266 Treat relatively positioned elements at original position for flowing around floats. b=205087 r+sr=bzbarsky 2004-01-11 04:29:09 +00:00
bryner@brianryner.com
01533e488c deCOMtaminate nsIPresContext::GetCompatibilityMode / SetCompatibilityMode (bug 229081). r+sr=bzbarsky. 2003-12-24 21:51:50 +00:00
bryner@brianryner.com
640685cbe9 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. 2003-12-21 05:36:36 +00:00
dbaron@dbaron.org
ed6e8050f3 Add comments connecting two quirks. 2003-11-16 18:49:00 +00:00
dbaron@dbaron.org
4b2f1ba8a3 Remove BRS_NOWRAP. b=191699 r+sr=roc 2003-11-11 19:24:01 +00:00
dbaron@dbaron.org
3696673382 Clean up nsIFrame::IsEmpty signature and move towards making 'white-space' work on inlines. b=191699 r+sr=roc 2003-11-10 23:36:06 +00:00
uid502
4fc4723244 Bug 190735. DeCOMtaminate nsIFrame::GetFrameType. r+sr=bzbarsky 2003-10-31 20:19:18 +00:00
dbaron@dbaron.org
9446ce805f Use the correct term "float" instead of "floater". b=218654 r+sr=bzbarsky 2003-10-13 21:51:02 +00:00
bzbarsky@mit.edu
ed01f44dc8 Use UnionRect instead of reimplementing it in the block code. Bug 220741,
r+sr=dbaron
2003-10-10 01:12:55 +00:00
roc+@cs.cmu.edu
b68d4fd6d2 ongoing deCOMtamination work. r+sr=dbaron 2003-06-27 18:13:48 +00:00
dbaron@dbaron.org
f98e358469 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 2003-05-15 03:42:21 +00:00
dbaron@dbaron.org
e18fe381eb Correct translation when ensuring floats are never higher than prior floats. b=201985 r+sr=roc 2003-04-15 03:10:50 +00:00
dbaron@dbaron.org
e0d645896e 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 2003-03-11 23:56:49 +00:00
bernd.mielke@snafu.de
9325787626 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 2003-03-01 07:14:35 +00:00
dbaron@dbaron.org
ea100487d6 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 2003-02-22 16:19:31 +00:00
dbaron@dbaron.org
1c37d177d4 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 2003-01-09 14:26:32 +00:00
dbaron@dbaron.org
be27c1278e 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 2003-01-09 02:24:10 +00:00
dbaron@fas.harvard.edu
8a88f30fc6 Change my email address from dbaron@fas.harvard.edu to dbaron@dbaron.org. Comment changes only. 2003-01-01 23:53:20 +00:00
dbaron@fas.harvard.edu
7afb0869ad 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 2002-12-19 00:12:08 +00:00
karnaze@netscape.com
e02d92db7a 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 2002-12-04 00:58:52 +00:00
dbaron@fas.harvard.edu
a2c47c0843 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 2002-10-08 01:52:34 +00:00
karnaze@netscape.com
2fd40ad4c3 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 2002-09-24 21:02:20 +00:00
kin@netscape.com
10bd98cf9a 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
2002-09-20 13:19:54 +00:00
karnaze@netscape.com
9f55d1024c 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 2002-07-17 01:48:56 +00:00
bernd.mielke@snafu.de
f54335aeb3 bug 154979 - use gNoisyMaxElementSize instead of NOISY_MAX_ELEMENTSIZE r=karnaze sr=waterson 2002-07-01 17:43:02 +00:00
dbaron@fas.harvard.edu
d7ebbb7e37 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 2002-06-25 21:16:17 +00:00
karnaze@netscape.com
f0a413693f bug 151620 - always use quirk line-height inside a td. sr=waterson, r=dbaron. 2002-06-19 22:28:47 +00:00
karnaze@netscape.com
7ce5d8ded3 bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov. 2002-05-28 22:50:43 +00:00
waterson@netscape.com
a7380946d3 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 2002-05-10 18:22:41 +00:00
waterson@netscape.com
d489edbf52 Fix debug-only printf. 2002-05-07 14:07:53 +00:00
waterson@netscape.com
053f6f8732 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. 2002-04-26 19:19:39 +00:00
waterson@netscape.com
f2b9f95943 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 2002-04-11 01:13:41 +00:00
karnaze@netscape.com
4ab209aff5 bug 128804 - moved optimization of text controls to nsBlockReflowState and initialized it earlier. a=dbaron, sr=attinasi, r=alexsavulov. 2002-03-12 15:48:52 +00:00
alexsavulov@netscape.com
3048daf4f1 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
2002-03-08 21:23:55 +00:00
alexsavulov@netscape.com
d818221621 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
2002-03-08 20:25:54 +00:00
waterson@netscape.com
7f0c5c2a9a Bug 99461 and it's ilk. Remove hack that blasts tables into the same space. r=dbaron, sr=attinasi. 2002-01-09 03:01:13 +00:00
dbaron@fas.harvard.edu
71a9308092 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
2002-01-06 18:14:00 +00:00
dbaron@fas.harvard.edu
8310960057 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 2001-12-06 00:30:06 +00:00
dbaron@fas.harvard.edu
aa92128509 Fix floater state recovery to descend into blocks (which might contain floaters). b=106658 r=kin sr=waterson 2001-11-15 07:28:46 +00:00
dbaron@fas.harvard.edu
f9253da08c Fix FMR/FMW caused by translating the space manager right after deleting it. r=jag sr=waterson b=108017 2001-11-03 05:18:39 +00:00
dbaron@fas.harvard.edu
d3f01c8c10 Remove unnecessary XPCOM interface around nsSpaceManager. b=102453 r=jag sr=waterson 2001-10-26 05:06:07 +00:00
dbaron@fas.harvard.edu
4b1de618fc 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
2001-10-25 01:08:40 +00:00
gerv@gerv.net
58d409fba9 Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089. 2001-09-28 20:14:13 +00:00
waterson@netscape.com
60f3d8f316 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 2001-09-21 00:53:29 +00:00
waterson@netscape.com
e8403a2f92 Bug 55086. Change nsContainerFrame::PositionFrameView() to position child views. Eliminate the |aView| parameter from that method, because the view can be retrieved from the frame and need not be done by the caller. Eliminate the NS_FRAME_NO_MOVE_CHILD_VIEWS flag, which was read-only; i.e., never set by anyone. r=dbaron, sr=attinasi 2001-09-05 20:27:19 +00:00
dbaron@fas.harvard.edu
b46d1c0dfe Make the width of floats with |width: auto| depend only on the width of the containing block and the contents of the float and not on the available space. Remove the loop calling ReflowFloater at different positions that is no longer needed, and remove the caching of the max element size for that loop that was not being invalidated correctly between reflows. Fix handling of margin, border, and padding for computation of available width for |width: auto| floaters. r=attinasi sr=waterson b= 85876, 82314, 82315, 85216, 85874, 86746 2001-07-19 02:33:43 +00:00
dbaron@fas.harvard.edu
c156662a18 Add some comments to code about issues that we should look at, remove some unused code, rename some unnecessarily-overloaded functions, fix some typos, and make a few minor style changes. b=88735 r=waterson sr=attinasi 2001-07-04 02:00:05 +00:00
hyatt@netscape.com
dfdfa14592 Fix for 78695 (rule matching improvements). r/sr=attinasi, jst, waterson 2001-05-31 22:19:43 +00:00
waterson@netscape.com
888d51e4cf Bug 59200. Merge floater reflow and placement into FlowAndPlaceFloater() to deal with the fact that a floater may need to be reflowed as its 'pushed' to a new location. For auto-width floaters, ensure that the floater is not flowed at a width less than its max-element-size. Enforce CSS2 section 9.5.1 rule [2] by maintaining mLastFloaterY in the reflow state. r=rbs, sr=attinasi. 2001-05-21 23:03:46 +00:00