Граф коммитов

249 Коммитов

Автор SHA1 Сообщение Дата
dbaron%dbaron.org 57124d8115 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%fas.harvard.edu 28018a8db9 Reduce code size by using PaintSelf member function to paint background, border, and outline. b=184702 r+sr=roc 2002-12-23 22:05:47 +00:00
roc+%cs.cmu.edu 33ca73d3d7 Backing out fix for bug 170330... againr=dbaron 2002-12-22 05:40:51 +00:00
roc+%cs.cmu.edu a5a3f217d1 Bug 170330. Factor out overflowArea calculations and take into account overflow:hidden. Also improve calculations of clipping for invalidation in the view manager. r+sr=dbaron 2002-12-21 23:25:38 +00:00
dbaron%fas.harvard.edu 34a1e37f7e Correctly implement text-decoration in standards mode by drawing the underline on the element with the text-decoration property set. Refactor painting code a bit to avoid code duplication. Patch by Esben Mose Hansen <esben@oek.dk>, with paint refactoring and some other changes by dbaron. r=dbaron sr=bzbarsky b=1777 2002-12-11 04:00:18 +00:00
roc+%cs.cmu.edu eecdcab3d7 Backing out fix for bug 170330 due to Tp regression 2002-12-06 04:32:07 +00:00
roc+%cs.cmu.edu d399b683e9 Bug 170330. Factor out overflow area calculations and make them take account of overflow:hidden and outline properties. r=dbaron,sr=kin 2002-12-05 22:29:08 +00:00
karnaze%netscape.com 0f0042a430 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 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
dbaron%fas.harvard.edu f6b1702067 Consolidate all CSS pseudos and split them into three atom lists to distinguish between pseudo-classes, pseudo-elements, and fake-pseudo-elements used for anonymous boxes. b=147887 r,sr=roc,bz 2002-11-17 15:37:56 +00:00
bzbarsky%mit.edu 92d1146ffc Fix ReplaceChild() on positioned inlines to delegate to
nsAbsoluteContainingBlock.h.  Bug 176915, r=dbaron, sr=rbs
2002-11-12 03:30:13 +00:00
kyle.yuan%sun.com b9d7d687c2 Bug 177451 [Active Accessibility] implement support for <toolbar>
r=aaronl, sr=jst
Bug 177453 [Active Accessibility] implement support for <hr>
r=aaronl, sr=jst
Bug 177646 [Active Accessibility] implement support for <tooltip>
r=aaronl, sr=jst
2002-11-06 01:29:58 +00:00
karnaze%netscape.com e802c4dc50 bug 176030 - Make Destroy fix up prev/next-in-flow pointers. a=roc, sr=bzbarsky, r=bernd. 2002-10-30 15:33:36 +00:00
karnaze%netscape.com d71ccf1e46 bug 157915 - Use the parent of the continued frame when calling DeleteChildsNextInFlow. sr=kin, r=alexsavulov 2002-09-24 22:13:20 +00:00
karnaze%netscape.com 182417eb0a 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
roc+%cs.cmu.edu 1b93fe2b31 Bug 75121. Incrementally reflow absolute frames without doing a resize-reflow of the container. Patch by dbaron and roc. r=dbaron,r=roc,sr=kin 2002-09-24 11:43:48 +00:00
aaronl%netscape.com c8215a38ee Bug 160793. Active Accessibility: support broken images. r=kyle, sr=hewitt 2002-08-10 07:59:44 +00:00
kin%netscape.com ed80044910 Fix for bug 157055 (Text doesn't show up on Lycos mail front page (layout broken by focus))
Removed |!aReflowState.path->mReflowCommand| check from |if| condition for the first block that attempts to incrementally reflow the block's absolute children.

This was preventing us from properly reflowing an absolute positioned child or one its children when the current reflow path tree contained both a reflow command targeted at the block and one targeted at the aboslutely positioned child or one of its children. This check shouldn't be necessary since nsAbsoluteContainingBlock::IncrementalReflow() does the necessary checks to see if it really should reflow any of the absolute children.

r=karnaze@netscape.com,waterson@netscape.com  sr=dbaron@fas.harvard.edu   a=asa@mozilla.org
2002-07-29 04:19:15 +00:00
karnaze%netscape.com 669f9885af bug 154741 - use macros instead of NS_FRAME_COMPLETE, a=asa, sr=kin, r=alexsavulov. 2002-07-15 14:46:01 +00:00
dbaron%fas.harvard.edu e63a11c0e8 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 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
dbaron%fas.harvard.edu 7539122f8b Fix performance problem on home.netscape.com: Don't do full reflow of all absolutely positioned elements whose containing block is on the path to the target of an incremental reflow. b=146831 sr=waterson r=kin 2002-06-12 03:21:00 +00:00
karnaze%netscape.com 1faf4c0592 bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov. 2002-05-28 22:50:43 +00:00
shanjian%netscape.com 7f5900aa67 #142562 problem with <td align=right or align=center
We are observing langGroup in some place while ignor it in others. This patch
make all font metrics call consistent. nsIRenderingContext API is change to
make things neat.
r=rbs, sr=waterson
2002-05-24 20:11:14 +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
dbaron%fas.harvard.edu b350a0fd0f Remove |aForceUnique| parameter from style context resolving methods, and corresponding flag from nsStyleContext, since the only caller was ReResolveStyleContext (on the assumption that other callers used it). Allow ReResolveStyleContext to benefit from FindChildWithRules and allow it to re-resolve to the same tree even when called on the root style context. b=133821 r=attinasi sr=hyatt a=asa 2002-03-31 16:59:00 +00:00
attinasi%netscape.com bd64a22806 Patched topcrash sites: checking for null before deref. b=121444 r=kmcclusk sr=roc+moz a=asa (drivers) 2002-03-26 01:22:31 +00:00
kin%netscape.com 9b16927a2b Fix for bug 102615: After changing font color, backspacing
to a previous line does not let caret
                    update position

Modified RemoveFrame() so that it generates a reflow
command when removing a <br> from an inline with a next-in-flow.

r=dbaron@fas.harvard.edu  sr=attinasi@netscape.com  a=scc@mozilla.org
2002-03-20 01:44:43 +00:00
timeless%mac.com 61a97fd94a Bugzilla Bug 106386 rid source of these misspellings: persistant persistance priviledge protocal editting editted targetted targetting
r='s from many people. sr=jst
2001-12-23 23:23:41 +00:00
karnaze%netscape.com 436e1ac49e bug 103925 (2nd patch) - flag pixel rounding errors in display reflow debugging. sr=attinasi, r=bernd 2001-11-14 13:40:03 +00:00
bzbarsky%mit.edu f2ee8260a0 Use NS_LITERAL_STRING instead of NS_ConvertASCIItoUCS2 where possible
(i.e. where the string is a literal).  Bug 104159, r=jag, sr=alecf
2001-11-14 01:33:42 +00:00
karnaze%netscape.com e38dff73f8 bug 103925 - general reflow debugging capability. sr=attinasi, r=alexsavulov 2001-10-29 01:43:59 +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 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
erik%netscape.com 06d55ad850 bug 71370; author=simon@softel.co.il; r=attinasi; sr=erik; implement bidi
(bidirectional text) for languages such as Arabic and Hebrew; from IBM bidi
project; not part of build yet (due to #ifdef IBMBIDI)
2001-03-09 03:29:00 +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
buster%netscape.com 37e900a62c bug 28811
r=karnaze
The problem was we were over-eager in optimizing away a resize reflow for lines
that contain %-aware children.  We were only looking at the first-level children
of a line, not all the children.  Now, we compute a bit for each inline container
based on it's children, true if any of them are %-aware wrt any width measurement.
We propogate this bit upwards to a bit on the line itself, and check this bit during reflow.
2000-09-11 20:46:44 +00:00
waterson%netscape.com 4896ee6d33 Bug 46693. Check to see if we CanContinueTextRun() while walking over the frames to FindNextText(). This revives the logic that I nuked when fixing 19051, and keeps you from trying to walk over <br> or other frames to erroneously continue a text run. r=akkana. 2000-07-28 22:29:28 +00:00
waterson%netscape.com 9bd4266798 Bug 19051. Remove code that computed and maintained nsTextRun. Instead, compute 'next text' when required by crawling the frame tree in nsLineLayout::FindNextText(). r=roc+moz@cs.cmu.edu 2000-07-27 05:16:08 +00:00
rods%netscape.com 21de9f3e8a Add ifdef'ed Performance Reflow Counting code 2000-04-21 14:59:47 +00:00
buster%netscape.com 1c6eca645a bug 29595 (and others)
fixes layout of pages where a single line is impacted by 2 or more floaters
r=troy
2000-03-22 23:19:10 +00:00
troy%netscape.com de8e2bfb10 b=32192 r=buster@netscape.com Fixed a place where the code to lazily
set the parent pointer for child frames was missing on case
2000-03-22 04:06:37 +00:00
troy%netscape.com 3b124abc37 b=5588. Changed it so we lazily reparent the child frames on the overflow list
when it's our initial reflow
2000-03-12 03:14:11 +00:00
buster%netscape.com d2e420cfb4 fixed bug 24186 (well, fixed it enough for beta at least. see bug for details)
r=troy
2000-02-02 07:38:23 +00:00
troy%netscape.com 8a78d916a5 b=21657 a=chofmann@netscape.com Made "overflow list" a full fledged
child list and changed ReparentFrameView() to check it.
2000-01-22 01:16:50 +00:00
nisheeth%netscape.com 1af2ec200b r=troy. Changed block, inline, and text frames to call the parent's ReflowDirtyChild() method instead of generating reflow commands. 2000-01-19 03:58:05 +00:00
nisheeth%netscape.com 14ec803b33 r=troy. nsContainerFrame::ReflowDirtyChild() always generates a reflow command targeted at its child. nsInlineFrame::ReflowDirtyChild() always passes up the reflow request to its parent. nsBlockFrame::ReflowDirtyChild() no longer has code for checking whether its parent is an area frame. 2000-01-12 21:52:58 +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 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 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
hyatt%netscape.com de2eaede42 Implementing a generalized recycler and arena for all layout frames. Hoping to improve
bug #9489.  Should also definitely fix bug #15916. r=troy
1999-12-04 23:49:50 +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
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 1585a751fb Moved a bunch of stuff out to a nsIFrameDebug interface 1999-11-01 22:12:45 +00:00
kipp%netscape.com 3c7c76999f Disabled debug noise I accidently checked in (whoops!) 1999-11-01 15:31:04 +00:00
kipp%netscape.com 0a512d8393 r=troy; reworked the way that blocks inside of inline elements are handled. It's all in the frame construction code now (bugs 15999, 16737) 1999-11-01 15:24:57 +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
troy%netscape.com f5ba346bdc Removed 5 convenience functions from nsIFrame 1999-10-22 14:53:52 +00:00
troy%netscape.com 0959b411de r=kipp@netscape.com
Added API to get/set properties on frames. Also changed nsContainerFrame
to use a property to implement the frame overflow list. This saves 4 bytes
per container frames
1999-10-21 05:11:43 +00:00
kipp%netscape.com 87e08f98e9 Factored common code into a single method (UseComputedHeight) 1999-10-12 23:25:49 +00:00
troy%netscape.com 410a37f467 Added nsHTMLReflowState constructor that allows containing block width
and height to be specified. This is needed for relatively positioned
block elements
1999-09-16 14:33:19 +00:00
kipp%netscape.com 606ea6edd9 Cleaned up 1999-09-09 21:04:00 +00:00
peterl%netscape.com b5b37d859e added reparent style context 1999-09-03 23:35:41 +00:00
kipp%netscape.com 86e12ae621 Implement fix for bug #5821 as per dbaron's suggestion 1999-09-03 03:47:49 +00:00
kipp%netscape.com 7fe2679e86 Updated SizeOf methods to not waste space when doing a non-debug build 1999-09-01 01:02:16 +00:00
kipp%netscape.com f808fbb193 Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot 1999-08-31 03:09:40 +00:00
troy%netscape.com 8bf0fbd4a8 Fixed a place I had missed when converting over to the new reflow command
handling
1999-08-10 14:28:27 +00:00
troy%netscape.com 1f924dade3 Changed area frame code over to new reflow command handling 1999-07-24 02:37:45 +00:00
troy%netscape.com 7a5e4dbdb5 Renamed some nsFrameList member functions 1999-07-22 04:00:57 +00:00
troy%netscape.com c551fe3166 Renamed DeleteFrame() to Destroy() 1999-07-22 02:24:52 +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
kipp%netscape.com f7c32cc440 Clean up warnings 1999-07-14 17:28:45 +00:00
mcafee%netscape.com 327b3d366e Adding BeOS case. 1999-06-26 07:28:55 +00:00
kipp%netscape.com 4846f41f1f Reworked frame factory methods; fixed bug 4519 1999-05-11 22:03:29 +00:00
kipp%netscape.com 7ed24336d5 Support first letter reflow 1999-04-27 22:12:37 +00:00
troy%netscape.com 8904ab319a Changed nsPositionedInlineFrame::Reflow() to compute the desired size
by calling nsInlineReflow::Reflow() with a 'resize' reflow reason when
handling an incremental reflow of an absolutely positioned child element
1999-04-21 21:02:45 +00:00
kipp%netscape.com 116ecfb42a Added some (disabled) logging 1999-04-21 19:58:50 +00:00
troy%netscape.com 2b65a0bc20 Changed nsPositionedInlineFrame code to handle incremental reflow 1999-04-21 04:37:13 +00:00
troy%netscape.com b952773b92 Added GetFrameType() member function 1999-04-20 19:11:37 +00:00
troy%netscape.com 0f73d45160 Change to atoms 1999-04-20 18:22:28 +00:00
kipp%netscape.com 55f7b6edca Make build work on mac 1999-04-20 01:49:51 +00:00
kipp%netscape.com 04ad2a5b6f Added nsFirstLineFrame subclass; move class decl out to header file 1999-04-20 00:25:12 +00:00
troy%netscape.com bfd8240682 Work-in-progress for making relatively positioned inline-level elements a
container for absolutely positioned child elements
1999-04-19 19:10:15 +00:00
troy%netscape.com 68629094d7 Removed Join() function from nsFrameList, because we already has a version
of AppendFrames() that did the same exact thing
1999-04-13 00:06:17 +00:00
troy%netscape.com 238ac2da4a Added ReparentFrameView() and changed the block and inline code
to call it when pushing/pulling frames
1999-04-11 04:22:00 +00:00
kipp%netscape.com 4206c1a3b9 Fixed bug 4801 1999-04-10 17:32:46 +00:00
kipp%netscape.com d234006d93 Eliminate speculative-top-margin cruft; use new block reflow context API 1999-03-27 01:23:30 +00:00
kipp%netscape.com 01859e49b2 Undo partial fix for 3882 since its a bad fix 1999-03-26 00:40:37 +00:00
kipp%netscape.com 311978ea67 Support (ever so slightly better) anonymous block reflow by returning a zero sized inline frame when wrapping an anonymous block - partial fix for bug #3882 1999-03-25 03:50:34 +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 8e7baecb3e Handle removable of continued frames better (not 100% done) (bug #3262) 1999-03-16 19:36:24 +00:00
kipp%netscape.com a01e9afce4 Added a skid mark (disabled) 1999-03-08 19:26:09 +00:00
kipp%netscape.com d277629b94 use computed values from reflow state; made inline-reflow-state no longer isa html-reflow-state 1999-03-05 04:25:57 +00:00
kipp%netscape.com 59afd8abfb Removed ifdef'd out code 1999-02-26 19:22:20 +00:00
kipp%netscape.com c0c382d3c0 Removed move-out-of-flow code now that frame construction code does it; added code to avoid reflows when removing a placeholder frame 1999-02-26 17:08:20 +00:00
troy%netscape.com 3bdf672129 Removed nsIFrame::CreateContinuingFrame() 1999-02-25 05:31:15 +00:00