Commit Graph

495 Commits

Author SHA1 Message Date
Zack Weinberg
ca65e30e9c Bug 494117: Mechanically change 'ReParent' to 'Reparent' throughout the tree. r=bzbarsky 2010-04-01 23:07:43 -07:00
Timothy Nikkel
c452cc620f Bug 537645. When pulling frames try the overflow list before going to the next in flow. r=bzbarsky
--HG--
extra : rebase_source : 9fb2098251970e60c8f24da58519b62af7b051d1
2010-01-27 22:12:37 -06:00
Timothy Nikkel
6790bfd825 Bug 287088. Stop first-line styling from leaking into second and subsequent lines when a single element is split between first and second lines. r=roc
--HG--
extra : rebase_source : 0dcf9009a73d5f8082c09172f4ce6840be5e6c98
2009-12-22 17:42:45 -06:00
fantasai
3027a2127b Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05:00
Mats Palmgren
5dd29ee3eb Drain overflow frames when the last frame from principal child list is pulled. b=533379 r=bzbarsky 2009-12-18 10:02:26 +01:00
Robert O'Callahan
926cc0af8a Bug 534366. Make nsFirstLineFrame set InlineReflowState::mLineLayout correctly. r=dbaron 2009-12-16 09:08:59 +13:00
Boris Zbarsky
5132d64872 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-11 02:37:40 -05:00
Boris Zbarsky
8202b90f61 Backing out bug 525608 and bug 525952 2009-12-10 18:28:08 -08:00
Boris Zbarsky
6eb3c28de7 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-10 14:36:05 -08:00
Robert O'Callahan
132bf4d93d Bug 523468. Make sure we reflow the next line when content is pushed or pulled from an inline frame. r=dbaron 2009-10-27 14:43:56 +13:00
Boris Zbarsky
6dff446f0b Bug 501847 part 3. Make nsInlineFrame::SelfIsEmpty return false as needed for inlines that are part of an {ib} split, to avoid weird blank lines in the middle of {ib} splits. r=dbaron 2009-09-18 14:00:21 -04:00
Boris Zbarsky
64ec41f84d Bug 501847 part 2. Make various consumers deal with more than 2 inlines in an {ib} split. r=tn, sr=roc 2009-09-18 14:00:21 -04:00
Robert O'Callahan
c3e1864c33 Backed out changeset 9f5177a978ac 2009-10-27 21:46:18 +13:00
Robert O'Callahan
182a9bcb4b Bug 523468. Force next line to be reflowed whenever we push or pull children from an inline frame. r=dbaron 2009-10-27 14:43:56 +13:00
David Zbarsky
3d96b7b4a7 Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Mats Palmgren
2c137c2022 Bug 233463, patch 5 - Remove nsFrameList(nsIFrame*) ctor. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
c3fb633256 Bug 233463, patch 3 - Make Destroy/RemoveFrame() methods void and assert that the frame to remove is present. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
7a3be46e9e Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02:00
Zack Weinberg
d47e0f433b Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc 2009-09-12 17:49:24 +01:00
fantasai
1f4c53a304 Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc 2009-08-31 11:25:36 -07:00
fantasai
b2ea1d69bb Bug 492627 - Remove Placeholder Continuations [Part IV: Switch float layout APIs to pass float directly, without placeholder] r=roc 2009-08-31 11:25:35 -07:00
fantasai
87bc18b4e2 Bug 492627 - Remove Placeholder Continuations [Part III: Remove current float-splitting code.] r=roc 2009-08-31 11:25:35 -07:00
Boris Zbarsky
8f435d226b Backed out changeset 4aa19414e651 (bug 488249) to fix test orange.
--HG--
extra : rebase_source : ae1c0155ec32b0887eff27ded77c6ba2b37dda64
2009-08-24 20:51:57 -04:00
David Zbarsky
0aa6350041 Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Boris Zbarsky
2a08719d6b Bug 508050. Make sure to reparent views when pulling overflows from our prevsibling. r=roc 2009-08-10 10:54:22 -04:00
Boris Zbarsky
811394b5da Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
Boris Zbarsky
1ef12b64a7 Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky
cf7d0b6141 Bug 504221 part 5. Switch from GetFirstChild to GetChildList (returning an nsFrameList). For now, keep a GetFirstChild shim so callers don't have to be updated. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Boris Zbarsky
6f3f5929ed Bug 504221 part 3. Switch overflowFrames storage to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Boris Zbarsky
09eadb9ca6 Bug 505482. Make sure to not leave frames on overflow lists when we interrupt reflow. Also fixes bug 478527 and bug 496742. r=roc 2009-07-24 09:32:32 -04:00
Boris Zbarsky
30f1a769f0 Bug 492469. Better handling of end margins/borders/padding for frames that end up complete while having both fluid and fixed continuations. r+sr=dbaron 2009-05-13 12:38:58 -04:00
Boris Zbarsky
56ee16413d Bug 480452. Make {ib} splits behave the same way with regard to margins, borders, and padding as inline frames that just have a line-break happening inside them do. r+sr=dbaron 2009-05-11 22:04:58 -04:00
Jonathan Kew
68b13a1a71 Bug 475968. Eliminate NS_FRAME_OUTSIDE_CHILDREN flag, store small overflow areas cheaply within the frame. r+sr=roc 2009-04-06 12:31:50 +12:00
Robert O'Callahan
621cf847c5 Bug 472950. Restrict the lazy-parent-pointer optimization so it isn't used if we already have child frames. r=dbaron 2009-02-07 21:34:27 +13:00
Benjamin Smedberg
3498a5f86e Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.

--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
73a6fab34b Backed out changeset 4c4df6ed1b41 - Bug 396185 - Make nsIFrame not inherit from nsISupports due to mochitest failures... these appear to be crashes in nsGenericHTMLElement::GetEditorInternal. 2009-01-09 11:35:24 -05:00
Benjamin Smedberg
802d1a10c7 Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.
2008-11-05 14:25:30 -05:00
Mats Palmgren
2b490c6718 Fix the parent pointer for ::first-letter child frame next-in-flows. b=401042 r+sr=roc 2008-12-07 19:21:40 +01:00
Robert O'Callahan
311213e939 Bug 243519. Rework root element frame construction and the CanvasFrame so that the CanvasFrame is an abs-pos container and the root element frame can be positioned. r=fantasai,sr=dbaron 2008-09-08 20:13:17 +12:00
Robert O'Callahan
36e333a796 Backing out changesets 75919d3eb3d0 and 14ce7619e9c1 due to test failures 2008-09-07 00:35:20 +12:00
Robert O'Callahan
c2ca6a7204 Bug 243519. Rework root element frame construction and the CanvasFrame so that the CanvasFrame is an abs-pos container and the root element frame can be positioned. r=fantasai,sr=dbaron 2008-09-06 21:35:05 +12:00
Andrew Smith ext:(%2C%20Rob%20Arnold%20%3Ctellrob%40gmail.com%3E%2C%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
7d3343e0fa Implement css3 border-image property. (Bug 378217) r=vlad,dbaron,robarnold 2008-07-16 23:30:25 -07:00
L. David Baron
86c186dbd8 Backed out changeset 9b0b2391485c due to linker errors related to nsStyleStructInlines.h not being included enough. 2008-07-16 22:59:14 -07:00
Andrew Smith ext:(%2C%20Rob%20Arnold%20%3Ctellrob%40gmail.com%3E%2C%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
269c2d355a Implement css3 border-image property. (Bug 378217) r=vlad,dbaron,robarnold 2008-07-16 22:18:38 -07:00
Karuna (karunasagark@gmail.com)
0eb449dd2a Bug 409331. Instead of QIing to nsBlockFrame in various places, call an nsLayoutUtils method to do it. r+sr=roc 2008-07-14 10:10:23 +12:00
masayuki@d-toybox.com
dfeff6fa58 Bug 417014 Need blacklist system for underline offset adjusting of CJK fonts which have wrong underline offset r=roc+stuart, sr=roc, b1.9=stuart 2008-03-12 19:36:58 -07:00
dbaron@dbaron.org
0d8b560733 Fix the weird Get* API on nsStyleSides in favor of returning structs by value, to avoid further occurrences of bug 420069. b=420069 r+sr=roc a=beltzner 2008-03-05 16:05:26 -08:00
masayuki@d-toybox.com
6e2677d193 Bug 392785 overflowed underline sometimes is not repainted at scrolling r+sr=roc b1.9=dbaron 2008-02-16 07:31:27 -08:00
dbaron@dbaron.org
5553e72c54 Remove unused height output from nsLineLayout::EndSpan. b=407086 r+sr=roc a=dsicore 2007-12-12 13:51:18 -08:00
dbaron@dbaron.org
37d5bc4b46 Remove some code that handles unconstrained widths (and fix nsFirstLetterFrame not to pass them). b=407086 r+sr=roc a=dsicore 2007-12-12 13:51:00 -08:00
roc+@cs.cmu.edu
96732f1829 Bug 405577. Allow available width to go negative for inlines/text, so we can tell whether zero-width content fits or not. Also allow textframes to honour a forced break at the end of the text. r+sr=dbaron 2007-12-05 17:24:03 -08:00
dmose@mozilla.org
4ef13d4907 Backing out fix for bug 392785 as per roc + mconnor. 2007-12-04 15:32:08 -08:00
masayuki@d-toybox.com
7fc09046f2 Bug 392785 overflowed underline sometimes is not repainted at scrolling r+sr=roc, b1.9=dbaron 2007-12-02 22:51:57 -08:00
roc+@cs.cmu.edu
036806699a Bug 397518. Wrap inline non-MathML children of MathML frames in anonymous blocks. r+sr=bzbarsky 2007-10-12 01:30:54 -07:00
fantasai.cvs@inkedblade.net
c5bd5dcc84 fix use of DEBUG-only data member, bug=154892 r+sr+a=roc 2007-10-02 01:29:23 -07:00
fantasai.cvs@inkedblade.net
404e205908 paginate absolutely-positioned elements, b=154892 r+sr=roc a=roc 2007-10-01 22:57:45 -07:00
masayuki@d-toybox.com
a20d56bd8d Bug 392252 need new APIs for converting AppUnits to gfx usable pixels r=sharparrow1, sr+a=roc 2007-08-22 04:13:46 -07:00
masayuki@d-toybox.com
e2f6a778c9 Bug 365414 overflowed decoration lines are not erased/painted r+sr=roc 2007-08-14 09:39:54 -07:00
jwalden@mit.edu
bf1a450729 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 2007-08-02 15:44:36 -07:00
roc+@cs.cmu.edu
a28eeaaafd Bug 379349. Add support for 'overflow containers' --- special frame continuations that do not map any content of their own, but serve only as containers for laying out children that overflowed their parents' content height. patch by fantasai, r+sr=eli,roc 2007-07-25 21:03:29 -07:00
asqueella@gmail.com
2604465594 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
2007-07-23 16:31:11 -07:00
roc+@cs.cmu.edu
6088c2756c Bug 346405. Handle reparenting of empty float lists. r+sr=dbaron 2007-07-18 21:32:08 -07:00
jwalden@mit.edu
6d7584839a Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros. 2007-07-08 00:08:04 -07:00
mats.palmgren@bredband.net
42a227c78a Cleanup implementations of QueryInterface. b=385750 r+sr=dbaron r+sr=jst 2007-07-03 19:15:31 -07:00
dbaron@dbaron.org
1865808f7c Remove now-unneeded checks for eStyleUnit_Null. b=379741 r+sr=bzbarsky 2007-05-10 23:02:31 -07:00
dbaron@dbaron.org
1b3b67a38d Remove special handling of empty continuations, which should no longer be needed. b=238473 Based on patch by Hideo Saito <saito@densan.co.jp>. r=dbaron sr=roc 2007-05-05 10:06:04 -07:00
bzbarsky@mit.edu
073d7a78a6 Make computed style handle eStyleUnit_Chars. Bug 371043, r+sr=dbaron 2007-05-04 23:09:50 -07:00
roc+@cs.cmu.edu
31b42ee9c8 Bug 368863. Reparent floats properly when placeholders move between inline continuations. r+sr=dbaron 2007-04-20 17:42:58 -07:00
bzbarsky%mit.edu
7937c593e8 Make sure to handle creation of a new continuation of the first-letter frame
even if we pulled the first-letter frame from our next-in-flow.  Bug 372553,
r+sr=roc.
2007-03-05 00:15:46 +00:00
dbaron%dbaron.org
9d7f938b99 Clean up IsFrameOfType methods to call their base class IsFrameOfType methods reliably. b=341326 r+sr=roc 2007-02-24 18:33:33 +00:00
asqueella%gmail.com
284a5ea424 bug 257868 - remove the nsIPresShell::SetAnonymousContentFor() API, make the frames store strong refs to the anonymous content instead. Decomtaminate nsIAnonymousContentCreator.
r+sr=roc
2007-02-18 17:34:09 +00:00
cvshook%sicking.cc
a39ff30284 Kill remainders of ns(XBL|HTML|XUL|Layout)Atoms. r/sr=jst b=368128 2007-01-30 00:06:41 +00:00
dbaron%dbaron.org
0e9e52586a 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 2007-01-27 18:40:26 +00:00
dbaron%dbaron.org
f6245f0ed9 Change the bulk of ascent (baseline) computation to happen on a virtual method on nsIFrame, and remove the redundant descent member from nsHTMLReflowMetrics, primarily to support having both first-line and last-line baselines. b=367332 r+sr=roc 2007-01-23 04:06:56 +00:00
roc+%cs.cmu.edu
7790a961e0 Bug 333659. Relanding nsLineLayout API changes for new text code. r+sr=dbaron 2007-01-18 01:20:09 +00:00
roc+%cs.cmu.edu
49502dd9e1 Backout of nsLineLayout changes; trying to fix luna orange 2007-01-17 06:27:01 +00:00
roc+%cs.cmu.edu
e8d2197c1a Bug 333659. Relanding new nsLineLayout API to make in-first-line-frame and current-nsLineBox available; should not affect anything. r+sr=dbaron 2007-01-17 03:59:32 +00:00
roc+%cs.cmu.edu
7268a1957b Backing out text landing. 2007-01-16 22:25:20 +00:00
roc+%cs.cmu.edu
e6bad38abe Bug 333659. Landing new text interfaces, new gfxPangoTextRun (enabled), new textframe code (disabled). r+sr=dbaron for the part-of-the-build layout parts,r=stuart for the part-of-the-build gfx parts 2007-01-16 20:51:52 +00:00
timeless%mozdev.org
4e651390ef Bug 355300 There should be only one nsGkAtoms creature
r=dbaron
2006-12-26 17:47:52 +00:00
uriber%gmail.com
eb9a23855e Pull InsertFrames, AppendFrames, and RemoveFrames up from nsInlineFrame to nsContainerFrame. bug=198928 r+sr=dbaron 2006-12-25 18:53:52 +00:00
roc+%cs.cmu.edu
4e9aee59fe Bug 363813. Always reset parent pointers when pulling an inline frame's overflow back into its main child list. r+sr=dbaron 2006-12-21 19:59:30 +00:00
dbaron%dbaron.org
31f1898810 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. 2006-12-08 05:38:33 +00:00
roc+%cs.cmu.edu
899128e82a Bug 343445. Change inline reflow strategy to avoid looking ahead through words while measuring text. r+sr=dbaron 2006-10-19 01:47:47 +00:00
uriber%gmail.com
38c1e056e9 Refactor nsIFrame::PeekOfset to use iteration instead of recursion, plus some more related refactoring. bug=300131 r+sr=roc 2006-09-11 20:43:01 +00:00
uriber%gmail.com
0fa608ce5e Backing out bug 300131 until I figure out how to deal with the bustage. 2006-09-11 08:03:28 +00:00
uriber%gmail.com
95b377fc13 Refactor nsIFrame::PeekOfset to use iteration instead of recursion, and some related refactoring. bug=300131 r+sr=roc 2006-09-11 06:39:56 +00:00
uriber%gmail.com
e1041f44ef Create bidi embedding only around inline containers (with a specified direction), not around inline replaced elements. bug=169139 r+sr=bzbarsky 2006-08-07 07:40:28 +00:00
mats.palmgren%bredband.net
153ab238ca Fix crash when recreating <caption> frames. Add ASSERTIONs to detect similar frame construction errors in the future. b=341382 r+sr=bzbarsky 2006-06-29 02:32:36 +00:00
uriber%gmail.com
ab53025882 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. 2006-06-15 08:16:23 +00:00
cvshook%sicking.cc
d3ec0aa5c5 Bug 335911: Change nsIContent::IsContentOfType to nsINode::IsNodeOfType. r/sr=bz 2006-05-05 06:52:21 +00:00
aaronleventhal%moonset.net
fc7797defd Bug 326090. Expose <hr> as ROLE_SEPARATOR. Patch by Ming (Mike) Gao. r=aaronlev, sr=roc 2006-04-27 16:23:09 +00:00
roc+%cs.cmu.edu
d9cf8d8bf8 Bug 335140. Set 'force descend into' bit on frames and then leave it set until we're done with the display list ... then we can be sure of descending to frames whose container is not an ancestor of the placeholder. r=mrbkap 2006-04-27 02:45:03 +00:00
roc+%cs.cmu.edu
a7f03736a9 Bug 328926. Remove aPresContext parameter from nsIFrame::Destroy, nsIFrame::SetInitialChildList and nsIFrame::RemovedAsPrimaryFrame. patch by Marc Liddell, r+sr=roc 2006-04-10 00:16:29 +00:00
dbaron%dbaron.org
0e88f73bc6 Single line comments to describe files (helpful in LXR) 2006-03-29 18:29:03 +00:00
roc+%cs.cmu.edu
0a10a79f62 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 2006-03-26 21:30:36 +00:00
bzbarsky%mit.edu
4b74ae14f8 Fix crash bug 322348 by making ReParentStyleContext more sane. r+sr=dbaron 2006-03-16 01:30:38 +00:00
pavlov%pavlov.net
131e8794e2 backing out roc's patch for bug 328926 due to crash running tests on vc8 machines. 2006-03-15 06:43:36 +00:00
roc+%cs.cmu.edu
557b089a47 Bug 328926. Remove aPresContext parameter from Destroy and SetInitialChildList. patch by Marc Liddell, r+sr=roc 2006-03-15 03:14:02 +00:00
roc+%cs.cmu.edu
c2801ebbd7 Bug 328926. Remove aPresContext from nsIFrame::Init and nsIFrame::DidSetStyleContext. r+sr=roc, patch by Marc Liddell 2006-03-09 18:55:21 +00:00
uriber%gmail.com
c7032d59bb Bug 299065: Bidi resolution needs to split inlines in addition to text frames. r+sr=dbaron 2006-02-21 21:33:47 +00:00
roc+%cs.cmu.edu
77bca74243 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 2006-01-26 02:29:17 +00:00
cvshook%sicking.cc
7db01c8d27 Bug 321294: Remove unused ReplaceFrame codepaths.
r/sr=roc
2006-01-10 22:58:37 +00:00
timeless%mozdev.org
1c34e68034 Bug 106386 Correct misspellings in source code
patch by mats.palmgren@bredband.net r=dbaron sr=dbaron
2005-11-20 22:05:24 +00:00
roc+%cs.cmu.edu
520b30a7f7 Bug 313817. DeCOMtaminate more NS_New*Frame functions. r+sr=roc, patch by Marc Liddell 2005-11-04 02:38:33 +00:00
aaronleventhal%moonset.net
7f5deb9d69 Bug 308517. Crash when browse with images off and screen reader running. r+sr=bryner 2005-09-15 21:13:00 +00:00
dbaron%dbaron.org
8271626e99 Remove check for GECKO_USE_COMPUTED_HEIGHT environment variable. b=196270 r+sr=roc a=bsmedberg 2005-08-02 20:15:27 +00:00
bzbarsky%mit.edu
98844fbef4 Use the padding-edge as the absolute containing block when the containing block
is established by a relatively positioned inline.  CSS2.1 is being changed
accordingly.  Bug 300816, r+sr=dbaron, a=asa
2005-07-25 20:15:31 +00:00
bzbarsky%mit.edu
f6d31f1642 Actually address the review comments on bug 290377... r+sr=dbaron, a=asa 2005-04-30 05:16:21 +00:00
bzbarsky%mit.edu
e61e1e1935 Fix border width inheritance by keeping track of both the border width we'd
have if our style were not none/hidden and the actual computed border width.
Bug 290377, r+sr=dbaron, a=asa
2005-04-29 15:44:38 +00:00
roc+%cs.cmu.edu
9d58ac21a4 Bug 262403. Don't do a line break just because a float was broken across pages. Also, squash some assertions while printing. r+sr=dbaron 2005-03-24 01:15:07 +00:00
roc+%cs.cmu.edu
87c224f2cb Bug 263825. Make paginated floats work, and other fixes. r+sr=dbaron 2005-03-23 03:35:08 +00:00
bzbarsky%mit.edu
54d585f2af 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
2005-02-07 01:58:25 +00:00
roc+%cs.cmu.edu
b7dfbedd1f Changing IsFrameEmpty to IsSelfEmpty as dbaron requested and I forgot to do before checking in. 2004-11-15 05:01:11 +00:00
roc+%cs.cmu.edu
fbb67978a5 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) 2004-11-14 20:22:58 +00:00
roc+%cs.cmu.edu
44a2fd5b52 Bug 259032. DeCOMtaminate nsIFrame::GetNext/PrevInFlow. r+sr=roc, patch by Will Levine 2004-09-14 02:28:03 +00:00
roc+%cs.cmu.edu
51ea58fa47 Bug 252771. Recompute an inline frame's overflow area nearly from scratch in RelativePositionFrames, so we don't try to maintain it (and fail) during inline frame alignment. r+sr=dbaron 2004-08-25 13:03:28 +00:00
bryner%brianryner.com
5c02a6978c Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc 2004-07-31 23:15:21 +00:00
aaronleventhal%moonset.net
910e44a7d5 Bug 151375. Implement css2 outline (still called -moz-outline for now). Makes -moz-outline draw outside of the current frame. Improves appearance of focus outline. Lots of help from roc. r+sr=dbaron 2004-07-16 16:56:21 +00:00
aaronleventhal%moonset.net
692a414811 Backing out bug 151375 for now, because of scrolling regressions in HTML and XUL listboxes and comboboxes 2004-07-15 18:57:47 +00:00
aaronleventhal%moonset.net
be1b821056 Bug 151375. Implement css2 outline (still called -moz-outline for now). Makes -moz-outline draw outside of the current frame. Improves appearance of focus outline. Lots of help from roc. r+sr=dbaron 2004-07-14 21:58:34 +00:00
bzbarsky%mit.edu
d44c8e2932 Change mCBReflowState to mean the containing block of _this_ reflow state
instead of the containing block of kids.  Fix the containing block calculations
for various cases of absolutely positioned descendants of relatively positioned
inlines (eg make "right" and "bottom" work in those situations).  Bug 135082,
r+sr=dbaron
2004-04-24 17:56:23 +00:00
gerv%gerv.net
708b56cff4 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:30:37 +00:00
dbaron%dbaron.org
2a10660d41 Backing out my checkin from yesterday. b=199673 2004-03-10 17:13:39 +00:00
dbaron%dbaron.org
2ecaa27129 In almost-standards mode, standards-mode text decorations and quirks-mode inline box model have to interact -- so make standards-mode text-decorations (when text-decorations are present) cause the standards-mode inline box model. b=199673 r+sr=bzbarsky 2004-03-10 00:28:17 +00:00
roc+%cs.cmu.edu
b9b0fca290 Bug 235778. Overflow area of relatively positioned inlines must be preserved by line layout. r+sr=dbaron 2004-02-28 02:55:58 +00:00
bryner%brianryner.com
225298a99e Get rid of nsIFrameManager abstract interface to the frame manager. Bug 233972, r+sr=roc. 2004-02-23 21:29:06 +00:00
bryner%brianryner.com
08f53379c4 Continuing nsIPresContext deCOMtamination (bug 229371). Remove ReParentStyleContext - callers can call frame manager directly. Removed several unused setters. Inlined getters for default colors, font scaler, and focus ring width. Changed GetDefaultFont to return a const nsFont*. r+sr=dbaron. 2004-01-31 22:41:40 +00:00
bryner%brianryner.com
bc74f0b352 More nsIPresContext deCOMtamination (bug 229371). Removed GetBaseURL, rename GetMedium to Medium and inline it, remove virtual style resolution methods that forward to style set (callers will call style set methods directly). Removed PresContext parameter to StyleSet style resolution functions. r+sr=dbaron. 2004-01-28 00:18:22 +00:00
roc+%cs.cmu.edu
e7f165c614 Bug 190735. deCOMtaminate nsIFrame::FirstChild and nsIFrame::GetAdditionalChildListName. r+sr=bz 2004-01-09 14:20:53 +00:00
bryner%brianryner.com
d572bc76cf deCOMtaminate nsIPresContext::GetCompatibilityMode / SetCompatibilityMode (bug 229081). r+sr=bzbarsky. 2003-12-24 21:51:50 +00:00
jst%mozilla.jstenback.com
4183787fa9 Fixing bug 225837. DeCOMtaminating nsIContent more, making GetTag() return a weak raw pointer, and renaming GetTag() to Tag(), and making GetRangeList() return an const nsVoidArray*, and changing GetContentID() to return the id, and renaming it to ContentID(). r=jonas@sicking.cc, sr=bryner@brianryner.com. 2003-11-19 01:20:56 +00:00
bzbarsky%mit.edu
625796c41e Clarify when ReParentStyleContext should be called and remove more bogus style
parentage warnings.  Bug 217225, r+sr=dbaron
2003-11-13 04:31:04 +00:00
dbaron%dbaron.org
8856db0238 Clean up nsIFrame::IsEmpty signature and move towards making 'white-space' work on inlines. b=191699 r+sr=roc 2003-11-10 23:36:06 +00:00
uid502
d81619b4fa Bug 190735. DeCOMtaminate nsIFrame::GetFrameType. r+sr=bzbarsky 2003-10-31 20:19:18 +00:00
dbaron%dbaron.org
03e89d6c99 My review comments on roc's deCOMtamination patch. b=190735 r+sr=roc 2003-09-20 21:31:18 +00:00
roc+%cs.cmu.edu
5d55c4535e Ongoing deCOMtamination. r+sr=dbaron 2003-06-30 10:46:59 +00:00
caillon%returnzero.com
2df173e9c8 Bug 209087
Content interface out-parameters should use ptr-to-ptrs instead of ref-to-ptrs and some small deCOMtamination.
r+sr=jst@netscape.com
2003-06-13 20:10:01 +00:00
dbaron%dbaron.org
75ff60c62f Clean up API (and its callers) for getting style data: remove unneeded null checks and switch to new inline member functions (one for each struct) that return values. b=197205 r+sr=roc a=brendan 2003-05-15 03:42:21 +00:00
smontagu%netscape.com
d2e02afe6c Bug 170547 Caret is in the wrong place after deleting <LI>'s. r+sr=kin. 2003-04-23 00:24:24 +00:00
aaronl%netscape.com
8ac3b448d6 Bug 194977. Support <label> elements as ROLE_STATICTEXT like IE does, fix use of label name for controls when no form element. r=kyle, sr=henry 2003-03-06 18:50:39 +00:00
sfraser%netscape.com
defd631ba0 Remove non-const kInlineFrameCID. r/sr=alecf. Bug 74803 2003-02-26 01:16:40 +00:00
dbaron%dbaron.org
6dd68f3c64 Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst 2003-02-22 15:34:38 +00:00
bryner%netscape.com
e43f5a49fd Remove nsIStyleContext (bug 114713), r/sr=dbaron. Changed lots of methods to use nsStyleContext* or already_AddRefed<nsStyleContext> as return values, depending on whether a reference is returned. Turn on nsRefPtr (bug 104346), and change nsDerivedSafe to not declare AddRef and Release explicitly virtual, r=jag, sr=dbaron. 2003-02-22 00:32:13 +00:00
caillon%returnzero.com
d1da452d1f comment fixes r+sr=bzbarsky 2003-01-22 08:01:37 +00:00
karnaze%netscape.com
452b8a6153 bug 179683 - implement printing of fixed positioned elemements, clean up ViewportFrame. sr=roc, r=bzbarsky. 2003-01-20 18:04:34 +00:00
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%fas.harvard.edu
28018a8db9 Reduce code size by using PaintSelf member function to paint background, border, and outline. b=184702 r+sr=roc 2002-12-23 22:05:47 +00:00
roc+%cs.cmu.edu
33ca73d3d7 Backing out fix for bug 170330... againr=dbaron 2002-12-22 05:40:51 +00:00
roc+%cs.cmu.edu
a5a3f217d1 Bug 170330. Factor out overflowArea calculations and take into account overflow:hidden. Also improve calculations of clipping for invalidation in the view manager. r+sr=dbaron 2002-12-21 23:25:38 +00:00
dbaron%fas.harvard.edu
34a1e37f7e 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 2002-12-11 04:00:18 +00:00
roc+%cs.cmu.edu
eecdcab3d7 Backing out fix for bug 170330 due to Tp regression 2002-12-06 04:32:07 +00:00
roc+%cs.cmu.edu
d399b683e9 Bug 170330. Factor out overflow area calculations and make them take account of overflow:hidden and outline properties. r=dbaron,sr=kin 2002-12-05 22:29: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
d7be43384d Fix margin collapsing of margins other than the first child's top margin out of the top of a block. b=44242, 18206 r=roc (mostly) 2002-11-28 19:29:28 +00:00
dbaron%fas.harvard.edu
f6b1702067 Consolidate all CSS pseudos and split them into three atom lists to distinguish between pseudo-classes, pseudo-elements, and fake-pseudo-elements used for anonymous boxes. b=147887 r,sr=roc,bz 2002-11-17 15:37:56 +00:00
bzbarsky%mit.edu
92d1146ffc Fix ReplaceChild() on positioned inlines to delegate to
nsAbsoluteContainingBlock.h.  Bug 176915, r=dbaron, sr=rbs
2002-11-12 03:30:13 +00:00
kyle.yuan%sun.com
b9d7d687c2 Bug 177451 [Active Accessibility] implement support for <toolbar>
r=aaronl, sr=jst
Bug 177453 [Active Accessibility] implement support for <hr>
r=aaronl, sr=jst
Bug 177646 [Active Accessibility] implement support for <tooltip>
r=aaronl, sr=jst
2002-11-06 01:29:58 +00:00
karnaze%netscape.com
e802c4dc50 bug 176030 - Make Destroy fix up prev/next-in-flow pointers. a=roc, sr=bzbarsky, r=bernd. 2002-10-30 15:33:36 +00:00
karnaze%netscape.com
d71ccf1e46 bug 157915 - Use the parent of the continued frame when calling DeleteChildsNextInFlow. sr=kin, r=alexsavulov 2002-09-24 22:13:20 +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
roc+%cs.cmu.edu
1b93fe2b31 Bug 75121. Incrementally reflow absolute frames without doing a resize-reflow of the container. Patch by dbaron and roc. r=dbaron,r=roc,sr=kin 2002-09-24 11:43:48 +00:00
aaronl%netscape.com
c8215a38ee Bug 160793. Active Accessibility: support broken images. r=kyle, sr=hewitt 2002-08-10 07:59:44 +00:00
kin%netscape.com
ed80044910 Fix for bug 157055 (Text doesn't show up on Lycos mail front page (layout broken by focus))
Removed |!aReflowState.path->mReflowCommand| check from |if| condition for the first block that attempts to incrementally reflow the block's absolute children.

This was preventing us from properly reflowing an absolute positioned child or one its children when the current reflow path tree contained both a reflow command targeted at the block and one targeted at the aboslutely positioned child or one of its children. This check shouldn't be necessary since nsAbsoluteContainingBlock::IncrementalReflow() does the necessary checks to see if it really should reflow any of the absolute children.

r=karnaze@netscape.com,waterson@netscape.com  sr=dbaron@fas.harvard.edu   a=asa@mozilla.org
2002-07-29 04:19:15 +00:00
karnaze%netscape.com
669f9885af bug 154741 - use macros instead of NS_FRAME_COMPLETE, a=asa, sr=kin, r=alexsavulov. 2002-07-15 14:46:01 +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
d77603590f bug 148399 - fix places where patch in bug 145305 incorrectly changed checks for NS_FRAME_COMPLETE to use NS_FRAME_IS_NOT_COMPLETE macro. sr=kin, r=alexsavulov 2002-06-14 14:40:02 +00:00
dbaron%fas.harvard.edu
7539122f8b Fix performance problem on home.netscape.com: Don't do full reflow of all absolutely positioned elements whose containing block is on the path to the target of an incremental reflow. b=146831 sr=waterson r=kin 2002-06-12 03:21:00 +00:00
karnaze%netscape.com
1faf4c0592 bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov. 2002-05-28 22:50:43 +00:00
shanjian%netscape.com
7f5900aa67 #142562 problem with <td align=right or align=center
We are observing langGroup in some place while ignor it in others. This patch
make all font metrics call consistent. nsIRenderingContext API is change to
make things neat.
r=rbs, sr=waterson
2002-05-24 20:11:14 +00:00
jst%netscape.com
1075a3f80d Fixing bug 146034. Getting rid of nsHTMLIIDs.{h,cpp}. r=jfrancis@netscape.com, sr=rpotts@netscape.com 2002-05-23 00:00:34 +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
dbaron%fas.harvard.edu
b350a0fd0f Remove |aForceUnique| parameter from style context resolving methods, and corresponding flag from nsStyleContext, since the only caller was ReResolveStyleContext (on the assumption that other callers used it). Allow ReResolveStyleContext to benefit from FindChildWithRules and allow it to re-resolve to the same tree even when called on the root style context. b=133821 r=attinasi sr=hyatt a=asa 2002-03-31 16:59:00 +00:00
attinasi%netscape.com
bd64a22806 Patched topcrash sites: checking for null before deref. b=121444 r=kmcclusk sr=roc+moz a=asa (drivers) 2002-03-26 01:22:31 +00:00
kin%netscape.com
9b16927a2b Fix for bug 102615: After changing font color, backspacing
to a previous line does not let caret
                    update position

Modified RemoveFrame() so that it generates a reflow
command when removing a <br> from an inline with a next-in-flow.

r=dbaron@fas.harvard.edu  sr=attinasi@netscape.com  a=scc@mozilla.org
2002-03-20 01:44:43 +00:00
timeless%mac.com
61a97fd94a Bugzilla Bug 106386 rid source of these misspellings: persistant persistance priviledge protocal editting editted targetted targetting
r='s from many people. sr=jst
2001-12-23 23:23:41 +00:00
karnaze%netscape.com
436e1ac49e bug 103925 (2nd patch) - flag pixel rounding errors in display reflow debugging. sr=attinasi, r=bernd 2001-11-14 13:40:03 +00:00
bzbarsky%mit.edu
f2ee8260a0 Use NS_LITERAL_STRING instead of NS_ConvertASCIItoUCS2 where possible
(i.e. where the string is a literal).  Bug 104159, r=jag, sr=alecf
2001-11-14 01:33:42 +00:00
karnaze%netscape.com
e38dff73f8 bug 103925 - general reflow debugging capability. sr=attinasi, r=alexsavulov 2001-10-29 01:43:59 +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
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
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
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
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
waterson%netscape.com
4896ee6d33 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. 2000-07-28 22:29:28 +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
rods%netscape.com
21de9f3e8a Add ifdef'ed Performance Reflow Counting code 2000-04-21 14:59:47 +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
troy%netscape.com
de8e2bfb10 b=32192 r=buster@netscape.com Fixed a place where the code to lazily
set the parent pointer for child frames was missing on case
2000-03-22 04:06:37 +00:00
troy%netscape.com
3b124abc37 b=5588. Changed it so we lazily reparent the child frames on the overflow list
when it's our initial reflow
2000-03-12 03:14:11 +00:00
buster%netscape.com
d2e420cfb4 fixed bug 24186 (well, fixed it enough for beta at least. see bug for details)
r=troy
2000-02-02 07:38:23 +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
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
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
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
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