Commit Graph

198 Commits

Author SHA1 Message Date
dbaron%fas.harvard.edu
d7be43384d Fix margin collapsing of margins other than the first child's top margin out of the top of a block. b=44242, 18206 r=roc (mostly) 2002-11-28 19:29:28 +00:00
bzbarsky%mit.edu
279ffda515 Make GetParent on nsStyleContext return an
already_AddRefed<nsIStyleContext>.  Bug 171808, r=jkeiser, sr=dbaron
2002-10-09 01:46:15 +00:00
karnaze%netscape.com
40902d04df bug 163614 - Changed DeleteChildsNextInFlow to DeleteNextInFlowChild, params, and callers. sr=kin, r=alexsavulov,dcone 2002-10-08 20:35:26 +00:00
dbaron%fas.harvard.edu
9c1884ca02 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
3687f1f3d0 bug 149275 - Allocate reflow state and let ReflowBlock initialize it so the correct reflow state can be passed to DidReflow. Combined DoReflowBlock with ReflowBlock. sr=bzbarsky, r=alexsavulov. 2002-09-04 06:55:40 +00:00
karnaze%netscape.com
0085190f4a bug 154780 - Revised bernd's patch. treat null unit margins as auto. leave the cell avail width at 0 if a strategy init will occur. sr=kin, r=alexsavulov. 2002-09-04 00:10:43 +00:00
kin%netscape.com
50e1a69237 Fix for bug #96736: [FLOATER]The "Top 1000 Reviewer" is overwritten by text
mozilla/layout/base/src/nsSpaceManager.cpp
  mozilla/layout/base/src/nsSpaceManager.h

    - Implemented nsSpaceManager methods PushState()
      and PopState().

  mozilla/layout/html/base/src/nsBlockReflowContext.cpp

    - Modified nsBlockReflowContext::DoReflowBlock() to
      call PushState() and PopState() to remove any
      floaters that may have been added to the SpaceManager
      during the intermediate "unconstrained" Reflow()
      call, used to calculate the max block width. This
      allows the Reflow() call that immediately follows
      it to properly place the floaters.


r=waterson@netscape.com  sr=dbaron@fas.harvard.edu
2002-08-19 04:41:57 +00:00
bernd.mielke%snafu.de
7054f14c18 bug 154979 - use gNoisyMaxElementSize instead of NOISY_MAX_ELEMENTSIZE r=karnaze sr=waterson 2002-07-01 17:43:02 +00:00
karnaze%netscape.com
d77603590f bug 148399 - fix places where patch in bug 145305 incorrectly changed checks for NS_FRAME_COMPLETE to use NS_FRAME_IS_NOT_COMPLETE macro. sr=kin, r=alexsavulov 2002-06-14 14:40:02 +00:00
karnaze%netscape.com
1faf4c0592 bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov. 2002-05-28 22:50:43 +00:00
jst%netscape.com
1075a3f80d Fixing bug 146034. Getting rid of nsHTMLIIDs.{h,cpp}. r=jfrancis@netscape.com, sr=rpotts@netscape.com 2002-05-23 00:00:34 +00:00
waterson%netscape.com
e3554c37cc 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
854831c91c Bug 115113. Eliminate nsIReflowCommand, and just use nsHTMLReflowCommand directly. r=karnaze, sr=attinasi. 2001-12-17 22:39:59 +00:00
karnaze%netscape.com
748ebbcd0d bug 113424 - mechanism for percent height frames inside table cells to receive special height reflow. sr=attinasi, r=alexsavulov 2001-12-07 14:51:12 +00:00
attinasi%netscape.com
2cf04d7646 Fix for problem with horizontal auto margins in presence of padding on parent: checkin for arunan_bala@hotmail.com b=20582 r=dbaron sr=attinasi 2001-11-28 01:17:51 +00:00
dbaron%fas.harvard.edu
6e86902faa Remove unnecessary XPCOM interface around nsSpaceManager. b=102453 r=jag sr=waterson 2001-10-26 05:06:07 +00:00
dbaron%fas.harvard.edu
157c017816 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
4e12e44b2f 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
48483431d2 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
waterson%netscape.com
07f0145166 Bug 55086. Be sure to position child views, too! r=dbaron, sr=attinasi, a=blizzard. 2001-08-31 20:14:31 +00:00
dbaron%fas.harvard.edu
077fc4d427 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
b135c5b55a Fix for 78695 (rule matching improvements). r/sr=attinasi, jst, waterson 2001-05-31 22:19:43 +00:00
waterson%netscape.com
b55568be36 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
buster%netscape.com
d4879b7748 bug 47549 (Floaters cause entire page to redraw as content is appended (block paint perf))
r=kmcclusk@netscape.com
sr=waterson@netscape.com
2001-02-12 07:06:49 +00:00
pierre%netscape.com
9af01acf22 Reinstate my changes that were backed out 10 days ago. #43457 split nsStyleSpacing into 4 smaller structures: nsStyleBorder, nsStylePadding, nsStyleMargin, nsStyleOutline. r=attinasi,sr=buster. 2001-02-07 09:57:26 +00:00
mcafee%netscape.com
7ecf530933 Backing out pierre's change from 1/20 for performance reasons (66263). r=attinasi, a=granrose, phil 2001-01-25 02:58:12 +00:00
pierre%netscape.com
62bf433a35 #43457 split nsStyleSpacing into 4 smaller structures: nsStyleBorder, nsStylePadding, nsStyleMargin, nsStyleOutline. Review=attinasi. Pending Approval: buster. 2001-01-20 22:46:54 +00:00
dbaron%fas.harvard.edu
54b4252845 Make relatively positioned elements matter to their parents only at the original position by switching the order of computing the combined rect and computing relative positioning. b=4519 r=buster@netscape.com sr=waterson@netscape.com 2000-12-09 04:04:17 +00:00
warren%netscape.com
cd56c0575b Bug 47207. Backing out logging/PRINTF changes until we can fix stopwatch.h, introduce double parens, etc. 2000-10-28 22:17:53 +00:00
warren%netscape.com
9a6d92a433 Bug 47207. Changing printf to PRINTF to use new logging facility. r=valeski,sr=waterson 2000-10-27 22:43:51 +00:00
roc+%cs.cmu.edu
ec64a3669f When computing the max-element-size, base percentage margins on the size of the contained max-element-size, not on the container's desired size. Bug 25707. r,a=waterson 2000-08-11 20:08:15 +00:00
dbaron%fas.harvard.edu
0d22e864e2 Fix the way HTML's align attribute works for horizontal alignment of blocks. Use the -moz-center and -moz-right even in strict mode, and apply them to blocks in addition to tables. r=attinasi b=37083, 40038 2000-07-27 23:37:44 +00:00
dbaron%fas.harvard.edu
d05d4bef76 Fix bug 43882 (dogfood+) by removing special handling of empty P elements. (Most of the diffs are whitespace changes.) This also fixes bugs 43369, 43991, and 18050. However, it exposes a few other issues as well (the most important of which, nuking top margins on first *normal flow* children of BODY and TD, was previously fixed only in some cases, but shouldn't be hard to fix in general). r=waterson 2000-06-29 22:03:42 +00:00
dbaron%fas.harvard.edu
70189b60ae Fix bug 42685, nsbeta2+. Revert percentage width calculations to the way they used to be, except for floats with auto widths. code=buster r=me 2000-06-20 03:47:49 +00:00
pollmann%netscape.com
e75bf0612e Fixing Linux build bustage 2000-06-14 23:58:31 +00:00
buster%netscape.com
b5b8e94c24 fixed nsbeta2+ bugs 42138 35772 37657 38157 40283 35964
r=waterson, rods
2000-06-14 23:15:59 +00:00
buster%netscape.com
8b31c633a7 bugs 38396, 29429, 32471, 27390, 32581
errors in incremental calcuation of max-element-size and preferred-size
2000-05-14 04:56:25 +00:00
buster%netscape.com
fe02891c04 fixed bug 36022
r=troy (been holding this in my tree for a while)
2000-05-09 19:28:20 +00:00
buster%netscape.com
a57c2f071c fixed bugs 26952, 30944, 36022
r=troy
2000-05-09 05:08:02 +00:00
putterman%netscape.com
42e26161e8 Backing out troy's changes to fix various UI blocker bugs. 2000-04-24 22:15:55 +00:00
troy%netscape.com
3a947b0534 Slight performance improvement 2000-04-22 15:50:12 +00:00
buster%netscape.com
f40b76249a bug 588 (text justification) for Robert O'Callahan <roc+moz@cs.cmu.edu>
r=buster

bug 18545 ([FLOAT] Problem Centering <TABLE> with <DIV> tag)
r=troy

bugs 18827, 19579, 22327 24782, 26512, 30124, 31849, 32846 (floater behavior wrong)
The primary change here is to determine if a block is impacted by a floater, and if so
mark the block's lines dirty when appropriate.
r=troy

no bug number.  performance work.  reduced the size of some reflow data structures by
collapsing multiple fields into a single bit field.
r=troy
2000-04-17 14:40:46 +00:00
troy%netscape.com
02fc72b871 b=25223. Block code now does a better job of determing where the floater
should go before reflowing it
2000-01-29 00:47:33 +00:00
troy%netscape.com
7747fa57f1 b=22677. Fix for the part of the bug where the second table taht is relatively
positioned flashes when the window is resized
2000-01-26 03:44:36 +00:00
troy%netscape.com
f8bb168c8f b=22497. Changed ReflowBlock() to better calculate the x-offset where the
table will be positioned
2000-01-26 01:45:47 +00:00
troy%netscape.com
52a2b53bf4 Made sure to subtract top margin from available height when paginated 2000-01-18 15:39:38 +00:00
nisheeth%netscape.com
56525e3574 r=troy. Reflow commands are now coalesced by block and inline frames. This fixes bug 985 in which we now generate 6 reflow commands instead of 257. 2000-01-12 08:28:24 +00:00
troy%netscape.com
f08e81815b More work on getting block frames to incrementally update their
maximum width
2000-01-08 03:58:27 +00:00
troy%netscape.com
8791b810ba Added new #define NS_SHRINKWRAPWIDTH that specifies that a frame should
shrink wrap its width (paying attention to the maximum computed width). Mostly
complete implementation for block frames
2000-01-03 04:32:13 +00:00
troy%netscape.com
138fa22a88 Work-in-progress for having maximum width (needed by tables) be updated
incrementally
1999-12-30 04:15:45 +00:00
troy%netscape.com
85012ab550 Change to how overflow is handled for absolutely positioned elements.
We no longer use nsIAraeFrame and now it's folded into the overflow
area in the reflow metrics
1999-12-06 15:49:53 +00:00
tbogard%aol.net
af1ce8d410 Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc 1999-11-24 06:03:41 +00:00
troy%netscape.com
597b5f236b WillReflow/DidReflow changes and changes to the way view positioning
and sizing works
1999-11-19 15:33:29 +00:00
dmose%mozilla.org
5312eacf8c updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:40:37 +00:00
troy%netscape.com
a12c3d6c5d Folded reflow functions into nsIFrame and eliminated nsIFrameReflow and
nsIHTMLReflow. This saves 4 bytes per frame and cleans things up
1999-10-30 02:52:11 +00:00
troy%netscape.com
87afecabc0 Changed SetView/GetView to take an additional argument which is the
pres context
1999-10-26 04:44:41 +00:00
kipp%netscape.com
b10899223c r=troy; bug: 15153; fixed problem with style-change reflows not being propogated properly 1999-10-21 20:44:58 +00:00
kipp%netscape.com
2cd78b72d8 Fixed bug with bounds of line-box including side margins when it shouldn't (part of 12297) 1999-10-12 23:24:51 +00:00
kipp%netscape.com
eee4794fda Disabled (obsolete?) usage of MoveInSpaceManager 1999-09-15 00:26:10 +00:00
kipp%netscape.com
fb8c244c9f Fixed two incremental reflow bugs (12890) 1999-09-10 18:52:56 +00:00
kipp%netscape.com
74746dee38 Cache computed width so that during placement of the block we can see if auto margins need recomputing (bug #1164) 1999-08-27 21:47:04 +00:00
troy%netscape.com
c3e32b0b65 Added 'm' prefix to a couple more data members of nsHTMLReflowState struct 1999-07-20 03:51:46 +00:00
troy%netscape.com
155ed6816a Added 'm' prefix to some of the nsHTMLReflowState data members 1999-07-20 03:41:03 +00:00
kipp%netscape.com
f288f50964 Cleaned up some warnings; use some com-ptrs 1999-07-14 17:27:24 +00:00
troy%netscape.com
32acfc4441 Fix for bug #6630. Don't force the desired width to 0 for zero-height
frames, and don't have the document element frame shrink wrap
1999-06-26 03:21:49 +00:00
troy%netscape.com
42235c8acd Fix for bug #6947. Changed PlaceBlock() to also check the combined area height
when checking for a zero-height frame
1999-06-25 03:17:04 +00:00
kipp%netscape.com
4d0b684d27 Incomplete workaround for bug #5453 1999-05-10 22:28:04 +00:00
kipp%netscape.com
dd779c3a05 Updated a comment 1999-05-03 20:51:16 +00:00
kipp%netscape.com
747aed0e8c Switch to nsIPresContext*'s instead of nsIPresContext&'s 1999-04-20 00:27:08 +00:00
sfraser%netscape.com
e4b0d79daa Removal of nsSelectionRange, nsSelectionPoint, and fixing up resulting include problems. 1999-04-13 01:15:16 +00:00
kipp%netscape.com
b2a6cc42f1 Always init mMaxElementSize (bug 4836) - just in case 1999-04-10 17:32:04 +00:00
kipp%netscape.com
46e3aa5c2a Removed some debris; added ComputeCollapsedTopMargin method 1999-04-03 18:58:32 +00:00
kipp%netscape.com
bdbcc0f971 Removed compact margin hackery 1999-03-31 04:10:51 +00:00
kipp%netscape.com
ce880c5ca9 Collapse margins away for html paragraphs (bug #2589 and #2291); add is-html-paragraph method 1999-03-29 23:45:36 +00:00
kipp%netscape.com
318ec8ec90 Moved vertical margin application into here; implement top-margin collapsing logic 1999-03-27 01:22:45 +00:00
kipp%netscape.com
58160fc0ba Support compatability center/right align values for nav4 support 1999-03-25 03:48:51 +00:00
kipp%netscape.com
61d0494cbd Corrected some of the warning messages to reduce false alarms 1999-03-24 15:42:38 +00:00
kipp%netscape.com
524580850c Work around 3238 partially until we have a real solution 1999-03-22 20:45:26 +00:00
kipp%netscape.com
c025d190db switch to using CRAZY macros 1999-03-20 21:55:59 +00:00
kipp%netscape.com
1564a15bba Added some debugging help for tracking down max-element-size bugs 1999-03-20 19:38:50 +00:00
kipp%netscape.com
f24e15031a Added more bad-frame detection 1999-03-19 23:06:20 +00:00
kipp%netscape.com
c9067260be Spanked to collapse inline-reflow with line-layout into line-layout; fixed bugs #1278, #1990, #3527, #1670, etc. 1999-03-18 21:03:25 +00:00
kipp%netscape.com
b645ac630b Copy out computed combined area even when dealing with an zero height block; added some nasty logging messages for frames that don't set max-element-size 1999-03-08 19:25:03 +00:00
kipp%netscape.com
16b4103937 Minor tweaks to work better with computed values in html reflow state 1999-03-05 04:22:11 +00:00
troy%netscape.com
03c5c1f520 Changed GetNextInFlow() and GetPrevInFlow() to be pointer arguments and
not references
1999-02-24 04:48:08 +00:00
kipp%netscape.com
36c243cdc0 COMized nsIPresShell and nsIPresContext 1999-02-12 17:45:58 +00:00
troy%netscape.com
e9bbeeaa9b Changed GetFrameState() and GetFrameType() to use pointer arguments instead of
references
1999-02-10 04:17:06 +00:00
troy%netscape.com
c85f9efd2a Changed GetParent() to use ** instead of *& 1999-02-10 01:36:30 +00:00
troy%netscape.com
a1161339c0 Correction to how offsets are computed for relatively positioned elements 1999-01-22 04:12:03 +00:00
troy%netscape.com
7103b076b4 Changed nsHTMLReflowState to compute 'offsets' for relatively positioned
elements
1999-01-16 20:58:17 +00:00
troy%netscape.com
036e6852f2 Removed the content-parent frame pointer. Now we just have the one geometric
parent
1999-01-14 05:16:23 +00:00
troy%netscape.com
20fbd1e186 Added support for 'right' and 'bottom' properties. Changed to using a
nsStyleSides struct to hold all the offsets
1999-01-08 04:47:46 +00:00
kipp%netscape.com
98848b0634 Factor in margins into in-flow-bounds rect; update max-element-size to include the margins around the block element 1998-12-17 18:52:45 +00:00
kipp%netscape.com
dafa9178f7 Removed bogus null pointer check 1998-12-15 17:59:49 +00:00
troy%netscape.com
e0814be9c7 Changed inline and block reflow code to reset reflow state's isTopOfPage
data member based on whether IsAdjacentWithTop() is true
1998-12-12 17:59:30 +00:00
kipp%netscape.com
4d4668dca4 Slightly better handling of left/right block margins 1998-12-07 19:34:41 +00:00
kipp%netscape.com
a00a2855e8 Updated 1998-12-05 16:01:11 +00:00
kipp%netscape.com
5841a14537 new 1998-12-01 16:13:49 +00:00