Commit Graph

147 Commits

Author SHA1 Message Date
Robert O'Callahan
3bb8bad7c2 Bug 641426. Part 5: Avoid operator== where possible to distinguish between 'equal edges' and 'equal areas' for rectangles. r=dbaron,sr=cjones 2011-04-19 15:07:23 +12:00
Simon Montagu
d03542b94f Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
L. David Baron
0a3226e10a Make nsLineBox track two separate overflow areas. (Bug 542595, patch 6) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
Ehren Metcalfe
97778d4898 Bug 556446: Remove dead code in layout. r=roc,bz 2010-04-03 07:36:19 -04:00
fantasai
f76a01be55 Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05:00
fantasai
9e51dfaf9b Bug 508473 Part II: Remove DeletingFrameSubtree r=bz sr=roc 2009-12-24 00:20:41 -05:00
Boris Zbarsky
c8db27a7ab Bug 516742. Make RFindLineContaining walk backwards along the lines' frames too, not just along the lines. r=roc,fantasai 2009-10-02 12:31:43 -04:00
Timothy Nikkel
edd85a40ae Bug 514634. Remove unneeded second call to SetNextSibling, add some assertions, and fix a comment. r=fantasai 2009-09-11 10:26:30 +12:00
fantasai
138ed48e37 Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc 2009-08-31 11:25:36 -07:00
fantasai
70fe082226 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
Zack Weinberg
18f8b8b129 Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap 2009-08-20 14:52:48 -07:00
Zack Weinberg
1bc6a7615f Bug 497495 (frame poisoning) part 2: Introduce nsIPresShell::AllocateMisc/FreeMisc functions; add an as-yet-unused "code" parameter to AllocateFrame/FreeFrame; fix up nsFrame to match; use AllocateMisc/FreeMisc for all non-frame pres arena objects; move clearing of frame objects from nsFrame::operator new to AllocateFrame. r=roc sr=dbaron 2009-08-17 20:21:06 -07:00
L. David Baron
0f20b4f0a6 Make lines with only a bullet take up height. (Bug 179596 / Bug 507187) r=roc 2009-08-10 19:48:42 -07:00
fantasai
0c4b41f686 Bug 499377 - Store float region on frame r+sr=roc 2009-07-14 22:19:31 -07:00
Boris Zbarsky
72d0ddff71 Bug 491415. Need to initialize this member so we don't report bogus ascents. r+sr=roc 2009-05-05 01:01:47 -04:00
Benjamin Smedberg
0f95227641 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.
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
7a084ac404 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
991a16d8bc 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
L. David Baron
7c32f841de Replace space manager with a more limited float manager. (Bug 191448) r+sr=roc 2009-01-04 19:39:54 -05:00
Benjamin Smedberg
f2c9a5bafb Relanding bug 461410 - nsILineIterator is never used outside of layout - set nsresults to replicate the existing code more correctly, which fixes the mochitest failures, r+sr=roc with nits noted by Mats Palmgren 2008-10-30 12:17:59 -07:00
Benjamin Smedberg
30915057bb Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212 2008-10-28 02:49:14 -04:00
Benjamin Smedberg
f0a65beeac Bug 461410 - nsILineIterator is never used outside of layout, and doesn't need to be refcounted: the callers can just destroy it when they're done with it. We can't do this with a virtual destructor, however, because nsTableRowGroupFrame implements the interface directly, while nsLineIterator is a separately-allocated class. So clients are expected to call DisposeLineIterator when they're done with it.
Instead of accessing nsILineIterator using QueryInterface, we add a nsIFrame::GetLineIterator API, which is cleaner and more efficient all at the same time!

r+sr=roc
2008-10-28 00:47:19 -04:00
0e992d0a5c Bug 411870. nsBidiPresUtils needs to track the current line across block continuation boundaries. r=smontagu 2008-01-29 15:39:39 -08:00
8c07f99bf2 Bug 411870 backout again 2008-01-28 11:10:26 -08:00
7069971a0a Bug 411870. Bidi resolution needs to scan through block continuations when tracking the current line for frames. r=smontagu 2008-01-28 10:16:22 -08:00
9409e73aa0 backing out 411870 2008-01-27 22:28:31 -08:00
88fa1d00cc Bug 411870. Make bidi resolution track lines across block continuation boundaries. r=smontagu 2008-01-27 21:07:14 -08:00
e144c2310d [DEBUG-only] Print a warning if we find a null float in the float cache. b=387651 r+sr=roc 2007-07-22 06:37:36 -07:00
c8c8f9e544 Fix printf format-specifier and args mismatch to prevent potential DEBUG-only crashes. bug 388358, r+sr=roc 2007-07-16 15:26:53 -07:00
98de634631 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
76b5240bee Bug 383551. Clean up IsInlineFrame, nsStyleDisplay::IsBlockLevel and related methods. r+sr=dbaron 2007-06-26 19:31:35 -07:00
0490a58e96 Bug 381385: get rid of unneeded members of nsFloatCache (saves about 50 bytes footprint per float). r+sr=roc. 2007-06-16 13:27:46 -07:00
e0f90db412 Rename nsIFrame::GetPresContext to nsIFrame::PresContext. Bug 376042, patch byTaras Glek <tglek@mozilla.com>, rs=roc. 2007-03-30 14:11:41 -07:00
cvshook@sicking.cc
e80f1dba4e 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
d21cb374bd 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
mats.palmgren@bredband.net
115fd200a3 Leave the placeholder's pointer to the out-of-flow intact because the float cache depends on it later on. b=348688 r=bzbarsky sr=roc 2006-08-17 13:15:26 +00:00
uriber@gmail.com
d2643031f8 Handle returning nulls from CheckLineOrder correctly. bug=345616 r=smotagu sr=roc 2006-08-04 05:40:57 +00:00
gavin@gavinsharp.com
270d2fc3fc Bug 342479: fix compiler warning @ nsFloatCacheList::RemoveAndReturnPrev in nsLineBox.cpp, patch by Ryan VanderMeulen <ryanvm@gmail.com>, r+sr=roc 2006-07-24 18:57:42 +00:00
cvshook@sicking.cc
de453923d9 Bug 344050: Kill nsITextContent and move the methods to nsIContent. r/sr=jst 2006-07-19 04:36:36 +00:00
roc+@cs.cmu.edu
001442f28d Bug 342322. It's OK for mNext to be non-null when we remove an element. r+sr=dbaron 2006-07-13 08:15:31 +00:00
uriber@gmail.com
261a300837 Always use the visual iterator when moving visually in a bidi page, even if the current line or adjacent lines are LTR. bug=309432 r=smontagu sr=roc 2006-07-12 11:22:18 +00:00
roc+@cs.cmu.edu
4186b95e02 relanding fix for bug 317278 :-( 2006-06-29 01:19:48 +00:00
roc+@cs.cmu.edu
ae8b9b80de Bug 237085. Move string subdivision code to gfx so we can efficiently make it metrics-dependent. r=smontagu,sr=rbs 2006-06-26 22:18:23 +00:00
roc+@cs.cmu.edu
82d39021c1 Bug 317278. Reland patch that reflows lines again if we detect some already-placed floats need to move to the next line. This time, with changes to nsSpaceManager's PushState/PopState infrastructure so that dynamic allocations are never required; the saved state is always stack-allocated by callers. r+sr=dbaron 2006-06-19 23:06:59 +00:00
roc+@cs.cmu.edu
ce045a290e Backing out patch for 317278 due to Tp regression 2006-06-19 01:29:07 +00:00
roc+@cs.cmu.edu
96dfde0118 Bug 317278. In some cases we push float placeholders from one line to the next after we have already placed their floats on the line. In such situations, reset the space manager and force the line to reflow again so those floats don't get placed. r+sr=dbaron 2006-06-19 00:02:49 +00:00
uriber@gmail.com
63364c4ef1 Allow searching a line for a frame starting from a given point, to improve performance of forward-moving searches. Used in bidi resolution. bug=339935, r+sr=roc 2006-06-08 08:41:51 +00:00
mats.palmgren@bredband.net
de633e7753 Bustage fix (bug 337883) 2006-05-25 01:48:00 +00:00
mats.palmgren@bredband.net
1890e6c861 Clear the float cache from placeholders that are descendants of the frame we remove. b=337883 r+sr=roc 2006-05-25 01:30:34 +00:00
bzbarsky@mit.edu
855fdea48a Don't mess with empty float cache lists. Bug 334105, r+sr+branch181=dbaron 2006-04-17 01:47:11 +00:00