Commit Graph

601 Commits

Author SHA1 Message Date
Matt Woodrow
c5672342e1 Bug 721082 - Make perspective-origin relative to the parent elements border box. r=roc 2012-02-15 22:28:22 +13:00
Matt Woodrow
439a12dca2 Bug 721082 - Constify nsIFrame::GetParentStyleContextFrame. r=roc 2012-02-15 22:28:21 +13:00
L. David Baron
5ccad1a2d0 Add a frame state bit for whether a frame is a container for font size inflation (Bug 706609, patch 1) r=roc
This moves the logic currently in
nsLayoutUtils::IsContainerForFontSizeInflation into frame initialization
so that we can (later, for bug 706193) make that logic more complicated.
2012-01-24 17:21:28 -08:00
Benjamin Stover
a38eb5067f Bug 524925 - Recompute overflow without reflowing for transforms. part=1/6 r=dbaron
Add an extra change hint, UpdateOverflow, that can be used to specify that
a frame's overflow areas may have changed and that they need to be recalculated.
When a transform on a frame changes, instead of marking it for reflow, set this
hint instead.

There is an added virtual function on nsIFrame, UpdateOverflow, which is called
recursively on a frame when the corresponding hint is set, to allow it to
update its overflow areas.
2011-06-15 14:03:49 -07:00
Robert O'Callahan
43a174c5c8 Bug 591718. Part 1: rename some poorly-named methods, rework global-transform methods to avoid computing bounding-boxes more than once when there are are multiple transformed ancestors, make sure nsIFrame::GetTransformMatrix can stop at any desired ancestor. r=mats 2011-12-28 16:24:18 +13:00
Mats Palmgren
8f89cccd9c Bug 619273 - Move the selection state bit from frames to content nodes. r=smaug 2011-12-20 10:15:41 +01:00
Robert O'Callahan
3b84648234 Bug 699351. Add nsIFrameLoader::clipSubdocument API to allow XUL <iframe> and <browser> to not clip the subdocument. r=tnikkel,sr=bzbarsky 2011-12-06 01:38:46 +13:00
Brad Lassey
8a11bb9295 Bug 687972 - backing out changesets b17ab862bbc1 and a6db0c6c94a3 r=orange 2011-11-30 22:59:00 -05:00
Robert O'Callahan
0531ca8c29 Bug 699351. Add nsIFrameLoader::clipSubdocument API to allow XUL <iframe> and <browser> to not clip the subdocument. r=tnikkel,sr=bzbarsky 2011-11-30 21:14:26 -05:00
L. David Baron
bfebf466f5 Don't duplicate frame state bits, so that we can assert about NS_FRAME_IN_REFLOW during painting. (Bug 627842, patch 3.5) r=roc 2011-11-23 18:48:23 -08:00
L. David Baron
803540a4c1 Set an NS_FRAME_IN_CONSTRAINED_HEIGHT state bit on frames that are in a constrained space. (Bug 627842, patch 2) r=roc 2011-11-23 18:48:23 -08:00
Scott Johnson
84bb2fca68 Bug 666446, Part 4/10 - Implement refresh driver based animations in nsImageLoadingContent to improve efficiency of animated GIF images. [r=roc][sr=mats] 2011-11-09 13:39:16 -08:00
Justin Lebar
fd2f694139 Back out bug 666446 due to Talos regression. 2011-11-02 20:11:01 -04:00
Scott Johnson
e5ab1928cf Bug 666446, Part 4/10 - Implement refresh driver based animations in nsImageLoadingContent to improve efficiency of animated GIF images. [r=roc][sr=mats] 2011-11-01 11:06:53 -04:00
Timothy Nikkel
4b7bd99759 Bug 658005. Part 4. Remove nsIFrame::AreAncestorViewsVisible now that it is unused. r=roc 2011-10-26 18:57:55 -05:00
Timothy Nikkel
6c713be6ea Bug 658005. Part 2. Add a frame visibility API that takes into account everything we need, and use it. r=roc 2011-10-26 18:57:55 -05:00
Matt Woodrow
2f9913d534 Bug 695275 - Add CheckAndClearPaintedState to test painting. r=roc 2011-10-26 16:23:26 +13: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
Matt Woodrow
ee72c668f4 Bug 691864 - Recompute preserve-3d children overflow areas after all needed sizes are available. r=roc 2011-10-15 09:43:38 +13:00
Scott Johnson
50c5dbaf70 Backout cset 9d3ac2d3da11 from bug 666446 while we sort out regressions 2011-10-07 00:25:36 -07:00
Scott Johnson
7b6ea437f4 Bug 666446, Part 4/18 - Implement refresh driver based animations in nsImageLoadingContent to improve efficiency of animated GIF images. [r=roc][sr=mats] 2011-10-03 13:39:05 -07:00
Ehsan Akhgari
de3e3fd8ee Bug 10209 - Part 6: Implement the CSS "containing block" concept correctly as a binary relation, as opposed to a unary relation; r=bzbarsky 2011-05-12 00:04:30 -04:00
Ehsan Akhgari
a9088e07c1 Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc 2011-04-29 19:02:33 -04:00
Ehsan Akhgari
95561ef46f Bug 10209 - Part 1: Add an API for absolute container support for all frame types; r=roc 2011-04-27 19:41:43 -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
Adam Dane [:hobophobe]
d59ccf3031 bug 591249 - event dragleave not properly dispatched if drag-and-drop aborted with ESC within iframe. r=smaug 2011-09-26 15:55:04 -05:00
Mats Palmgren
886a8f934d 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
Daniel Holbert
2a6105f33c (no bug) Fix 2 typos within comments in nsIFrame.h DONTBUILD 2011-09-07 17:19:32 -07:00
Matt Woodrow
465e7e7515 Bug 505115 - Part 14b - Layout support for -moz-transform-style. r=roc 2011-08-27 12:01:46 +12:00
Mats Palmgren
4e2a044a66 Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Mats Palmgren
8c07e2e92b Bug 653649 - New way of getting child lists from frames. (part 2/5) r=roc sr=dbaron
Implement GetChildList(ChildListID) and GetChildLists(nsTArray<ChildList>*)
for various frame classes.  Remove GetAdditionalChildListName(PRInt32)
methods and associated macros and list index constants.
2011-08-24 22:54:29 +02:00
Vitor Menezes
52af8457aa Fix text-decoration positioning in quirks mode and set overflow areas to match. (Bug 403524) r=dbaron
Change the quirks mode text-decoration code (soon to be used for all
modes) to follow CSS 2.1's rules for positioning of decoration lines.
Decorations are now drawn at a constant vertical position established by
the element creating the decoration, and more than one of the same type
(underline, overline, line-through) of decoration are supported on the
same piece of text.

This means that text-decorations can now significantly overflow a text
frame, since the vertical-alignment of the element with text-decoration
may be substantially different from the vertical alignment of the text.
Set overflow areas for text frames with text decorations in
nsLineLayout::RelativePositionFrames since it must happen *after*
vertical alignment is done, and when relative positioning data are
consistent (nsIFrame::GetRelativeOffset matches the offset that has been
applied).
2011-08-03 11:30:58 -07:00
Matt Woodrow
eedad1949e Bug 505115 - Part 5 - Use gfx3DMatrix in layout. r=roc 2011-07-23 10:28:51 +12:00
Neil Deakin
ee29cadd66 Bug 670148, remove nsIBoxLayout, r=roc 2011-07-11 10:05:10 -04:00
Neil Deakin
b877436038 Bug 666927, clean up nsBoxFrame::GetLayoutManager to return value, r=roc 2011-07-04 10:39:10 -04:00
Ehsan Akhgari
b8774f8312 Back out bug 10209 and bug 656875 (its regression fix) from Aurora because the work on this bug has not been finished yet 2011-06-01 16:18:15 -04:00
Robert O'Callahan
413134d88a Bug 637852. Part 17: Tighten up AreLayersMarkedActive so we track exactly what properties are changing. Also, clamp resolution to power-of-2 only if the frame's transform has a scale. r=tnikkel
This lets us avoid clamping the scale in more situations. We should only clamp the scale when we think
the scale is changing due to a changing transform --- the goal of clamping is to not have to redraw the content
too often when the content is zooming in or out.
2011-06-23 00:11:28 +12:00
L. David Baron
810fdf11a6 Remove notion of percentage of intrinsic size: remove code that handles percentages (which are no longer set thanks to the previous patch) and make them invalid. (Bug 611099) r=dholbert
Needed to help CSS 2.1 meet Proposed Recommendation entrance criteria.
2011-06-12 18:52:32 -07:00
Matheus Kerschbaum
370eb55bf7 Bug 648911 - Remove support for non-libxul builds. r=ted,joedrew 2011-05-23 18:54:47 +02:00
Ehsan Akhgari
8c373030bb Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc 2011-04-29 19:02:33 -04:00
Ehsan Akhgari
8f7b6ee528 Bug 10209 - Part 1: Add an API for absolute container support for all frame types; r=roc 2011-04-27 19:41:43 -04:00
Benjamin Stover
b99501404f Bug 640048 Fix edge case for z-ordering for async scrollable elements r=roc 2011-05-01 18:53:01 -07:00
Mark Finkle
f71817d719 Backed out changeset c7f62d818af2. Causes content crashes Bug 653889 2011-04-30 00:01:29 -04:00
Benjamin Stover
9745be065b Bug 640048 Fix edge case for z-ordering for async scrollable elements r=roc 2011-04-29 10:15:44 -07:00
Robert O'Callahan
6844dfc18d Bug 641426. Part 3.5: Remove usage of nsMargin::TopLeft and nsMargin::IsZero. r=dbaron 2011-04-19 15:07:22 +12: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
Robert O'Callahan
8ea3739c3b Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel
The basic idea is that whenever a layer transaction updates the window, we clear out the invalidation state for the canvas rendering context,
using a DidTransactionCallback registered on the layer(s) for the canvas, which calls MakeContextClean.

The DidTransactionCallbacks are directed to the user data attached to the Layer, which holds a strong reference to the canvas element. This
ensures that the element lives as long as the layer. Layers are destroyed when the presentation is torn down (including if the frame is destroyed),
so we can't have a leak here. The reference to the canvas element is only strong because the layer might briefly outlive the frame (the layer
won't be destroyed until the next paint of the window).

This patch moves responsibility for calling CanvasLayer::Updated and nsFrame::MarkLayersActive from the canvas context to nsHTMLCanvasElement::InvalidateFrame.
We call Updated on the retained CanvasLayer, if there is one; any other CanvasLayers created for this canvas would only be used once, and have Updated
called on them in BuildLayer when created.
2011-03-28 12:59:47 +13:00
Jonathan Kew
d02d3f9d40 bug 418975 - support &shy; when calculating min width for table and fieldset. r=roc. landing on the CLOSED TREE after dbaron went to bed :) 2011-03-24 15:22:37 +00:00
Ehsan Akhgari
19025a6612 Back out bug 622072 because it caused bug 645987 2011-03-29 14:31:53 -04:00
Robert O'Callahan
9e0875a296 Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel
The basic idea is that whenever a layer transaction updates the window, we clear out the invalidation state for the canvas rendering context,
using a DidTransactionCallback registered on the layer(s) for the canvas, which calls MakeContextClean.

The DidTransactionCallbacks are directed to the user data attached to the Layer, which holds a strong reference to the canvas element. This
ensures that the element lives as long as the layer. Layers are destroyed when the presentation is torn down (including if the frame is destroyed),
so we can't have a leak here. The reference to the canvas element is only strong because the layer might briefly outlive the frame (the layer
won't be destroyed until the next paint of the window).

This patch moves responsibility for calling CanvasLayer::Updated and nsFrame::MarkLayersActive from the canvas context to nsHTMLCanvasElement::InvalidateFrame.
We call Updated on the retained CanvasLayer, if there is one; any other CanvasLayers created for this canvas would only be used once, and have Updated
called on them in BuildLayer when created.
2011-03-28 12:59:47 +13:00