Commit Graph

214 Commits

Author SHA1 Message Date
Neil Deakin
eb070d343a Bug 666927, clean up nsBoxFrame::GetLayoutManager to return value, r=roc 2011-07-04 10:39:10 -04:00
Ehsan Akhgari
c4436101c8 Back out bug 10209 and bug 656875 (its regression fix) from Aurora because the work on this bug has not been finished yet
--HG--
extra : transplant_source : t%9F%EB%2Aa%A4%C0%9Ab%A5%DDQ%3EMD%5E%01h%E7%2A
2011-06-01 16:18:15 -04:00
Robert O'Callahan
59cfc47b23 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
21f6d8d9c6 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
35f86c76ad Bug 648911 - Remove support for non-libxul builds. r=ted,joedrew 2011-05-23 18:54:47 +02:00
Ehsan Akhgari
e4c89e2e5d Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc 2011-04-29 19:02:33 -04:00
Ehsan Akhgari
ce02059ba9 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
5eedd38c01 Bug 640048 Fix edge case for z-ordering for async scrollable elements r=roc 2011-05-01 18:53:01 -07:00
Mark Finkle
03e5a556ee Backed out changeset c7f62d818af2. Causes content crashes Bug 653889 2011-04-30 00:01:29 -04:00
Benjamin Stover
95028ef26c 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
75ad705b3b 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
5ef6bf26cf 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
Robert O'Callahan
c6e4498a20 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
1095b2347e 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
931bd6ee19 Back out bug 622072 because it caused bug 645987 2011-03-29 14:31:53 -04:00
Robert O'Callahan
4ca813ae6e 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
Ehsan Akhgari
11ad8ed434 Bug 642823 - Make the behavior of nsISelection::Modify consistent for word selection across platforms by not eating spaces on any platform; r=roc 2011-03-20 15:49:06 -04:00
Kevin Gadd
90c20af040 bug 625248 - During each paint, build a list (stored as a FrameProperty of the root nsIFrame) of all the PresShells that are visible during this paint, so that we can increment their paint count correctly during an empty transaction; r=roc a=blocking-final+
--HG--
extra : rebase_source : 2524d2e258a6a6cc13a7d8df2c874752e415c1ba
2011-01-27 13:53:10 -08:00
Robert O'Callahan
715a68eba1 Bug 619117. When invalidating due to a transform change, use the cached post-transform visual overflow rect to avoid depending on the new transform style. r=dbaron,a=blocking 2011-01-25 21:41:56 +13:00
Robert O'Callahan
319639d128 Bug 615870. Part 2: Track per-display-root-frame 'update layer tree' state bit. r=tnikkel a=b-f 2010-12-10 21:32:52 +02:00
Jonathan Kew
a9323f7452 bug 332636 - fix editor's handling of surrogate-pair combining marks with backspace. r=ehsan a=roc 2010-12-16 14:17:41 -08:00
Mounir Lamouri
db6bb54ae9 Bug 596088 - Make <input type='file'> looks disabled when inside a disabled fieldset by adding a ContentStatesChanged method in nsIFrame. r=bz sr=roc a=blocking-final
--HG--
rename : layout/reftests/bugs/557087.html => layout/reftests/bugs/557087-1.html
rename : layout/reftests/bugs/557087.html => layout/reftests/bugs/557087-2.html
extra : rebase_source : 350455e646775e42916e90dee7e09f63f84f4db4
2010-12-14 10:00:57 -08:00
Jonathan Kew
6531a7f776 Backed out changeset 1958ebae93cc for causing mochitest orange. a=backout 2010-12-16 15:15:35 -08:00
Jonathan Kew
7a31c3e079 bug 332636 - fix editor's handling of surrogate-pair combining marks with backspace. r=ehsan a=roc 2010-12-16 14:17:41 -08:00
Michael Wu
a3ec8a5ae1 Backed out changeset 34bd12eb4a9c for causing bug 618916, a=stuart 2010-12-13 16:14:07 -08:00
Oleg Romashin
0da1b085e9 Bug 615870 - Remote HTML5 video rendering pipeline should be shorter r=roc a=b-f 2010-12-10 21:32:52 +02:00
Oleg Romashin
3228336658 Bug 615536 - nsIFrame::GetMouseThrough need to be optimized r=roc a=approval2.0 2010-11-30 16:59:46 +02:00
Benjamin Smedberg
e69da252f3 Bug 616127 - Prevent nsIFrame.h from being used from non-internal code. r+a=bz 2010-12-01 14:42:27 -05:00
Ben Turner
7b428214f3 Bug 586216 - Don't use one timer per animated widget. r=roc a=b 2010-11-13 09:19:38 +01:00
Ehsan Akhgari
90e76bbb1f Bug 389321 - Part 3: Use a centralized algorithm for caret positioning; r=roc a=blocking-betaN+ 2010-08-31 14:54:44 -04:00
Timothy Nikkel
9fa3e05ad4 Bug 599113. Part 3. Can't restrict invalidated rects to visible portion of a scroll frame if we retain content that might be outside the visible portion of the scroll frame. r=roc a=blocking-betaN+ 2010-10-14 20:03:46 -05:00
L. David Baron
cd40905288 When a frame is themed, report a border-radius of 0. (Bug 595652) r=roc a2.0=blocking2.0:betaN 2010-10-06 21:25:47 -07:00
L. David Baron
a56a24a514 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
L. David Baron
bf7624301d Now that overflow areas are split, change nsIFrame::ComputeTightBounds to use visual overflow. While it really only needs to include frame bounds, glyph bounds, and text decorations, since glyph bounds are not part of scrollable overflow, it must use visual overflow. (Bug 542595, patch 15) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:46 -07:00
L. David Baron
d86ede8347 Change FinishAndStoreOverflow API to take two overflow areas. (Bug 542595, patch 4) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
9cc9011dcd Convert nsIFrame APIs from having a single overflow rect to having two distinct overflow rects. (Bug 542595, patch 1) r=roc sr=bzbarsky a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
Ehsan Akhgari
90ab413a2e Bug 240933 - Part 13: Consider text frame continuations containing only newlines editable; r,a=roc
--HG--
extra : rebase_source : e9f3001867e7992513484b92993a5d6a222273f6
2010-08-13 18:58:26 -04:00
L. David Baron
d99ac32acf Clip replaced elements (for now, images, canvases, videos, and windowless plugins) to the border radius. (Bug 485501) r=roc a2.0=blocking:beta6 2010-09-09 08:21:47 -07:00
L. David Baron
d44b4ee882 Clip contents of elements with overflow != visible to the border radius. (Bug 459144, patch 14) r=roc a2.0=blocking2.0:beta6 2010-09-09 08:21:46 -07:00
Daniel Holbert
d2bf82c2fc Bug 276431 part 3: Make nsImageFrame store an intrinsic ratio separate from its intrinsic size, and accept percentages in its intrinsic size. r=roc a=blocking 2010-09-08 13:40:38 -07:00
L. David Baron
4f34aba74d Add border-radius-related helper functions to nsIFrame. (Bug 459144, patch 6) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:35 -07:00
L. David Baron
fb568df1f4 Move clamping of border-radii that are too big from nsCSSRendering::ComputePixelRadii to nsIFrame::ComputeBorderRadii. This also fixes a bug in nsDisplayBoxShadowOuter::ComputeVisibility. (Bug 459144, patch 5) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:35 -07:00
L. David Baron
59ce09e952 Move skip-sides handling from nsCSSRendering::ComputePixelRadii to nsIFrame::ComputeBorderRadii. This fixes a bug (ignoring skip-sides) in nsDisplayBoxShadowOuter::ComputeVisibility, and improves the no-border-radius optimizations when skip-sides allow us to take them. (Bug 459144, patch 3) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:34 -07:00
L. David Baron
228dbed13a Make nsIFrame::ComputeBorderRadii take an nsSize instead of two nscoords. (Bug 459144, patch 2) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:34 -07:00
L. David Baron
452d0afadd Move nsCSSRendering::GetBorderRadiusTwips to nsIFrame and rename it to ComputeBorderRadii. (Bug 459144, patch 1) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:34 -07:00
Ehsan Akhgari
7b654288bf Back out bug 240933 and bug 590554 because of reftest failure on Win7 and also bug 593211 2010-09-02 19:54:23 -04:00
Ehsan Akhgari
15e706b2f1 Bug 240933 - Part 13: Consider text frame continuations containing only newlines editable; r,a=roc
--HG--
extra : rebase_source : b66535705ec25cd4dca7378424b78cc3bef94e46
2010-08-13 18:58:26 -04:00
Robert O'Callahan
7db127ab8d Bug 584494 - Regression: Transform rotation testcase performs significantly worse - r=dbaron 2010-09-02 14:07:37 -04:00
Robert O'Callahan
ded033638a Bug 579323. Part 2: Actually fix the bug by calling InvalidateThebesLayersInSubtree from nsIFrame::Redraw. r=dbaron,a=blocking 2010-08-31 12:49:13 +12:00
Robert O'Callahan
c7acef03ff Bug 579323. Part 1.8: Rename InvalidateOverflowRect to InvalidateFrameSubtree. r=tnikkel
--HG--
rename : layout/generic/nsFrameFrame.cpp => layout/generic/nsSubDocumentFrame.cpp
extra : rebase_source : f7bd38670a03e8a7f3f8c40838af114be79b06f1
2010-08-31 12:49:12 +12:00