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%dbaron.org
1efc6d8e9d
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
a34c46af22
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
69151bc05f
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
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
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
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
kin%netscape.com
a1065ee389
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
b342f8f732
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
7054f14c18
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
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
8458aad931
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
1faf4c0592
bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov.
2002-05-28 22:50:43 +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
be96194eb0
Fix debug-only printf.
2002-05-07 14:07:53 +00:00
waterson%netscape.com
d572531e5b
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
4d89367b86
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
2b094e1eca
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
9b52d2d429
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
ea2236d67f
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
c92c1f3024
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
a293c9dc19
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
ec4c20b4ce
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
7100fcf0d0
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
cb4f2aea5c
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
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
7241191f29
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
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
dbaron%fas.harvard.edu
fc01a17366
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
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
waterson%netscape.com
6584908739
Bug 77414. Break nsBlockReflowState out into its own files. sr=attinasi
2001-05-01 04:22:57 +00:00
waterson%netscape.com
8f8aee371f
Remove everything but nsBlockReflowStat implementation, part 2. Not part of the build.
2001-05-01 03:43:41 +00:00
waterson%netscape.com
873a8472d6
Remove everything but nsBlockReflowStat implementation, part 1. Not part of the build.
2001-05-01 03:41:11 +00:00
waterson%netscape.com
cceb7520a4
Bug 76885. Removed redundant test from nsBlockFrame::ReflowDirtyChild(). sr=attinasi
2001-04-29 21:58:50 +00:00
waterson%netscape.com
31af8a6d5d
Bugs 76721, 76724. Remove vestigial |aDeltaY| argument from RecoverStateFrom() methods. Remove redundant implementation of GetAvailableSpace(). r=dbaron, sr=attinasi.
2001-04-28 02:34:58 +00:00
hyatt%netscape.com
8130400b54
Fix for 77002. reviewers=jst,waterson,hixie,shaver,brendan,pavlov
2001-04-25 19:52:49 +00:00
attinasi%netscape.com
d2b3403863
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
2001-04-09 23:13:31 +00:00
timeless%mac.com
e76ccfd647
fix Bug 70989 Clean up lots of "shadows" and other common warnings
...
r=peterv, jst, ducarroz, edburns. sr=jst, shaver
2001-03-21 05:32:22 +00:00
attinasi%netscape.com
6bec8d8990
b=70731 r=dcone sr=waterson - fixes crasher while printing
2001-03-14 06:45:41 +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
rods%netscape.com
1c8f290f5d
Don't paint blocks that shouldn't be painted when printing
...
Bug 67296 r=kmcclusk sr=attinasi
2001-03-08 02:46:44 +00:00
waterson%netscape.com
f5d1d74918
Bug 71181. Revert attinasi's changes for bug 70730.
2001-03-07 20:15:35 +00:00
attinasi%netscape.com
2026961bdd
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
2001-03-07 00:38:45 +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
waterson%netscape.com
e56d1fdbca
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
2001-02-07 04:05:59 +00:00
rbs%maths.uq.edu.au
c2377665ea
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
2001-02-06 04:42:31 +00:00
attinasi%netscape.com
248ec2e977
Floated list items are now handled correctly. b=32200, r=buster sr=waterson
2001-02-02 21:17:01 +00:00
dbaron%fas.harvard.edu
4745f05247
Checking back in change (rev. 3.410) that was mistakenly backed out (in rev. 3.411):
...
bug 13553 (Table doesn't render properly)
patch submitted by bernd.mielke@snafu.de
r=waterson
sr=buster
2001-01-28 17:00:19 +00:00
rods%netscape.com
99666eed8c
This checkin enables mozilla to support the printing of selection, the printing of page ranges, and
...
the printing of headers and footers.
Printing of selection is implemented by the frames figuring out if they are in the selection and painting
if they or not they they don't paint. This also only allows the printing of the first page of
selections, alothough it is well documented where this is implemeted so it can be removed.
Bugs 63426, 31218, 61075 r=dcone,kmcclusk,erik,buster sr=waterson
2001-01-27 14:09:34 +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
buster%netscape.com
86dd5878d5
bug 13553 (Table doesn't render properly)
...
patch submitted by bernd.mielke@snafu.de
r=waterson
sr=buster
2001-01-22 22:10:05 +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
caa9658024
Clean up easily fixed unnecessary includes and exports of implementation header files in layout. b=63766 r=jst@netscape.com sr=buster@netscape.com
2000-12-30 19:22:22 +00:00
heikki%netscape.com
eee8382134
Bug 59675, fixing uninitialized variables. r=jst, a=waterson.
2000-11-27 23:23:28 +00:00
buster%netscape.com
80047d0b98
My previous check-in had an important line accidentally commented out. This just re-enables that line. This fixes bug 58257
2000-10-30 04:48:53 +00:00
buster%netscape.com
509eed6a1e
accidentally checked this in with a debug flag turned on that wrote a bunch of output to stdout. turned off.
2000-10-30 04:10:44 +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
15150c7cfb
bug 57596 (crash caused by reframing XBL reparented explicit children)
...
fix by rickg
r=buster
a=waterson
2000-10-27 14:14:36 +00:00
buster%netscape.com
cd5b97553d
backed out my/waterson's potential fix for bug 43914
...
this fixes bug 56102
a=waterson
2000-10-12 20:30:43 +00:00
buster%netscape.com
13899dbffa
bug 29276 (text inside <label> tags within a table cell breaks out of table cell)
...
bug 1164 (ALIGN=MIDDLE and ALIGN=ABSMIDDLE values are not being supported)
bug 54119 (percentage (%) image (img) heights do nothing)
r=karnaze, rods, attinasi
a=waterson
2000-10-09 21:19:36 +00:00
mjudge%netscape.com
56c4834a21
fixing 34356. hack to get clickng before table working beta3+
2000-09-15 07:02:05 +00:00
buster%netscape.com
bb994f0ca7
bug 18445
...
r=karnaze
This bug fixes the way we treat placement of replaced inline elements when
they have display:block.
2000-09-15 06:20:07 +00:00
buster%netscape.com
11241fb485
bug 14280
...
nsTextTransformer.cpp.
I moved where we translate the nbsp to a (ascii 32 space character) until after the i18n routines are called, so they can properly account
for the space as non-breaking and therefore part of the first word in the block.
bug 39901 and 38396
nsHTMLImageLoader.*, nsImageFrame.cpp
I backed out the bad fix for 38396, and put in a new fix where I store a little state in the image loader flags for cases where the image
gets an unconstrained reflow and has %-based width. This does not handle %-based min-width or max-width, that would be a separate
bug that I'll file shortly. But this fixes the vast majority of real cases out there.
bug 18754
nsHRFrame.cpp, quirks.css, nsCSSFrameConstructor.cpp, last part of nsLineLayout.cpp
in quirks mode, I changed HR from a block element to a replaced inline element that acts like a block, using generated content to get
newlines before and after the HR. This isn't ideal, but it gets us backwards compatibility, and ian and dbaron have blessed the approach.
bug 50257
nsLineLayout.cpp
Did a couple of things in here:
* The actual fix is controlled by FIX_BUG_50257 #define symbol. This basically says that an break (BR) will always fit on a line.
A more general solution would probably be to round up to the nearest pixel, and if the thing is less than a pixel make it fit on a
line. This is a wimpier, safer solution.
* I noticed that the way we got the compatibility mode was way out of date, very wasteful. So I fixed that.
* I noticed that there were a bunch of redundant SetFlag calls. Since the flag variable is initialized to 0, setting a flag to 0 on a newly
created object is a waste.
nsBlockFrame.cpp -- just added a comment to some odd looking code, to make sure no one comes along later and breaks it
2000-09-11 21:15:02 +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
dbaron%fas.harvard.edu
acaf9688ee
Don't apply top margin to a block containing only floaters. Let it collapse through instead. b=44419
...
Only do the quirky fix for bug 37657 for tables, not all blocks. b=43086
r=buster@netscape.com
2000-09-04 21:44:48 +00:00
buster%netscape.com
a017796f68
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
2000-08-24 04:26:43 +00:00
rbs%maths.uq.edu.au
af8754b765
Enable the code to export the baseline out of the block frame code to support 'vertical-article: baseline' in table-cells. bug 10207. a:waterson@mozilla.org. was r:buster@netscape.com.
2000-07-28 09:18:15 +00:00
waterson%netscape.com
1a2ffa3da2
Bug 44709. Maintain renumbering depth on stack, instead of in a global. r=roc+moz@cs.cmu.edu
2000-07-28 09:02:34 +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
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
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
9665a1c5fa
fixed bug 41757
...
file also contains some debug only code (disabled), another bug fix (also disabled), the removal of
some obsolete code that was already #ifdef'd out, and a bunch of new comments
r=mjudge, waterson
2000-06-11 22:14:33 +00:00
rbs%maths.uq.edu.au
1a36f0816d
[#ifdef MOZ_MATHML: not yet part of default build]. Export the baseline out of the block frame code to support 'vertical-align: baseline' in table-cells. bug 10207. r:buster@netscape.com. a:waterson@mozilla.org
2000-06-05 08:24:18 +00:00
alecf%netscape.com
daadcd2c0d
fix #ifdefs to quiet output (speeds up display of complex tables like tinderbox and slashdot.org) - does not affect release builds
2000-06-04 09:44:08 +00:00
anthonyd%netscape.com
7ab436fd88
avoiding confusion between line iterator between layout and navigation.
...
if you want a line iterator for navigation you must explicitly ask for one.
2000-05-16 08:11:14 +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
mjudge%netscape.com
d12e670ad8
updating capture code
2000-05-14 03:41:25 +00:00
sspitzer%netscape.com
29549b8e39
fix crasher when clicking on a text area. bug #38897 .
2000-05-11 08:41:35 +00:00
mjudge%netscape.com
7bfafae7bc
need to check for independent selection to grab mousedown state. will change this to be implemented by selectioncontroller later
2000-05-11 04:50:16 +00:00
mjudge%netscape.com
55912eddb8
changing way we access caret. use the selection controller whenever possible. because it will make the caret do the right thing even when we have multiple selections accessing same caret.
2000-05-11 04:25:43 +00:00
buster%netscape.com
bc9197fc27
effectively removed area frame
...
work troy was holding in his tree
r=buster
also fixed bugs 26952, 30944, 36022
r=troy
2000-05-09 05:06:16 +00:00
mjudge%netscape.com
9fc3ea7f15
adjusting how we get nsIFrameSelection. maybe we can QI from SelectionController
2000-05-08 03:59:53 +00:00
troy%netscape.com
6b04c3b5fa
Reinstated clipping code which had been backed out because it caused
...
a problem for XUL layout. I added a workaround for the XUL problem
2000-04-25 04:43:11 +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
9b393faa48
Changes to bring clipping inline with upcoming CSS2 errata
2000-04-23 00:56:16 +00:00
rods%netscape.com
21de9f3e8a
Add ifdef'ed Performance Reflow Counting code
2000-04-21 14:59:47 +00:00
troy%netscape.com
a8143dd431
b=36202 Patch from roc+moz@cs.cmu.edu that makes sure we invalidate if
...
necessary when pulling up frames
2000-04-19 03:12:13 +00:00
buster%netscape.com
2ac349c74c
one line of debug code accidentally slipped in. Removed.
2000-04-17 15:03:55 +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
nisheeth%netscape.com
7b7f9d1021
Fix for bug 30958: Reflow commands are now processed asynchronously all the time. The semantics of the API for queuing and processing reflow commands has changed. Now, AppendReflowCommand() initiates an asynchronous reflow event and all reflow command processing happens when that event fires. It is no longer possible for consumers outside the presentation shell to call ProcessReflowCommands() synchronously. Because of this change, reflow locks are no longer needed and have been removed.
2000-04-17 07:13:57 +00:00
mjudge%netscape.com
5c4c46cd0d
table cell selection now shows up background. also small fix for nsBlockFrame to do the right thing for mouse capture.
2000-04-13 20:21:32 +00:00
mjudge%netscape.com
f0c0beb50c
fix for setcapture. passes events to the nsHTMLFrame's areaframe when events are trapped to a given frame's view.
2000-04-12 03:04:11 +00:00
jim_nance%yahoo.com
dc0e139673
Bug 33322 - Fix compiler warnings. Its been on n.p.m.builds for a few
...
days for module owners to comment on. r=troy@netscape.com
2000-03-30 03:21:26 +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
dbaron%fas.harvard.edu
87e19c9cef
Fix event targetting bugs by using paint layers in GetFrameForPoint, testing for visibility, and trying GetFrameForPoint on additional views if one fails. r=joki@netscape.com(, hyatt@netscape.com) b=12232,20051,21304,24474,26785, and remaining issues from 23161.
2000-03-22 02:43:08 +00:00
pierre%netscape.com
4d43de09aa
Fix 32199 (visibility:collapse is not being interpreted as hidden on block and inline level elements) and parts of 21701 (misuse of style attr mVisible).
In the following files, replacing disp->mVisible with disp->IsVisible() is a BUG FIX: nsBlockFrame, nsBulletFrame, nsHRFrame, nsHTMLContainerFrame, nsImageFrame, nsTextFrame.
In all the other files, replacing disp->mVisible with disp->IsVisible() or disp->IsVisibleOrCollapsed() is merely a SYNTACTICAL CHANGE. The respective owners will later review the use of IsVisibleOrCollapsed() and in some cases replace it with IsVisible(). See bug 21701.
2000-03-17 10:15:13 +00:00
troy%netscape.com
4f7d1e3f2a
b=24343 r=karnaze@netscape.com Changes so we properly lay out after changing
...
the font using the pref UI. Block and table code changed to handle
eReflowReason_StyleChange
2000-03-15 15:16:03 +00:00
troy%netscape.com
8a75ec0c9b
b=24506 r=buster@netscape.com When calculating the width of a block frame
...
and it's an unconstrained reflow, then make sure to include the right
margin
2000-03-14 04:03:33 +00:00
troy%netscape.com
6464eafc57
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
2000-03-12 03:00:51 +00:00
buster%netscape.com
6ad008c507
fixed bug 25510 and 28084
...
r=troy
a=jar
2000-02-22 22:06:19 +00:00
buster%netscape.com
72482e5f58
bug 27927
...
r=troy
2000-02-16 04:11:37 +00:00
buster%netscape.com
5665393ec2
continuing work on bug 25510
...
r=troy
2000-02-16 00:50:06 +00:00
dbaron%fas.harvard.edu
e0c71d1e53
Fix bug 15428 as suggested by VYV03354@nifty.ne.jp . Stop using 0 as the initial values for min and max of inline box contents so that lines that do not (vertically) contain their own baseline are sized correctly. Also, correctly size BR frames using their line-height (for strict-mode only).
...
Fix bugs 24186, 26996, and 26998 by reworking the quirks-mode line-height handling so that inline elements that do not have text as children (or meet a few other conditions that show the author wants real CSS support) will not increase the size of the line, but will be as close to their correct size as possible without enlarging the line. This fix includes emulation of the strange Nav4/IE quirk that a block's line-height is enforced on the first line of LI elements and the last line of LI, DD, and DT elements. Many of the changes are removing an earlier fix for 24186.
r=buster
2000-02-15 04:26:44 +00:00
buster%netscape.com
9c7df3bb31
bug 25510 r=troy
...
bug 26289 for roc+moz@cs.cmu.edu , r=buster
2000-02-14 01:52:22 +00:00
troy%netscape.com
a1ed8d02de
b=26727 r=jfrancis@netscape.com Changed MarkLineDirty() to always mark the
...
line dirty even if it also marks the preceding line dirty
2000-02-07 15:36:08 +00:00
pp%ludusdesign.com
58065dda04
Converting ::GetIID() into NS_GET_IID(). Bug #20232 . r=scc, r=mozbot
2000-02-02 22:24:56 +00:00
buster%netscape.com
c8545be1dd
fixing very minor compile-time error that only shows up if you have certain
...
debug flags set. r=none
2000-02-02 07:37:18 +00:00
troy%netscape.com
1b8d3a512b
b=25245. Fixed some problems in ReflowLine() when reflowing to incrementally
...
update the maximum width
2000-01-30 18:42:23 +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
6e02487370
b=25049. Fixed a problem with max-element-size not being calculated
...
correctly for a floated table
2000-01-28 03:12:30 +00:00
troy%netscape.com
db25894cff
b=24936, r=nisheeth@netscape.com Changed block code to set mNextRCFrame to
...
NULL after reflowing the frame, so if we reflow it again we don't think it's
an incremental reflow
2000-01-26 22:18:33 +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
attinasi%netscape.com
ece65524b5
Added ASSERTION and run-time check for SpaceManager before dereferencing it. r=rods,pierre
2000-01-18 15:36:36 +00:00
joki%netscape.com
a6880e49d9
Fix multiple event targetting bugs (23161, 10514, 13213, 16548, 19496, 12231) and reinstate the onchange event for text fields (bug 22472). r:rods
2000-01-18 15:17:31 +00:00
troy%netscape.com
ce72bfda3b
b=23388. Make sure mIsTopMarginRoot is set correctly in nsBlockReflowState
...
constructor
2000-01-13 02:05:31 +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
8407a2dc48
Removing the "ifndef XP_MAC" around the call to nsFrame::CreateAndPostReflowCommand(). The real problem, identified by Scott Putterman, was that the definition of this function was in a debug only section in nsFrame.cpp. He has moved the function out of the debug only section.
2000-01-12 17:43:18 +00:00
nisheeth%netscape.com
9523941284
Ifdef out the call to nsFrame::CreateAndPostReflowCommand() on the Mac build for now.
2000-01-12 10:41:15 +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
9d8d92a8f9
Fixed a problem with code that determined whether this was a beginning line.
...
It wasn't correctly handling the very first line in the block
2000-01-10 05:14:47 +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
540b3229d3
Reduced stack space by using PRPackedBool instead of PRBool
2000-01-04 02:59:35 +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
bfb7487d47
b=19198, a=chofmann. Fixed RecoverStateFrom() to use the update conbined area when
...
invalidating. This fixes a regression introduced in version 3.308
1999-12-09 21:40:37 +00:00
troy%netscape.com
63a9d6b36f
Removed code from PrepareChildIncrementalReflow() that was marking all lines
...
dirty if max-element-size was requested.
1999-12-08 02:05:51 +00:00
troy%netscape.com
d36f7cea02
b=16456. Removed some debug assertion code that was incorrect and caused
...
us to hit asserts when printing
1999-12-07 23:41:48 +00:00
sfraser%netscape.com
81b90d3598
#ifdef out a printf. r=none
1999-12-07 07:38:16 +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
troy%netscape.com
a19c2c4c87
Added XXX comment to remind me (and Chris) of a problem that needs to
...
be revisited
1999-12-01 04:50:26 +00:00
troy%netscape.com
6070918134
b=20286. Changed PlaceFloater() so that it repositions any views after
...
placing the frame
1999-11-30 05:09:08 +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
troy%netscape.com
2e7ee4874b
b=17546. Changed block frame code to save/restore space manager when create
...
a space manager, and changes button code to use the NS_BLOCK_SPACE_MGR flag
when creating the area frame
1999-11-11 06:00: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
kipp%netscape.com
ef6a9e0b86
r=troy; remove another 4 bytes from each block frame for a total of 10% today :-)
1999-11-03 00:42:12 +00:00
kipp%netscape.com
f6d66c6b92
r=troy; Shrink block frames by 4 bytes per instance by making the overflow-lines instance variable a frame property
1999-11-02 23:42:52 +00:00
kipp%netscape.com
c93281e841
r=troy; fixed bugs 2636 and 17636 - line layout issues for some more edge cases (nobr's with floaters in them) and handling of nbsp
1999-11-02 15:44:57 +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
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
kipp%netscape.com
1b94ea5410
r=troy; cleaned up resize reflow optimization logic and prepared it for fixing bug #17737 (not yet fixed!)
1999-10-29 14:34:53 +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
kipp%netscape.com
568331e355
r=troy; bugs: 15153, 13196; fixed problem with style-change reflows not being propogated properly; also fixed floating table reflow issues found in 13196 by storing floater max-element-size for later retrieval
1999-10-21 20:43:48 +00:00
kipp%netscape.com
a5c69dc5af
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)
1999-10-19 23:04:19 +00:00
kipp%netscape.com
6b86a5034c
r=troy; fixed bug 7093 by carefully pre-computed the collapsed top margin before reflowing the child block and then using that value to properly acquire the available space; In addition, I had to fix an incremental reflow bug associated with this problem
1999-10-15 23:35:10 +00:00
peterl%netscape.com
a6adfea707
Added namespace ID to the AttributeChanged notification
...
Part fo the fix for Bug 15153
r=troy
1999-10-15 23:16:45 +00:00
mjudge%netscape.com
385f949e66
oops. for got to check this in last time. bug number is 14795
1999-10-14 23:52:42 +00:00
kipp%netscape.com
ab0a40b009
r=troy; Reworked nsLineBox api to allow for reduced storage overhead; fixed bug 16252 while keeping bug 12709 fixed
1999-10-14 23:10:03 +00:00
mjudge%netscape.com
fc71fb36d1
bugs 15547,15645,13665,13277,5761, r=akkana,kin,hyatt. fixing selection bugs, keyboard navigation, triple clicking and drag scrolling.
1999-10-13 01:15:26 +00:00
kipp%netscape.com
d29d16b728
r=troy; Cleaned up line-box API (prep work for bug #12297 ; more coming); Support new line iterator API change ( #16176 )
1999-10-12 23:24:22 +00:00
troy%netscape.com
3b3ccb9cf7
Removed some dead code and moved some #if 0 code from the area frame
...
to the block frame. This completes the previous checkin
1999-10-08 04:45:12 +00:00
troy%netscape.com
72ee697f6c
Frame space reductions. r=kipp@netscape.com
...
Table cell frames and table caption frames now use block frames and not area
frames. This saves 24 bytes per frame instance
1999-10-08 04:32:46 +00:00
troy%netscape.com
cdf2c77595
Moved space manager to block frame and changed it the space manager is
...
temporary only during the reflow process
r=kipp@netscape.com
1999-10-06 22:05:23 +00:00
troy%netscape.com
6b808204e8
Added SizeOf() handler for floater information maintained by the
...
line box
1999-10-02 02:51:03 +00:00
troy%netscape.com
055ef7bf53
Fix for bug #15152 . Moved check for "no wrap" inside of loop. This fixes a
...
problem where blocks inside of blocks were not getting marked dirty
1999-09-29 05:09:19 +00:00
troy%netscape.com
7a30e821a3
Fix for bug #14959 . Made sure that lines with floaters are also marked
...
dirty
1999-09-27 20:53:05 +00:00
troy%netscape.com
84fdc7184f
Optimized PrepareResizeReflow() so it doesn't mark lines dirty if they don't need
...
to be reflowed
1999-09-25 16:50:45 +00:00
kipp%netscape.com
f76eb620df
Queue up a reflow command when yanking floaters so that cases like bug #11389 work properly
1999-09-22 00:58:58 +00:00
peterl%netscape.com
700674fb14
removed ReResolveStyleContext
1999-09-21 07:56:18 +00:00
troy%netscape.com
fef9b919ac
Fix for bug #14414 . Changed DoRemoveFrame() to invalidate the space taken
...
up by the line when deleting an empty line
1999-09-21 05:15:39 +00:00
kipp%netscape.com
b4262f0657
Reimplement TrimTrailingWhiteSpace
1999-09-21 00:13:50 +00:00
kipp%netscape.com
3d857842f7
Handle right aligned skipped floaters a little better
1999-09-18 00:20:48 +00:00
kipp%netscape.com
becb3704d9
Fixed various bugs including incremental list reflow (9742) and some table bugs with right floaters
1999-09-17 23:16:43 +00:00
kipp%netscape.com
666a8d9c00
Removed list item hack
1999-09-17 00:57:40 +00:00
kipp%netscape.com
f4124f6283
Fixed bugs 4572, 7400 and maybe 802
1999-09-16 19:56:36 +00:00
kipp%netscape.com
7a1b979fb6
Squished a memory leak
1999-09-15 20:38:09 +00:00
kipp%netscape.com
6488f7b26e
Fixed various incremental reflow bugs (1764,12890,1910,2222) and list bullet painting bug (10675,13599)
1999-09-15 00:28:10 +00:00
kipp%netscape.com
fb8c244c9f
Fixed two incremental reflow bugs (12890)
1999-09-10 18:52:56 +00:00
kipp%netscape.com
ed874d1439
Fixed infinite loop 12747
1999-09-09 20:53:32 +00:00
mjudge%netscape.com
ba4611bb7d
addiung selectable BRFrames. but brframes arent like images ect. they give you a collapsed range, collapsed to just "before" themselves. this will help editing immensely. this should also fix some mail news issues
1999-09-08 19:43:17 +00:00
peterl%netscape.com
b5b37d859e
added reparent style context
1999-09-03 23:35:41 +00:00
mjudge%netscape.com
3b3c9f8b30
oops infinite loop. need to break out if no frame is found.
1999-09-02 00:04:56 +00:00
mjudge%netscape.com
fa5d3c3459
new selection code for dead areas. this is much better, trust me. the block frame now will look at its best line and look for a spot to select. if it finds another block frame now, it will continue the process in a while loop. each time looking for best x and y area. this reuses the code located in GetNextPrevLine.
1999-09-01 21:40:16 +00:00
kipp%netscape.com
121e487001
Fixed to account for the overflow hidden value when computing the combined area (bug #2751 )
1999-09-01 20:57:37 +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
9f71d4027a
Tally up lineBox's and textRun's seperately
1999-08-31 04:32:13 +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
ea250c6886
Changed block frame code to cache the max element width. This enables
...
us to ask for the maxElementSize when doing an incremental reflow
1999-08-28 00:39:55 +00:00
kipp%netscape.com
e40963e370
Reduce stack size by allocating nsLineLayout objects from the heap when the frame tree depth gets too big (bug #10310 )
1999-08-27 21:45:37 +00:00
troy%netscape.com
a5ea47b596
Fix for bug #12444 . Made sure that for a "StyleChanged" reflow command we
...
invalidate our entire bounds
1999-08-25 23:15:36 +00:00
mjudge%netscape.com
5531d305c5
changes to allow selection in "dead" space between frames. still need work on "outside" and not in the window at all, but this is a very good chunk of the issue and it will solve many many bugs on my place. good for dogfood as well :)
1999-08-24 21:51:47 +00:00
rods%netscape.com
62ae1bfcf9
added PaintOutline to paint CSS outlines to paint method
1999-08-19 14:35:48 +00:00
troy%netscape.com
f901be20dc
Changed to table incremental reflow
1999-08-19 03:51:25 +00:00
troy%netscape.com
bc4ecda20c
Fixed compiler warning
1999-08-06 17:21:57 +00:00
troy%netscape.com
5e93e674c5
Fixed incremental painting problem
1999-08-01 16:50:52 +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
troy%netscape.com
155ed6816a
Added 'm' prefix to some of the nsHTMLReflowState data members
1999-07-20 03:41:03 +00:00
peterl%netscape.com
c35106c852
fix reresolve style context to iterate all child lists
1999-07-18 00:18:45 +00:00