Commit Graph

49 Commits

Author SHA1 Message Date
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Robert O'Callahan
fb6a78d67b Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel
Previously we snapped the results of nsDisplayItem::GetBounds and
nsDisplayItem::GetOpaqueRegion internally. By tracking which display items were
inside transforms, we disabled snapping quite conservatively whenever an ancestor
had a transform, which is undesirable.

With this patch, we don't snap inside GetBounds or GetOpaqueRegion, but just return
a boolean flag indicating whether the item will draw with snapping or not. This flag
is conservative so that "true" means we will snap (if the graphics context has a transform
that allows snapping), but "false" means we might or might not snap (so it's always safe
to return false).

FrameLayerBuilder takes over responsibility for snapping item bounds. When it converts
display item bounds to layer pixel coordinates, it checks the snap flag returned from
the display item and checks whether the transform when we draw into the layer will be
a known scale (the ContainerParameters scale factors) plus integer translation. If both
are true, we snap the item bounds when converting to layer pixel coordinates. With
this approach, we can snap item bounds even when the items have ancestors with active
transforms.
2012-04-10 23:24:18 +12:00
L. David Baron
c6e45feee7 Switch nsLayoutUtils inflation methods to the new setup with state on the pres context. (Bug 706609, patch 5) r=roc
This is the third of three patches to rework the way we handle getting
the font inflation container and width data during reflow, which are
needed so that we can sometimes honor inflation during intrinsic width
calculation (which we need to do to make some form controls inflate
correctly).
2012-01-24 17:21:29 -08:00
L. David Baron
9c95c3d00a Make other users of font metrics (other than MathML and XUL) honor font size inflation. (Bug 627842, patch 15) r=roc
This does not address users of font metrics in layout/mathml/ (for text
size and alignment issues) or in layout/xul (for text size and sizing of
listbox and tree widgets):  see all the callers of GetFontMetricsFor*
in those directories.
2011-11-23 18:48:23 -08:00
Timothy Nikkel
6cad36e530 Bug 694213. Make various display items return bounds in the correct coordinate space. r=roc 2011-10-21 12:45:32 -05:00
Timothy Nikkel
7db17f1e77 Backout 18f70ede04b0 (bug 694213). 2011-10-20 20:59:47 -05:00
Timothy Nikkel
268868270b Bug 694213. Make various display items return bounds in the correct coordinate space. r=roc 2011-10-20 12:44:28 -05:00
Timothy Nikkel
fadca8018f Backout 8db8c9ce92c5 (bug 694213). 2011-10-18 00:41:10 -05:00
Timothy Nikkel
05e9a9beec Bug 694213. Make various display items return bounds in the correct coordinate space. r=roc 2011-10-17 19:56:03 -05: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
Ms2ger
a2c731af85 Bug 677107 - Sprinkle IsHTML(nsIAtom*) pixie dust over select-option-optgroup code; r=bz 2011-08-08 17:14:33 +02:00
Jan Küchler
8774547613 Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>. 2011-04-07 18:04:40 -07:00
L. David Baron
77b20c65b1 Change callers to use new nsIFrame overflow APIs. (Bug 542595, patch 20) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:47 -07:00
Robert O'Callahan
6994544c46 Bug 584282. Add nsDisplayItem::mToReferenceFrame and initialize it in the constructor. r=tnikkel,a=dbaron 2010-08-13 22:01:13 +12:00
Michael Ventnor
c40f8edbb0 Bug 564991. Part 3: Create unique nsDisplayItem types for every single display item. r=tnikkel 2010-07-16 09:07:49 +12:00
Felipe Gomes
6f9c5ea1d9 Bug 489127 - nodesFromRect required for better usability on mobile devices (part 1+2) [r=roc] 2010-04-07 20:31:26 -04:00
Robert O'Callahan
9d5b5ae49a Bug 513082. Instead of passing aDirtyRect to nsDisplayItem::Paint, have nsDisplayList::OptimizeVisibility (renamed to ComputeVisibility) compute the intersection of the visible region with the bounds of each display item and store the result in the item's mVisibleRect. This lets us do less work to paint display items which have a small intersection with the visible region but a large intersection with the bounding-box of the visible region. r=dbaron 2009-09-07 12:35:14 +12:00
Zack Weinberg
b6fe8205dd 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
L. David Baron
f2d241e914 Rename flags and methods from space manager to float manager. (Bug 191448) r+sr=roc 2009-01-04 19:39:54 -05:00
L. David Baron
ad036e3dae Stop using nsAreaFrame for anything other than xul:label, which is the only thing for which it does anything different from nsBlockFrame, and rename it accordingly. (Bug 471356) r+sr=roc 2008-12-29 10:07:38 -05:00
3a9eaf107e Bug 407889. Reduce dynamic memory allocations during event handling by having nested invocations of HitTest share a single buffer for reordering display items; this buffer is an nsAutoTArray so it's mostly stack-allocated. r+sr=mats 2008-01-03 18:08:29 -08: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
mats.palmgren@bredband.net
3707e84115 Make nsFileControlFrame, nsIsIndexFrame and nsLegendFrame QI to kBlockFrameCID. b=370933 r+sr=bzbarsky 2007-02-24 04:42:53 +00:00
timeless@mozdev.org
f4ef17d178 Bug 355300 There should be only one nsGkAtoms creature
r=dbaron
2006-12-26 17:47:52 +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
roc+@cs.cmu.edu
03d4523009 Bug 333817. Give listbox focus display item correct bounds. r+sr=bzbarsky 2006-04-18 02:41:42 +00:00
roc+@cs.cmu.edu
54d3415318 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
roc+@cs.cmu.edu
a1b6a30f14 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
2a82ee651e Bug 313817. DeCOMtaminate more NS_New*Frame functions. r+sr=roc, patch by Marc Liddell 2005-11-04 02:38:33 +00:00
roc+@cs.cmu.edu
5d1b988569 Bug 108310. Make GetFrameForPoint take frame-relative coordinates, not bogus relative-to-some-view-or-other, and simplify the signature. r+sr=roc, patch by Eli Friedman. 2005-09-19 02:15:54 +00:00
neil@parkwaycc.co.uk
ab8be2367d Bug 276100 GetOriginToView has unused PresContext argument p=bugmail@q1n.org r+sr=dbaron 2005-01-01 17:26:29 +00:00
bryner@brianryner.com
6cde4639f0 Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc 2004-07-31 23:15:21 +00:00
gerv@gerv.net
a1ec040a65 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:30:37 +00:00
uid502
4fc4723244 Bug 190735. DeCOMtaminate nsIFrame::GetFrameType. r+sr=bzbarsky 2003-10-31 20:19:18 +00:00
roc+@cs.cmu.edu
acbd7967d4 Ongoing deCOMtamination. r+sr=dbaron 2003-06-30 10:46:59 +00:00
roc+@cs.cmu.edu
7143d14503 Bug 126263. Whack comboboxes/listboxes to use Gfx scrollbars. Also, make scrollbars attach their XBL content only when they become visible, to avoid pageload hit. r+sr=dbaron 2003-04-08 20:50:57 +00:00
dbaron@dbaron.org
5b35f77e39 Make the area frame containing the options of a select always have NS_BLOCK_SPACE_MGR so that outside floats don't mess up the inside of a select. b=48237 r+sr=bzbarsky 2003-01-19 20:02:38 +00:00
bryner@netscape.com
c98c382545 Phase 1 of style context deCOMtamination (bug 114713). Remove all dependencies on nsIStyleContext from outside of content and layout. Make nsIFrame::GetStyleData be a non-inline virtual function when called from outside of layout, since the nsStyleContext implementation won't be available to those callers. r=dbaron, sr=bzbarsky. 2003-01-09 06:49:07 +00:00
seawood@netscape.com
178a7c2f92 Error 690: "nsSelectsAreaFrame.cpp", line 149 # Nonempty source files must end with a newline that is not preceded by a backslash.
(Fixing HP-UX tinderbox bustage)
2002-04-11 03:25:58 +00:00
rods@netscape.com
b0ab352d17 Click on the checkbox to get focus to the right spot and then press <tab> to
move between the listboxes.
Bug 64165 r=dcone sr=attinasi
2002-04-11 00:53:20 +00:00
gerv@gerv.net
58d409fba9 Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089. 2001-09-28 20:14:13 +00:00
dbaron@fas.harvard.edu
0db3c15533 Fix event targetting bugs by using paint layers in GetFrameForPoint, testing for visibility, and trying GetFrameForPoint on additional views if one fails. r=joki@netscape.com(, hyatt@netscape.com) b=12232,20051,21304,24474,26785, and remaining issues from 23161. 2000-03-22 02:43:08 +00:00
pp@ludusdesign.com
baf799923b Converting ::GetIID() into NS_GET_IID(). Bug #20232. r=scc, r=mozbot 2000-02-02 22:24:56 +00:00
troy@netscape.com
7abe460751 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
9a7a1b27f7 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
dmose@mozilla.org
796280940b 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
b8ef6465be Changed SetView/GetView to take an additional argument which is the
pres context
1999-10-26 04:44:41 +00:00
rods@netscape.com
f1e74a2dbe initial add (not in the build yet) 1999-09-03 14:25:15 +00:00