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

614 Коммитов

Автор 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%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