Commit Graph

93 Commits

Author SHA1 Message Date
Mats Palmgren
7d8b692140 Bug 838706 - Remove Destroy/RemoveFrameIfPresent O(n) methods. All consumers are now using Start/ContinueRemoveFrame instead which are O(1). r=bzbarsky 2013-02-28 00:05:45 +01:00
Mats Palmgren
d4deaee2e3 Bug 838642 - Introduce nsFrameList::StartRemoveFrame/ContinueRemoveFrame that can be used in concert to remove a frame in O(1) time from a set of frame lists when its exact frame list is unknown. Use them to make nsContainerFrame::StealFrame O(1). r=bzbarsky 2013-02-28 00:05:44 +01:00
Ehsan Akhgari
243c878d26 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Daniel Holbert
8ebfc81c53 Bug 738705: Remove dead helper-class CompareByContentOrderComparator. r=bz 2012-03-23 11:17:33 -07:00
Ehsan Akhgari
478ad1a412 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
0fe7772ece Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
Simon Montagu
1f18554f1f Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Craig Topper
5f134c2838 Bug 654369 - Part 5: Make nsFrameList::Init return void r=bz 2011-05-01 23:32:59 -07:00
Simon Montagu
b5f2348b59 Back out bug 263359 and bug 624798 because of performance regressions (bug 650189) 2011-04-27 11:47:18 +03:00
Simon Montagu
d03542b94f Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
L. David Baron
21310c2cf6 Add checks to VerifyList that previous siblings match next siblings. (Bug 563584, patch 21) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
986e330c40 Make nsFrameList::RemoveFramesAfter(nsnull) remove the whole list. (Bug 563584, patch 11.5) r=roc 2010-08-05 21:59:19 -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
Robert O'Callahan
0cbb49a1df Bug 526072. Guard super-expensive nsFrameList assertions with #ifdef DEBUG_FRAME_LIST so debug builds don't completely suck. r=bz 2009-11-04 07:39:41 +13:00
Boris Zbarsky
8e9c649afe Bug 512336. Make frame lists doubly-linked. r=roc,fantasai 2009-10-02 12:27:37 -04:00
Mats Palmgren
150878f763 Remove unused methods. b=516976 r=bzbarsky 2009-09-20 23:37:30 +02:00
Mats Palmgren
f85d73c25c Bug 233463, patch 5 - Remove nsFrameList(nsIFrame*) ctor. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
54e643ff5b 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
6f16626d51 Bug 233463, patch 2 - Introduce nsFrameList::mLastChild member for fast access to the last sibling frame. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
6247c7c4c6 Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02:00
Zack Weinberg
18f8b8b129 Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap 2009-08-20 14:52:48 -07:00
Boris Zbarsky
03729316a0 Bug 504972. Remove some redundant code. r=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky
5a510c0676 Bug 504221 part 11. Switch the {ib}-split list munging to nsFrameList. r=fantasai,roc 2009-07-28 08:53:19 -04:00
Boris Zbarsky
b6729ff0a3 Bug 504221 part 10. Switch the first-line frame list munging to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:19 -04:00
Boris Zbarsky
8735e07de7 Bug 504221 part 7. Make nsFrameItems inherit from nsFrameList. rfantasai, r+sr=roc 2009-07-28 08:53:18 -04:00
Boris Zbarsky
2eb38e3023 Bug 504221 part 3. Switch overflowFrames storage to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Boris Zbarsky
a8f71ee00d Bug 504221 part 1. Introduce framelist slice and enumerator classes and make the framelist versions of nsFrameList::AppendFrames/InsertFrames return a slice for the new frames. r=fantasai, r+sr=roc 2009-07-28 08:51:08 -04:00
Robert O'Callahan
d132a799f6 Bug 384037. Eliminate nsFrameNavigator and switch XUL splitters to using nsFrameList instead. Also add a check so that we don't crash when a splitter's parent is not a XUL box. r+sr=dbaron 2009-04-25 20:33:32 +12:00
Arpad Borsos
af5c52fa8a Bug 474369 - get rid of nsVoidArray; layout part; r+sr=roc 2009-02-03 15:42:18 +01: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
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
Arpad Borsos
1b55360c07 Bug 456388 - Remove PR_STATIC_CALLBACK and PR_CALLBACK(_DECL) from the tree; r+sr=brendan 2008-10-10 17:04:34 +02:00
Bernd
2925b6cf49 use the right method to insert more than one frame, bug 456041 r/sr=bzbarsky 2008-09-27 13:07:29 +02:00
731e573535 Plug a nsLineIterator leak. b=414740 r+sr=roc a=blocking1.9 2008-02-06 10:21:29 -08: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
e3742c090c 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
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
2aa4681377 Bug 368863. Reparent floats properly when placeholders move between inline continuations. r+sr=dbaron 2007-04-20 17:42:58 -07:00