464 Commits

Author SHA1 Message Date
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
dbaron%fas.harvard.edu
7bb7b59a69 Replace uses of overloaded |fputs| and most uses of |ns[C]String::ToCString|. b=104763 r=jag rs=scc
git-svn-id: svn://10.0.0.236/trunk@105460 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 03:53:44 +00:00
alexsavulov%netscape.com
ba9ff4582a fix for bug 45621 - added MarkDirty for procentage child in case of nowrap
blocks, consolidated the logic in nsBlockFrame::PrepareResizeReflow
sr= attinasi, r=dbaron


git-svn-id: svn://10.0.0.236/trunk@104835 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-08 21:51:48 +00:00
attinasi%netscape.com
b4a54fc96b Protection against null param for topcrash bug 100298. r=kmcclusk sr=kin
git-svn-id: svn://10.0.0.236/trunk@104480 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-03 00:01:04 +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
kin%netscape.com
dc40a11ac3 Fix for bug 89236: printing is producing crash
Modified nsBlockFrame::DrainOverflowLines() so
that it reparents any floater out-of-flow frames
and their views.

r=dbaron@fas.harvard.edu  sr=waterson@netscape.com  a=pdt


git-svn-id: svn://10.0.0.236/trunk@104107 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 13:59:23 +00:00
kin%netscape.com
ffd4f979fb Fix for bug #92215: [Table Printing] Mozilla crashes when printing the front page of slashdot
Modified nsBlockFrame::ReflowDirtyLines() so that it
removes any floaters on it's continuing frames list,
if they are on lines that are being pulled up.

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


git-svn-id: svn://10.0.0.236/trunk@103443 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-21 13:41:52 +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
karnaze%netscape.com
1540a4c12e bug 68998 - added extra param to Paint, PaintChild, PaintChildren used by tables in standard mode. sr=waterson, r=alexsavulov.
git-svn-id: svn://10.0.0.236/trunk@103193 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-19 12:35:19 +00:00
waterson%netscape.com
56661b67f2 Bug 97383. Include the float's max-element-width in computation of the line's max-element-width so that we're guaranteed to place content next to a left floater. Revert some of the NOWRAP changes that should no longer be necessary. r=dbaron, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@102761 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-11 22:17:21 +00:00
jst%netscape.com
2ec1ee65c2 Fixing bug 98828. Cache a few nsSpaceManager objects to avoid spending 43%cvs ci -m ! of the time spent in PresShell::ProcessReflowCommand() in new and delete. r=dbaron@fas.harvard.edu, sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@102715 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-11 00:55:05 +00:00
waterson%netscape.com
43c613727c 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
git-svn-id: svn://10.0.0.236/trunk@102321 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-05 20:27:19 +00:00
attinasi%netscape.com
dc345bf724 [Checkin for alexsavulov] Improvement on patch for bug 93363. Fix for layout problem where shrinkwrapping of floats ignores padding. b=95511 r=dbaron sr=attinasi a=roc+moz
git-svn-id: svn://10.0.0.236/trunk@101861 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-28 00:35:08 +00:00
hyatt%netscape.com
4f51638ef4 Fix for 95475. r=jag, sr=ben, a=dbaron
git-svn-id: svn://10.0.0.236/trunk@101788 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-25 02:01:08 +00:00
attinasi%netscape.com
01d2f5dc7e Checkin for AlexSavulov@netscape.com: fixes problem of block inside of a NOWRAP block causing incorrect sizing. b=93363, r=peterl sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@100962 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-14 00:08:08 +00:00
karnaze%netscape.com
76be7e8800 bug 80817 (checked in for alexsavulov) - removed table cell nowrap hack, repaired block nowrap. sr=waterson, r=karnaze.
git-svn-id: svn://10.0.0.236/trunk@100433 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-06 22:05:31 +00:00
mjudge%netscape.com
522605c07f 82993, 87662 fixes for caret going into generated content. adjusting the content snapping to the best X value not Y value for up/down clicking. This will not cause a problem with the different size text but it MAY cause a problem with inline positioned elements.
git-svn-id: svn://10.0.0.236/trunk@99609 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-19 23:32:07 +00:00
dbaron%fas.harvard.edu
890ce3eef5 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
git-svn-id: svn://10.0.0.236/trunk@99561 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-19 02:33:43 +00:00
dbaron%fas.harvard.edu
9359000a40 Header include dependency cleanup. b=64023 r=jag rs=brendan
git-svn-id: svn://10.0.0.236/trunk@99299 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-16 02:40:48 +00:00
waterson%netscape.com
531100df76 Bug 89533. Remove unused reflow command types. r=rbs, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@98916 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-09 22:44:07 +00:00
dbaron%fas.harvard.edu
d0e7b1d970 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
git-svn-id: svn://10.0.0.236/trunk@98602 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-04 02:00:05 +00:00
waterson%netscape.com
8ca8d5c6b5 Bug 87381. Remove extra dirty reflow when BRS_ISINLINEINCRREFLOW. r=rbs, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@98328 18797224-902f-48f8-a5cc-f745e15eee43
2001-06-29 23:30:05 +00:00
kin%netscape.com
ff9833b2eb Fix for bug #87133 Can't select last few lines of text in an Editor
Modified GetClosestLine() to include first (0) and last (n-1) line
in search if neccessary. Returned index should now be guaranteed to be
within 0 to n-1 when exiting main loop. Removed unused var and define,
added comments, and renamed countLines to numLines.

r=waterson@netscape.com,mjudge@netscape.com
sr=blizzard@mozilla.org
a=chofmann@netscape.com


git-svn-id: svn://10.0.0.236/trunk@97861 18797224-902f-48f8-a5cc-f745e15eee43
2001-06-25 14:06:19 +00:00
ftang%netscape.com
b5e1e05597 fix bug 84031. r=simon@softel.co.il sr=kin a=blizzard
fix GetBidiProperty


git-svn-id: svn://10.0.0.236/trunk@97676 18797224-902f-48f8-a5cc-f745e15eee43
2001-06-21 12:35:48 +00:00
waterson%netscape.com
5b8a3675fa Bug 42138. Remove ancient, unused {ib} code that causes the browser to hang. We don't need to descend into inlines looking for list-item frames anymore, because inlines cannot contain them: frame construction makes sure of that. r=rbs, sr=attinasi, a=dbaron.
git-svn-id: svn://10.0.0.236/trunk@96603 18797224-902f-48f8-a5cc-f745e15eee43
2001-06-07 02:09:38 +00:00
hyatt%netscape.com
b7b1cb3691 Fix for 78695 (rule matching improvements). r/sr=attinasi, jst, waterson
git-svn-id: svn://10.0.0.236/trunk@96136 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-31 22:19:43 +00:00
waterson%netscape.com
e26708f220 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.
git-svn-id: svn://10.0.0.236/trunk@95630 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-21 23:03:46 +00:00
rbs%maths.uq.edu.au
d5d3b2a77b Correct a leaky code-path in my earlier check-in
git-svn-id: svn://10.0.0.236/trunk@95532 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-19 11:26:46 +00:00
rbs%maths.uq.edu.au
645dc9bd87 Change the place where the ascent is grabbed in the case where the first line is a block. Needed to fix bug=78389 r=waterson
git-svn-id: svn://10.0.0.236/trunk@95526 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-19 09:53:59 +00:00
dbaron%fas.harvard.edu
f620372b65 Fix typo that was causing some blocks within tables (and also some resize cases without tables) to be too wide. b=77920 r=waterson sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@95461 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-18 23:14:36 +00:00
rbs%maths.uq.edu.au
f7ba9f0ee1 Optimize the reflow of multiple break-after lines (e.g., avoid to unnecessarily reflow clean lines during plaintext editing in mailcompose or textarea). This is an iteration on waterson's earlier patch. b=43914 r=waterson sr=sfraser
git-svn-id: svn://10.0.0.236/trunk@95380 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-18 07:00:46 +00:00
waterson%netscape.com
5cf84f645b Bug 81118. Back out changes to bug 43914, which regressed jrgm's tests.
git-svn-id: svn://10.0.0.236/trunk@95139 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-16 15:51:17 +00:00
ftang%netscape.com
4cc3945877 fix bug 80552 r=ftang r/sr=jst
check in for simon@softel.co.il
change BidiEnable to GetBidiEnable


git-svn-id: svn://10.0.0.236/trunk@95132 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-16 13:40:08 +00:00
waterson%netscape.com
d754c56885 Bug 43914. Don't force-dirty line after break-after; be sure to dirty lines containing a modified frame's continuation. Should improve typing performance. r=dbaron, sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@95019 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-15 19:09:41 +00:00
mjudge%netscape.com
6b6fa0b353 62971 sr= hyatt r=kin/waterson fix for changing how we find the line given an event point
this will now do a binary search muuuch faster worst case than before


git-svn-id: svn://10.0.0.236/trunk@94613 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-11 08:04:29 +00:00
waterson%netscape.com
910bcb1705 Bug 76727. Remove redundancy from BRS_ISINLINEINCRREFLOW optimization; take advantage of existing control flow. Also, correct misc misspelling. r=rbs@maths.uq.edu.au; sr=attinasi@netscape.com
git-svn-id: svn://10.0.0.236/trunk@93820 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-03 20:11:50 +00:00
waterson%netscape.com
703780058e Bug 77414. Break nsBlockReflowState out into its own files. sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@93523 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-01 04:22:57 +00:00
waterson%netscape.com
6a681a7ce1 Bug 76885. Removed redundant test from nsBlockFrame::ReflowDirtyChild(). sr=attinasi
git-svn-id: svn://10.0.0.236/trunk@93432 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-29 21:58:50 +00:00
waterson%netscape.com
f387f03ec5 Bugs 76721, 76724. Remove vestigial |aDeltaY| argument from RecoverStateFrom() methods. Remove redundant implementation of GetAvailableSpace(). r=dbaron, sr=attinasi.
git-svn-id: svn://10.0.0.236/trunk@93358 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-28 02:34:58 +00:00
hyatt%netscape.com
c51a96b825 Fix for 77002. reviewers=jst,waterson,hixie,shaver,brendan,pavlov
git-svn-id: svn://10.0.0.236/trunk@93083 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-25 19:52:49 +00:00
attinasi%netscape.com
9c95f04cf8 Fixed some bad code that was updating list position incorrectly when going from outside to inside. b=59086, r=karnaze@netscape.com sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@91792 18797224-902f-48f8-a5cc-f745e15eee43
2001-04-09 23:13:31 +00:00
timeless%mac.com
534247895d fix Bug 70989 Clean up lots of "shadows" and other common warnings
r=peterv, jst, ducarroz, edburns. sr=jst, shaver


git-svn-id: svn://10.0.0.236/trunk@89986 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-21 05:32:22 +00:00
attinasi%netscape.com
056dac3c0b b=70731 r=dcone sr=waterson - fixes crasher while printing
git-svn-id: svn://10.0.0.236/trunk@89623 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-14 06:45:41 +00:00
erik%netscape.com
dc9f2947a7 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)


git-svn-id: svn://10.0.0.236/trunk@89069 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-09 03:29:00 +00:00
rods%netscape.com
8b5d71dc38 Don't paint blocks that shouldn't be painted when printing
Bug 67296 r=kmcclusk sr=attinasi


git-svn-id: svn://10.0.0.236/trunk@88901 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-08 02:46:44 +00:00
waterson%netscape.com
06336b484f Bug 71181. Revert attinasi's changes for bug 70730.
git-svn-id: svn://10.0.0.236/trunk@88831 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-07 20:15:35 +00:00
attinasi%netscape.com
35ec037877 Fix for printing crash when bulleted items have no bullet and we assume they do. Added assertion to help find the cause of the problem, and checks for null to prevent the crash. b=70730 r=dcone sr=waterson
git-svn-id: svn://10.0.0.236/trunk@88722 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-07 00:38:45 +00:00
pierre%netscape.com
8944a57fe0 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.
git-svn-id: svn://10.0.0.236/trunk@86533 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-07 09:57:26 +00:00
waterson%netscape.com
018d737816 Bug 67796. Don't update aMetrics.mMaximumWidth or .maxElementSize in ComputeFinalSize(): the maxElementSize computation was wrong, and it's not clear that the mMaximumWidth is safe to update here either. Patch from rbs@maths.uq.edu.au, r=waterson, sr=karnaze
git-svn-id: svn://10.0.0.236/trunk@86463 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-07 04:05:59 +00:00
rbs%maths.uq.edu.au
c31ecb5605 Fix for shift/jump/overlap in the incremental reflow of tables containing text-inputs and images. Bug 45562 and related dups. sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@86313 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-06 04:42:31 +00:00