69 Commits

Author SHA1 Message Date
dholbert%cs.stanford.edu
e5bef0ee1c Bug 408656: Make nsPositionedInlineFrame::NeedsView return true (to ensure that abs-positioned frames inside of it will get their views positioned)
r+sr=bz a=blocking1.9


git-svn-id: svn://10.0.0.236/trunk@242394 18797224-902f-48f8-a5cc-f745e15eee43
2008-01-05 02:11:20 +00:00
roc+%cs.cmu.edu
151722d42f Bug 397518. Wrap inline non-MathML children of MathML frames in anonymous blocks. r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@237645 18797224-902f-48f8-a5cc-f745e15eee43
2007-10-12 08:30:55 +00:00
tglek%mozilla.com
1b2f5bc689 Clean up prbool misuse in layout. bug 398312, r+sr+a=dbaron
git-svn-id: svn://10.0.0.236/trunk@237496 18797224-902f-48f8-a5cc-f745e15eee43
2007-10-10 00:00:06 +00:00
jwalden%mit.edu
ca9d80062e Bug 386801 - nsAbsoluteContainingBlock doesn't need to store a child list name; this shaves four bytes off nsViewportFrame, nsBlockFrame, and nsPositionedInlineFrame. r+sr+a=dbaron
git-svn-id: svn://10.0.0.236/trunk@231374 18797224-902f-48f8-a5cc-f745e15eee43
2007-08-02 22:44:36 +00:00
asqueella%gmail.com
e3a8e85fdf fix bug 388709 - "ASSERTION: Please remove this from the document properly: '!IsInDoc()'" with :after, floating :first-letter
Store the generated content as a nsCOMArray<nsIContent>* property on frames to make its clean-up on frame destruction less fragile.

r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@230686 18797224-902f-48f8-a5cc-f745e15eee43
2007-07-23 23:31:12 +00:00
dbaron%dbaron.org
4c4eee1f57 Don't propagate line layout in reflow state when we're not in the line. b=320502 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@226608 18797224-902f-48f8-a5cc-f745e15eee43
2007-05-18 06:04:04 +00:00
benjamin%smedbergs.us
7262cdad6d Bug 376636 - Building with gcc 4.3 and -pendatic fails due to extra semicolons, patch by Art Haas <ahaas@airmail.net>, rs=me
git-svn-id: svn://10.0.0.236/trunk@224885 18797224-902f-48f8-a5cc-f745e15eee43
2007-04-23 14:22:04 +00:00
roc+%cs.cmu.edu
469aea8977 Bug 368863. Reparent floats properly when placeholders move between inline continuations. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@224821 18797224-902f-48f8-a5cc-f745e15eee43
2007-04-21 00:42:58 +00:00
dbaron%dbaron.org
32d54152c9 Clean up IsFrameOfType methods to call their base class IsFrameOfType methods reliably. b=341326 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@220874 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-24 18:33:33 +00:00
asqueella%gmail.com
11bad405e3 bug 257868 - remove the nsIPresShell::SetAnonymousContentFor() API, make the frames store strong refs to the anonymous content instead. Decomtaminate nsIAnonymousContentCreator.
r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@220517 18797224-902f-48f8-a5cc-f745e15eee43
2007-02-18 17:34:09 +00:00
cvshook%sicking.cc
ccd1d6884d Kill remainders of ns(XBL|HTML|XUL|Layout)Atoms. r/sr=jst b=368128
git-svn-id: svn://10.0.0.236/trunk@219151 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-30 00:06:41 +00:00
dbaron%dbaron.org
c380d24c54 Combine the code that tests inlines for dependence on the containing block width in order to disable resize reflow optimizations, and add to that code things that shrink wrap (inline-block, inline-table, buttons, fieldsets). Also move the percentage-height tests out, and into InitResizeFlags. b=163504 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@219046 18797224-902f-48f8-a5cc-f745e15eee43
2007-01-27 18:40:26 +00:00
uriber%gmail.com
c0d1269952 Pull InsertFrames, AppendFrames, and RemoveFrames up from nsInlineFrame to nsContainerFrame. bug=198928 r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@217411 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-25 18:53:52 +00:00
dbaron%dbaron.org
1ca9f3f372 Bug 300030: Move intrinsic width computation out of nsIFrame::Reflow and into its own methods on nsIFrame. Replace reflow reasons, types, and commands with dirty bits/notifications. Thanks to bzbarsky for almost all of the HTML form controls (mozilla/layout/forms) changes, and many others for help testing and patching. For detailed commit logs, see REFLOW_YYYYMMDD_BRANCH, where YYYYMMDD is one of 20061031, 20060830, 20060603, 20060302, 20060119, 20051011, 20050804, 20050429, 20050315, 20050111, and 20041213.
git-svn-id: svn://10.0.0.236/trunk@216738 18797224-902f-48f8-a5cc-f745e15eee43
2006-12-08 05:38:33 +00:00
uriber%gmail.com
78cfa593e6 Refactor nsIFrame::PeekOfset to use iteration instead of recursion, plus some more related refactoring. bug=300131 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@209768 18797224-902f-48f8-a5cc-f745e15eee43
2006-09-11 20:43:01 +00:00
uriber%gmail.com
fcf4d1b5af Backing out bug 300131 until I figure out how to deal with the bustage.
git-svn-id: svn://10.0.0.236/trunk@209689 18797224-902f-48f8-a5cc-f745e15eee43
2006-09-11 08:03:28 +00:00
uriber%gmail.com
09e8c4f558 Refactor nsIFrame::PeekOfset to use iteration instead of recursion, and some related refactoring. bug=300131 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@209685 18797224-902f-48f8-a5cc-f745e15eee43
2006-09-11 06:39:56 +00:00
uriber%gmail.com
a84d95cf24 Create bidi embedding only around inline containers (with a specified direction), not around inline replaced elements. bug=169139 r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@206709 18797224-902f-48f8-a5cc-f745e15eee43
2006-08-07 07:40:28 +00:00
uriber%gmail.com
816ab1e15e Bug 328168: Horizontal paddings, borders and margins on multi-frame bidi inlines appear in the wrong places. Patch by Haamed Gheibi <gheibi@gmail.com>. r=roc+uriber, sr=roc.
git-svn-id: svn://10.0.0.236/trunk@199957 18797224-902f-48f8-a5cc-f745e15eee43
2006-06-15 08:16:23 +00:00
roc+%cs.cmu.edu
b6ebd9961d Bug 328926. Remove aPresContext parameter from nsIFrame::Destroy, nsIFrame::SetInitialChildList and nsIFrame::RemovedAsPrimaryFrame. patch by Marc Liddell, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@193976 18797224-902f-48f8-a5cc-f745e15eee43
2006-04-10 00:16:29 +00:00
dbaron%dbaron.org
b258ce85ca Single line comments to describe files (helpful in LXR)
git-svn-id: svn://10.0.0.236/trunk@193203 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-29 18:29:03 +00:00
roc+%cs.cmu.edu
140fbb3377 Bug 330934. Set a nsIFrame's stylecontext in its constructor, to ensure that there's always one available for GetPresContext() to use even if Init hasn't been called. Patch by Marc Liddell, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@193022 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-26 21:30:36 +00:00
pavlov%pavlov.net
b5c7a440ef backing out roc's patch for bug 328926 due to crash running tests on vc8 machines.
git-svn-id: svn://10.0.0.236/trunk@192407 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-15 06:43:36 +00:00
roc+%cs.cmu.edu
6e36f2c733 Bug 328926. Remove aPresContext parameter from Destroy and SetInitialChildList. patch by Marc Liddell, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@192399 18797224-902f-48f8-a5cc-f745e15eee43
2006-03-15 03:14:02 +00:00
roc+%cs.cmu.edu
df8627e29b Bug 317375. Reorganize frame painting and mouse event targeting around frame display lists. Some review from dbaron, lots of testing help from Martijn, Julien and others
git-svn-id: svn://10.0.0.236/trunk@188202 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-26 02:29:17 +00:00
cvshook%sicking.cc
d3d2e97d3b Bug 321294: Remove unused ReplaceFrame codepaths.
r/sr=roc


git-svn-id: svn://10.0.0.236/trunk@187266 18797224-902f-48f8-a5cc-f745e15eee43
2006-01-10 22:58:37 +00:00
roc+%cs.cmu.edu
c4e0410c6e Bug 313817. DeCOMtaminate more NS_New*Frame functions. r+sr=roc, patch by Marc Liddell
git-svn-id: svn://10.0.0.236/trunk@184129 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-04 02:38:33 +00:00
bzbarsky%mit.edu
2bea98552c Remove prescontext args for some nsIFrame methods
(Append/Insert/Remove/ReplaceFrames) and for some methods in table land.  Patch
by Vidar Braut Haarr <bugmail@q1n.org>, r+sr=bzbarsky


git-svn-id: svn://10.0.0.236/trunk@168894 18797224-902f-48f8-a5cc-f745e15eee43
2005-02-07 01:58:25 +00:00
roc+%cs.cmu.edu
05b0dbe26a Changing IsFrameEmpty to IsSelfEmpty as dbaron requested and I forgot to do before checking in.
git-svn-id: svn://10.0.0.236/trunk@165364 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-15 05:01:11 +00:00
roc+%cs.cmu.edu
7f490d3aac Bug 261064. Compute static absolute positions more accurately. Also, ensure that static absolutely positioned frames are moved when their placeholders move. Also, ensure that absolutely positioned frames positioned relative to the left or bottom edge of their container move when the container size changes. r+sr=dbaron (rubberstamp)
git-svn-id: svn://10.0.0.236/trunk@165349 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-14 20:22:58 +00:00
bryner%brianryner.com
865734bf2f Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc
git-svn-id: svn://10.0.0.236/trunk@160184 18797224-902f-48f8-a5cc-f745e15eee43
2004-07-31 23:15:21 +00:00
gerv%gerv.net
2ac510b678 Bug 236613: change to MPL/LGPL/GPL tri-license.
git-svn-id: svn://10.0.0.236/trunk@155068 18797224-902f-48f8-a5cc-f745e15eee43
2004-04-18 14:30:37 +00:00
roc+%cs.cmu.edu
35c266025d Bug 190735. deCOMtaminate nsIFrame::FirstChild and nsIFrame::GetAdditionalChildListName. r+sr=bz
git-svn-id: svn://10.0.0.236/trunk@151077 18797224-902f-48f8-a5cc-f745e15eee43
2004-01-09 14:20:53 +00:00
dbaron%dbaron.org
c53d72392a Clean up nsIFrame::IsEmpty signature and move towards making 'white-space' work on inlines. b=191699 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@149126 18797224-902f-48f8-a5cc-f745e15eee43
2003-11-10 23:36:06 +00:00
uid502
e56ed2443c Bug 190735. DeCOMtaminate nsIFrame::GetFrameType. r+sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@148665 18797224-902f-48f8-a5cc-f745e15eee43
2003-10-31 20:19:18 +00:00
sfraser%netscape.com
45ab59d272 Remove non-const kInlineFrameCID. r/sr=alecf. Bug 74803
git-svn-id: svn://10.0.0.236/trunk@138493 18797224-902f-48f8-a5cc-f745e15eee43
2003-02-26 01:16:40 +00:00
dbaron%dbaron.org
e6a2b29ebf Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst
git-svn-id: svn://10.0.0.236/trunk@138193 18797224-902f-48f8-a5cc-f745e15eee43
2003-02-22 15:34:38 +00:00
karnaze%netscape.com
8ece4a7c7a bug 179683 - implement printing of fixed positioned elemements, clean up ViewportFrame. sr=roc, r=bzbarsky.
git-svn-id: svn://10.0.0.236/trunk@136686 18797224-902f-48f8-a5cc-f745e15eee43
2003-01-20 18:04:34 +00:00
dbaron%fas.harvard.edu
10a7236c6a Correctly implement text-decoration in standards mode by drawing the underline on the element with the text-decoration property set. Refactor painting code a bit to avoid code duplication. Patch by Esben Mose Hansen <esben@oek.dk>, with paint refactoring and some other changes by dbaron. r=dbaron sr=bzbarsky b=1777
git-svn-id: svn://10.0.0.236/trunk@135099 18797224-902f-48f8-a5cc-f745e15eee43
2002-12-11 04:00:18 +00:00
bzbarsky%mit.edu
2e99df36cd Fix ReplaceChild() on positioned inlines to delegate to
nsAbsoluteContainingBlock.h.  Bug 176915, r=dbaron, sr=rbs


git-svn-id: svn://10.0.0.236/trunk@133620 18797224-902f-48f8-a5cc-f745e15eee43
2002-11-12 03:30:13 +00:00
aaronl%netscape.com
54113de18f Bug 160793. Active Accessibility: support broken images. r=kyle, sr=hewitt
git-svn-id: svn://10.0.0.236/trunk@126976 18797224-902f-48f8-a5cc-f745e15eee43
2002-08-10 07:59:44 +00:00
dbaron%fas.harvard.edu
7c4652cc16 Split strict mode into almost-standards and full-standards mode, where the only quirk in almost standards mode is the quirky inline box model. Remove previous fix for bug 151620. Tweak mode detection to use almost-standards for XHTML Transitional, HTML 4.01 transitional with system ID, and for IBM system DOCTYPE. b=153032 r=karnaze, bzbarsky, harishd sr=waterson
git-svn-id: svn://10.0.0.236/trunk@124017 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-25 21:16:17 +00:00
waterson%netscape.com
5bae3657e6 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
git-svn-id: svn://10.0.0.236/trunk@121265 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-10 18:22:41 +00:00
bzbarsky%mit.edu
068756d821 Use NS_LITERAL_STRING instead of NS_ConvertASCIItoUCS2 where possible
(i.e. where the string is a literal).  Bug 104159, r=jag, sr=alecf


git-svn-id: svn://10.0.0.236/trunk@107987 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-14 01:33:42 +00:00
dbaron%fas.harvard.edu
8b3489a026 Bug 86947:
Make the line list doubly linked and access it through a list class and iterators.
Stop recomputing margins on all of the children of each block in the reflow chain (which causes O(N^2) state recovery during incremental reflow).  Instead, add a second dirty bit to the lines and walk backwards through the line list to recompute vertical margins only when either dirty bit is set and the previous line was not reflowed.  Add nsIFrame::IsEmpty to identify frames through which margins collapse.
Fix O(N^2) propagation of float damage by maintaining a set of intervals damaged by floats (bug 61962) and be sure to damage the correct areas (bug 48138).
Introduce nsCollapsingMargin to do correct collapsing of combinations of positive and negative margins (bug 50142).
Clean up some odds and ends and fix another smaller O(N^2) problem in nsBlockFrame::AddFrames.
r=attinasi, rbs  sr=waterson


git-svn-id: svn://10.0.0.236/trunk@106224 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-25 01:08:40 +00:00
gerv%gerv.net
13afb6d0f9 Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089.
git-svn-id: svn://10.0.0.236/trunk@104119 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 20:14:13 +00:00
rbs%maths.uq.edu.au
d9c1a81f37 Shift frame-state bits in implementations to the 12 higher bits - bug 68411 r=karnaze sr=waterson
git-svn-id: svn://10.0.0.236/trunk@87805 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-23 12:42:12 +00:00
buster%netscape.com
f407725c66 bug 28811
r=karnaze
The problem was we were over-eager in optimizing away a resize reflow for lines
that contain %-aware children.  We were only looking at the first-level children
of a line, not all the children.  Now, we compute a bit for each inline container
based on it's children, true if any of them are %-aware wrt any width measurement.
We propogate this bit upwards to a bit on the line itself, and check this bit during reflow.


git-svn-id: svn://10.0.0.236/trunk@78755 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-11 20:46:44 +00:00
waterson%netscape.com
c607d4bc40 Bug 46693. Check to see if we CanContinueTextRun() while walking over the frames to FindNextText(). This revives the logic that I nuked when fixing 19051, and keeps you from trying to walk over <br> or other frames to erroneously continue a text run. r=akkana.
git-svn-id: svn://10.0.0.236/trunk@75085 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-28 22:29:28 +00:00
waterson%netscape.com
86cf521ec9 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
git-svn-id: svn://10.0.0.236/trunk@74887 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-27 05:16:08 +00:00