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

459 Коммитов

Автор SHA1 Сообщение Дата
pierre%netscape.com 531ba68b54 #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 9430a92e06 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 95fbe00809 Bug 59675, fixing uninitialized variables. r=jst, a=waterson. 2000-11-27 23:23:28 +00:00
buster%netscape.com 65da9167e6 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 e150c12cce 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 4189314fdb 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 6e35f97e31 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 0517a6c948 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 4d8d54d12d 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 d11af5d076 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 41f6039492 fixing 34356. hack to get clickng before table working beta3+ 2000-09-15 07:02:05 +00:00
buster%netscape.com f87c8ffd34 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 4972e8aa20 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 ec30cf04f8 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 37748e21f8 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 311fc8f49e 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 9e52b965b9 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 44152e8eb2 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 7acb9494c4 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 ad42efa1f3 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 683cb37e34 fixed nsbeta2+ bugs 42138 35772 37657 38157 40283 35964
r=waterson, rods
2000-06-14 23:15:59 +00:00
buster%netscape.com 5045e5fae7 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 59a9466655 [#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 95f0dd93a8 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 9c012c0ecd 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 1a265a16b4 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 125f730b0b updating capture code 2000-05-14 03:41:25 +00:00
sspitzer%netscape.com b62c28c988 fix crasher when clicking on a text area. bug #38897. 2000-05-11 08:41:35 +00:00
mjudge%netscape.com 96a4bde93e 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 a89f9e3c80 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 4b232cf79f 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 9a80281cc8 adjusting how we get nsIFrameSelection. maybe we can QI from SelectionController 2000-05-08 03:59:53 +00:00
troy%netscape.com 8b0eb04e08 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 af52293cd0 Backing out troy's changes to fix various UI blocker bugs. 2000-04-24 22:15:55 +00:00
troy%netscape.com 73fc3dde30 Changes to bring clipping inline with upcoming CSS2 errata 2000-04-23 00:56:16 +00:00
rods%netscape.com 9d45d84767 Add ifdef'ed Performance Reflow Counting code 2000-04-21 14:59:47 +00:00
troy%netscape.com 47ea6dc9bd 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 a77bee1567 one line of debug code accidentally slipped in. Removed. 2000-04-17 15:03:55 +00:00
buster%netscape.com 2fd6bc2c33 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 ae1909623b 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 949cea5712 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 3ad06c4f40 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 005e33f06e 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 69807e3b4b 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 fd5dc605d2 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 4b5db8f52f 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 5386fb954a 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 9c0bc3c815 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 e08af64528 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 ef92b77d4d fixed bug 25510 and 28084
r=troy
a=jar
2000-02-22 22:06:19 +00:00
buster%netscape.com 8453813a13 bug 27927
r=troy
2000-02-16 04:11:37 +00:00
buster%netscape.com 00e6dbf1ef continuing work on bug 25510
r=troy
2000-02-16 00:50:06 +00:00
dbaron%fas.harvard.edu 7654eb97da 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 8402d07175 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 40b77daa44 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 43d7ba4273 Converting ::GetIID() into NS_GET_IID(). Bug #20232. r=scc, r=mozbot 2000-02-02 22:24:56 +00:00
buster%netscape.com 52bc94073f 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 9cb902de91 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 7c5823dbda 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 87f43adf5c 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 ccbec76759 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 73a3709284 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 762fd5b61c 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 195660d7fa 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 bb80e9df7d 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 0129f52c00 b=23388. Make sure mIsTopMarginRoot is set correctly in nsBlockReflowState
constructor
2000-01-13 02:05:31 +00:00
nisheeth%netscape.com 5bac2cf869 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 009325d72d 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 0bc4c0eb6c Ifdef out the call to nsFrame::CreateAndPostReflowCommand() on the Mac build for now. 2000-01-12 10:41:15 +00:00
nisheeth%netscape.com 409aee6ae9 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 1b8b3932a0 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 bd57e59030 More work on getting block frames to incrementally update their
maximum width
2000-01-08 03:58:27 +00:00
troy%netscape.com e1f277616c Reduced stack space by using PRPackedBool instead of PRBool 2000-01-04 02:59:35 +00:00
troy%netscape.com 1558ba3b1a 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 4ddb903853 Work-in-progress for having maximum width (needed by tables) be updated
incrementally
1999-12-30 04:15:45 +00:00
troy%netscape.com 9420612b5a 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 976a6ebb15 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 0864b57fe0 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 7a09644a3d #ifdef out a printf. r=none 1999-12-07 07:38:16 +00:00
troy%netscape.com 3c7966f705 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 16a944a1e3 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 c86aebb168 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 8d6fa574b2 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 a0640b60c4 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 fe56995443 WillReflow/DidReflow changes and changes to the way view positioning
and sizing works
1999-11-19 15:33:29 +00:00
troy%netscape.com e36c0c9d4c 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 42fc94a6ec 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 ec28ac0c5c 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 2bacd78cfe 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 d4c6233f05 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 04accb3de6 Moved a bunch of stuff out to a nsIFrameDebug interface 1999-11-01 22:12:45 +00:00
kipp%netscape.com 0699f8cc22 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 effb3aefb7 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 50dc6c6dba 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 a47e8db44b Changed SetView/GetView to take an additional argument which is the
pres context
1999-10-26 04:44:41 +00:00
troy%netscape.com 918255682c Removed 5 convenience functions from nsIFrame 1999-10-22 14:53:52 +00:00
kipp%netscape.com 3587210728 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 db2e83b3f1 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 88cf2d89c8 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 757c0b5f01 Added namespace ID to the AttributeChanged notification
Part fo the fix for Bug 15153
r=troy
1999-10-15 23:16:45 +00:00