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
jst%netscape.com
b9772d48fe
Fixing bug 120899. Changing the NS_WARN_IF_FALSE() macro so that it can't be mis-used in optimized builds. This change makes the macro not usable in expressions that are supposed to be evaluated in release code since the macro now expands to nothing in non-debug builds. Also eliminate NS_VALIDATE which is equally mis-usable. r=dbaron@fas.harvard.edu, sr=brendan@mozilla.org
...
git-svn-id: svn://10.0.0.236/trunk@112678 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-24 09:20:51 +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
e1c9429f4f
Fix Mac debug build bustage. (Why don't we have a mac debug tinderbox?) b=86947
...
git-svn-id: svn://10.0.0.236/trunk@106280 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 20:19:32 +00:00
dbaron%fas.harvard.edu
be48c3eb66
Fixing AIX and OS/2 bustage by passing by value instead of by reference to operator== and operator!=.
...
git-svn-id: svn://10.0.0.236/trunk@106253 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 06:34:10 +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
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
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
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
dbaron%fas.harvard.edu
0e283e8c8c
Make destructors that exist only for MOZ_COUNT_DTOR be #ifdef NS_BUILD_REFCNT_LOGGING instead of #ifdef DEBUG so the leak stats on optimized builds are correct. r=waterson@netscape.com sr=brendan@mozilla.org b=62421
...
git-svn-id: svn://10.0.0.236/trunk@83772 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-16 18:56:06 +00:00
buster%netscape.com
f407725c66
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.
git-svn-id: svn://10.0.0.236/trunk@78755 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-11 20:46:44 +00:00
buster%netscape.com
342b94a380
bug 45152 (Typed text does not render in TextAreas with a horizontal scrollbar)
...
fixed by adding a flag in nsLineBox for the content of a line to mark it "forceInvalidate",
logic in nsLineLayout to set the line dirty for initial reflow of text frames,
and logic in block to check the new flag.
r=kin
git-svn-id: svn://10.0.0.236/trunk@77051 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-24 04:26:43 +00:00
anthonyd%netscape.com
8febe65f8c
warning fixes for linux. r: mjudge a: beppe
...
git-svn-id: svn://10.0.0.236/trunk@72446 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 22:28:10 +00:00
anthonyd%netscape.com
8e4f929fe8
avoiding confusion between line iterator between layout and navigation.
...
if you want a line iterator for navigation you must explicitly ask for one.
git-svn-id: svn://10.0.0.236/trunk@70013 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-16 08:11:14 +00:00
anthonyd%netscape.com
20e7680b7c
r:mjudge
...
fix for bug# 29785, keyboard navigation of tables in editor
not completely fixed, tables with row|column span do not navigate correctly
git-svn-id: svn://10.0.0.236/trunk@69124 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-11 01:04:39 +00:00
buster%netscape.com
bf63049426
bug 29595 (and others)
...
fixes layout of pages where a single line is impacted by 2 or more floaters
r=troy
git-svn-id: svn://10.0.0.236/trunk@63783 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-22 23:19:10 +00:00
troy%netscape.com
d4f29d1b5f
Now line boxes are allocated out of the pres shell arena. This reduces the
...
overhead of memory allocation, and it gets us recycling which speeds up
resize reflows
git-svn-id: svn://10.0.0.236/trunk@62680 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-12 03:00:51 +00:00
troy%netscape.com
7ecb959a88
More work on getting block frames to incrementally update their
...
maximum width
git-svn-id: svn://10.0.0.236/trunk@57170 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-08 03:58:27 +00:00
troy%netscape.com
a9936ebc11
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
git-svn-id: svn://10.0.0.236/trunk@56652 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-03 04:32:13 +00:00
troy%netscape.com
1fce58468f
Work-in-progress for having maximum width (needed by tables) be updated
...
incrementally
git-svn-id: svn://10.0.0.236/trunk@56615 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-30 04:15:45 +00:00
dmose%mozilla.org
92d791b7b0
updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
...
git-svn-id: svn://10.0.0.236/trunk@52908 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:40:37 +00:00
kipp%netscape.com
e4bab0a0e6
r=troy; Shrink block frames by 4 bytes per instance by making the overflow-lines instance variable a frame property
...
git-svn-id: svn://10.0.0.236/trunk@52613 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 23:42:52 +00:00
troy%netscape.com
3513334988
Moved a bunch of stuff out to a nsIFrameDebug interface
...
git-svn-id: svn://10.0.0.236/trunk@52427 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-01 22:12:45 +00:00
kipp%netscape.com
5f8b23824a
r=troy; api changes for 12958, 12760 and preperations for 17377
...
git-svn-id: svn://10.0.0.236/trunk@52214 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-29 14:35:36 +00:00
troy%netscape.com
bd46e7911f
Changed SetView/GetView to take an additional argument which is the
...
pres context
git-svn-id: svn://10.0.0.236/trunk@51822 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-26 04:44:41 +00:00
kipp%netscape.com
9c72c46de9
Fixed O(N^2) debug logic bug; speed up paint loop by avoiding painting too much now that we have combined-area (bug 7455, 12297)
...
git-svn-id: svn://10.0.0.236/trunk@51207 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-19 23:04:19 +00:00
kipp%netscape.com
18e9b9d2f5
r=troy; Reworked nsLineBox api to allow for reduced storage overhead; fixed bug 16252 while keeping bug 12709 fixed
...
git-svn-id: svn://10.0.0.236/trunk@50704 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-14 23:10:03 +00:00
kipp%netscape.com
28bd74e177
r=troy; Cleaned up line-box API (prep work for bug #12297 ; more coming); Support new line iterator API change ( #16176 )
...
git-svn-id: svn://10.0.0.236/trunk@50505 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-12 23:24:22 +00:00
kipp%netscape.com
e18af2d0ee
Cleanup moz-decl-counter usage and fix NS_LOG_ADDREF usage
...
git-svn-id: svn://10.0.0.236/trunk@50239 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-08 20:41:19 +00:00
troy%netscape.com
bd5ca95ced
Added SizeOf() handler for floater information maintained by the
...
line box
git-svn-id: svn://10.0.0.236/trunk@49644 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-02 02:51:03 +00:00
kipp%netscape.com
a293a6d95d
Fixed various incremental reflow bugs (1764,12890,1910,2222) and list bullet painting bug (10675,13599)
...
git-svn-id: svn://10.0.0.236/trunk@47481 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-15 00:28:10 +00:00
kipp%netscape.com
c9002f20df
Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot
...
git-svn-id: svn://10.0.0.236/trunk@45274 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-31 03:09:40 +00:00
troy%netscape.com
1604aaf744
Changed block frame code to cache the max element width. This enables
...
us to ask for the maxElementSize when doing an incremental reflow
git-svn-id: svn://10.0.0.236/trunk@44957 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-28 00:39:55 +00:00
kipp%netscape.com
5f104cccc6
Updated line iterator impl to match API in nsILineIterator
...
git-svn-id: svn://10.0.0.236/trunk@31355 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-13 00:54:28 +00:00
kipp%netscape.com
f92577dd6d
Beginnings of a line iterator
...
git-svn-id: svn://10.0.0.236/trunk@31002 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-10 22:28:49 +00:00
kipp%netscape.com
b72b7fde36
Added WasDirty for debugging incremental reflow
...
git-svn-id: svn://10.0.0.236/trunk@29551 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-27 22:12:53 +00:00
kipp%netscape.com
0a4bbc01a8
Tweaked FindLineContaining to return the index in the line where the frame is found
...
git-svn-id: svn://10.0.0.236/trunk@28328 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-20 21:52:22 +00:00
kipp%netscape.com
f1b35a08cf
Added first line support methods
...
git-svn-id: svn://10.0.0.236/trunk@28172 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-20 00:22:58 +00:00
kipp%netscape.com
f7b33a7782
Removed some debris
...
git-svn-id: svn://10.0.0.236/trunk@26155 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-03 18:57:51 +00:00
kipp%netscape.com
b759fd5fcf
Removed some cruft
...
git-svn-id: svn://10.0.0.236/trunk@25495 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-29 23:45:49 +00:00
kipp%netscape.com
aeeeb5bb86
Removed carried-out-top-margin
...
git-svn-id: svn://10.0.0.236/trunk@25296 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-27 01:24:24 +00:00
kipp%netscape.com
4e355995e6
Spanked away SizeOf methods and nsIListFilter
...
git-svn-id: svn://10.0.0.236/trunk@17895 18797224-902f-48f8-a5cc-f745e15eee43
1999-01-16 00:00:50 +00:00
kipp%netscape.com
59fd0fcd5b
Added set/get empty line methods (currently unused)
...
git-svn-id: svn://10.0.0.236/trunk@16587 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-17 18:54:40 +00:00
kipp%netscape.com
a7b5b1756b
#ifdef'd out the outside-children state methods
...
git-svn-id: svn://10.0.0.236/trunk@16386 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-15 00:16:21 +00:00
kipp%netscape.com
04bd3565f5
Updated
...
git-svn-id: svn://10.0.0.236/trunk@15839 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-05 16:01:11 +00:00
kipp%netscape.com
0bbef0f75e
new
...
git-svn-id: svn://10.0.0.236/trunk@15521 18797224-902f-48f8-a5cc-f745e15eee43
1998-12-01 16:13:49 +00:00