Commit graph

160 commits

Author SHA1 Message Date
Mats Palmgren
e6ea29ce0d Bug 956447 - Make it possible to get frame dumps in non-DEBUG builds. r=roc 2014-01-05 23:31:14 +00:00
Mats Palmgren
2000b88d54 Bug 866785 - Move repeated nsIFrame::List implementations code to a new method, ListGeneric, for re-use. Cleanup and improve the code a bit. r=roc
Specifically:
* move all the frame dump methods to nsIFrame. Especially nsFrame::ListTag
  was annoying, often requiring a cast to nsFrame*.
* print common values in the same order for all types of frames
* print fluid continuations as "next-in-flow=%p" and non-fluid as
  "next-continuation=%p" (as before)
* print the style-context more compactly, e.g.
  "[sc=0x7faa6b60e0a0] pst=:first-line" becomes
  "[sc=0x7faa6b60e0a0:first-line]"
* suppress printing visual/scroll-overflow rects when they are identical
  to mRect and do the same for nsLineBox::List where it was especially
  hard to see which lines actually had real overflow
* fix a bug that printed the child list name at the far right when the
  principal list was empty (making it hard to see)
* print the address of child lists (other than the principal list) to
  help debug frame list property bugs
* s/NS_IMETHODIMP/void/
2013-04-30 20:38:52 +02:00
Robert O'Callahan
42e294f8cb Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : de498510bf8d85d9b0b2fab0137ef3be01c9adfa
2013-02-15 00:12:27 +13:00
Mats Palmgren
4e5d7218fd Bug 839839 - Minor nsPlaceholderFrame code cleanup. r=dholbert 2013-02-11 03:28:50 +01:00
Trevor Saunders
244a675d42 bug 542039 - accessible object types r=surkov, roc 2012-09-28 17:53:44 -04:00
Chris Lord
b38c2c5cad Bug 788202 - Add optional subdocument traversal to nsIFrame::List. r=bz
Add subdocument frame traversal to nsIFrame::List, controlled via an optional
flag.
2012-09-19 15:36:35 +01:00
Chris Lord
d5bcfa09f8 Backout bug 788202 for build failures. 2012-09-19 14:05:26 +01:00
Chris Lord
f89f65818b Bug 788202 - Add optional subdocument traversal to nsIFrame::List. r=bz
Add subdocument frame traversal to nsIFrame::List, controlled via an optional
flag.
2012-09-19 12:39:53 +01:00
Arnaud Sourioux
a84a1b22ad Bug 733186: Annotate ~1000 methods with MOZ_OVERRIDE in /layout r=dholbert r=dbaron 2012-09-14 09:10:08 -07:00
Ehsan Akhgari
e368dc9c85 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
Trevor Saunders
5d33ad118a bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov
--HG--
rename : accessible/src/atk/nsAccessibleWrap.cpp => accessible/src/atk/AccessibleWrap.cpp
rename : accessible/src/atk/nsAccessibleWrap.h => accessible/src/atk/AccessibleWrap.h
rename : accessible/src/base/nsAccessible.cpp => accessible/src/generic/Accessible.cpp
rename : accessible/src/base/nsAccessible.h => accessible/src/generic/Accessible.h
rename : accessible/src/mac/nsAccessibleWrap.h => accessible/src/mac/AccessibleWrap.h
rename : accessible/src/mac/nsAccessibleWrap.mm => accessible/src/mac/AccessibleWrap.mm
rename : accessible/src/msaa/nsAccessibleWrap.cpp => accessible/src/msaa/AccessibleWrap.cpp
rename : accessible/src/msaa/nsAccessibleWrap.h => accessible/src/msaa/AccessibleWrap.h
rename : accessible/src/other/nsAccessibleWrap.cpp => accessible/src/other/AccessibleWrap.cpp
rename : accessible/src/other/nsAccessibleWrap.h => accessible/src/other/AccessibleWrap.h
2012-05-28 21:18:45 -04:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Matt Woodrow
bf3a5c2649 Bug 721082 - Constify nsIFrame::GetParentStyleContextFrame. r=roc 2012-02-15 22:28:21 +13:00
Boris Zbarsky
b4eb7eb0ff Backed out changeset 0cd9ed297f73 (bug 641341) to fix bug 696175. r=roc 2011-11-07 00:25:56 -05:00
Boris Zbarsky
5b68e3365d Bug 641341. Speed up CalculateHypotheticalBox for the case of a block containing a bunch of lines but absolutely no in-flows anywhere. r=roc 2011-10-04 23:47:08 -04:00
Michael Wu
d2b70213ac Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Mats Palmgren
37e14b15b9 Bug 685154 - Cleanup nsIFrame::GetParentStyleContextFrame and related code. r=roc
Make nsIFrame::GetParentStyleContextFrame return the frame directly
instead of indirectly through an out parameter.  Remove the unused
nsPresContext parameter.
2011-09-12 09:08:07 -07:00
Jan Küchler
c510bc3046 Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Alexander Surkov
65c355c8a7 Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc 2010-06-28 21:02:03 +09:00
Neil Deakin
85ccd4574e Bug 533714, use a size of (0,0) for placeholders, prevents popups from taking up space when not open, r=bz 2010-06-21 08:37:35 -04:00
L. David Baron
e272b3a13d Use macros for frame state so that it's easy to change the size and easier to read the constants. (Bug 570837) r=roc 2010-06-08 22:28:14 -07: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
fantasai
b27eacbc1d Bug 508473 Part II: Remove DeletingFrameSubtree r=bz sr=roc 2009-12-24 00:20:41 -05:00
Boris Zbarsky
cbb295cb0c Bug 518114 part 2. Use state bits to keep track of what a placeholder is a placeholder for. r=roc 2009-11-16 16:00:07 -05: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
87bc18b4e2 Bug 492627 - Remove Placeholder Continuations [Part III: Remove current float-splitting code.] r=roc 2009-08-31 11:25:35 -07:00
bzbarsky@mit.edu
2350a1dc4e When reparenting placeholders to live under a first-line, don't change their
style context parent.  Bug 380012, r+sr=dbaron
2007-07-17 19:01:32 -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
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
timeless%mozdev.org
4e651390ef Bug 355300 There should be only one nsGkAtoms creature
r=dbaron
2006-12-26 17:47:52 +00:00
mats.palmgren%bredband.net
79090c0f4b Rename IsSplittable() to GetSplittableType(). b=349973 r+sr=bzbarsky 2006-12-20 03:52:34 +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
bzbarsky%mit.edu
8a32ae7e9f Add asserts and documentation to enfoce correct behavior. Bug 316267 followup,
r+sr=roc.
2006-11-06 01:17:32 +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
bzbarsky%mit.edu
feea3a45cc Reinstate reflow count painting when it's needed. Bug 352851, r+sr=roc 2006-09-19 04:26:20 +00:00
mats.palmgren%bredband.net
fd99ce03ed 1. Make scroll frames non-splittable.
2. Make a placeholder splittable only if the out-of-flow is.
3. If a float placeholder is not splittable then place it immediately
   instead of failing to reflow it because it can't be split.
b=337419 (Patch B) r+sr=roc
2006-08-24 05:22:16 +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
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
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
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
22b31a1bad Bug 308710. Create accessibles for out of flow frames. r+sr=bryner 2005-09-22 21:59:06 +00:00
roc+%cs.cmu.edu
f246fa2bbd Bug 280987. Remove aPresContext from nsIFrameDebug::List. r+sr=roc, patch by Vidar Braut Harr. 2005-09-06 21:34:50 +00:00
bzbarsky%mit.edu
7f0d146903 Don't copy/paste code to cast to placeholder frames all over the place; use a
utility method instead.  Bug 276954, r+sr=roc, a=brendan
2005-04-14 15:30:35 +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
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
bryner%brianryner.com
5c02a6978c Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc 2004-07-31 23:15:21 +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
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
6dd68f3c64 Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst 2003-02-22 15:34:38 +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
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
1faf4c0592 bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov. 2002-05-28 22:50:43 +00:00
jdunn%netscape.com
061ee47034 AIX's new compiler, xlC5.x, doesn't allow the use of "friend" to declare
a function prototype.  So we have to decare the function and then
declare it a friend.  When Default arguments are used, they need to
be specified in the function prototype and NOT in the friend declaration.
# 43311
r=dbaron@fas.harvard.edu
2002-01-10 14:16:05 +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
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
karnaze%netscape.com
e908dd0313 bug 68998 - added extra param to Paint, PaintChild, PaintChildren used by tables in standard mode. sr=waterson, r=alexsavulov. 2001-09-19 12:35:19 +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
tbogard%aol.net
af1ce8d410 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
dmose%mozilla.org
5312eacf8c updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:40:37 +00:00
troy%netscape.com
1585a751fb Moved a bunch of stuff out to a nsIFrameDebug interface 1999-11-01 22:12:45 +00:00
troy%netscape.com
87afecabc0 Changed SetView/GetView to take an additional argument which is the
pres context
1999-10-26 04:44:41 +00:00
kipp%netscape.com
7fe2679e86 Updated SizeOf methods to not waste space when doing a non-debug build 1999-09-01 01:02:16 +00:00
kipp%netscape.com
f808fbb193 Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot 1999-08-31 03:09:40 +00:00
kipp%netscape.com
5e1f60f6ff Implement List method 1999-05-03 20:54:24 +00:00
troy%netscape.com
39e0aad7f0 Removed ContentChanged() and AttributeChanged() which are no longer need
now that GetPrimaryFrameFor() always returns the out-of-flow frame
1999-04-25 16:59:39 +00:00
troy%netscape.com
4466f403c7 Added GetFrameType() and renamed GetAnchoredItem() to GetOutOfFrameFlow() 1999-04-23 14:34:48 +00:00
kipp%netscape.com
c29e5116c7 Revised frame Paint API 1998-12-18 15:54:23 +00:00
troy%netscape.com
2a4b2c503f Added Init() member function to nsIFrame 1998-12-03 06:31:43 +00:00
kipp%netscape.com
a6926809f0 Added DumpRegressionData; revised ListTag; added GetFrameName 1998-11-19 17:22:29 +00:00
kipp%netscape.com
b4c8bce4e2 Removed DidReflow hack again 1998-11-17 01:03:41 +00:00
troy%netscape.com
a435cf3ef5 Reinstated hack to have the placeholder frame forward the DidReflow() notification
to the floated frame. Needed until the block frame properly handles FirstChild()
and returns the list of floated frames
1998-11-16 18:33:21 +00:00
kipp%netscape.com
381815af96 Removed hacks that were mostly block-frame bug workarounds 1998-11-14 19:26:57 +00:00
troy%netscape.com
5befa347fb Added a hack to make sure that the floated frame gets a DidReflow notification 1998-11-07 00:03:45 +00:00
troy%netscape.com
c347b9a308 Added some temporary code to ensure that the floated frame is deleted 1998-11-02 23:57:25 +00:00
troy%netscape.com
b5b596a60a Removed nsIInlineReflow and folded it into nsIHTMLReflow 1998-10-03 04:28:05 +00:00
troy%netscape.com
7aceb4270d Eliminated nsIRunaround interface, and folded space manager parameter into
nsHTMLReflowState structure
1998-10-02 04:10:00 +00:00
troy%netscape.com
ba3c7125c2 Separated reflow process out of nsIFrame and into nsIFrameReflow. Also
added nsIHTMLReflow, which is an HTML specific reflow interface
1998-10-01 04:46:11 +00:00
peterl%netscape.com
7891e67337 moved attribute change code to style sheete
cleaned up content change api
1998-09-29 23:48:07 +00:00
vidur%netscape.com
446dec40b6 Fixed image.src=. Forwarded AttributeChanged notifications from nsPlaceholderFrame to its anchored item. Got rid of redundant calls to AttributeChanged. 1998-09-28 21:22:31 +00:00
troy%netscape.com
2bd6a1a377 Moved ContentReplaced() handler code to style system 1998-09-25 22:47:00 +00:00
troy%netscape.com
50795d8516 Moved ContentDeleted() document notification code to the style system which
generates the reflow command
1998-09-25 05:13:06 +00:00
troy%netscape.com
cdf9d06a40 Removed some XXX CONSTRUCTION code that was work-in-progress, but is
no longer needed
1998-09-24 03:49:45 +00:00
troy%netscape.com
28c7cf540c Removed content delegates 1998-09-18 17:18:37 +00:00
troy%netscape.com
aae84de775 Removed some code that's no longer needed with the new frame construction code 1998-09-18 00:04:55 +00:00
kipp%netscape.com
8f2807a027 Removed css/layout directory 1998-09-15 00:19:49 +00:00
troy%netscape.com
4c6e11f18a Container floated elements are now wrapped in a BODY frame 1998-09-14 04:01:08 +00:00
troy%netscape.com
de1641f3f9 Changed new frame construction code to handle floaters 1998-09-11 04:13:29 +00:00
troy%netscape.com
effef91cf6 Phase one of frame construction changes 1998-09-10 19:32:14 +00:00
kipp%netscape.com
360dc68e35 Made placeholders implement nsIInlineReflow so that their existance wouldn't screw up whitespace compression 1998-07-29 04:05:49 +00:00
kipp%netscape.com
2ef5aa2ece Implement paint method 1998-07-16 23:32:04 +00:00
troy
a90fe8e1de Changed Reflow() member function to take a reference to a nsIPresContext
instead of a pointer
1998-07-15 02:53:09 +00:00
troy
87a620acb0 Changed anchor frames to forward content notifications to the real frame 1998-06-30 21:35:07 +00:00
troy
f8b11bcac8 Changed block to do the initial reflow of a floater. Also fixed a problem
with floated tables crashing
1998-06-10 05:33:38 +00:00
kipp
8f956b9c41 Work around body bug with placeholder code to avoid dup free's of placeholder's child frame 1998-06-04 21:04:50 +00:00