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 ­ 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
Ehsan Akhgari
4a06d8c562
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
35fe77fcc1
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+
2011-01-27 13:53:10 -08:00
Robert O'Callahan
f69b525984
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
8be3b68bec
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
a61771a0d9
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
aa10c83ecc
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
2010-12-14 10:00:57 -08:00
Jonathan Kew
cc85587114
Backed out changeset 1958ebae93cc for causing mochitest orange. a=backout
2010-12-16 15:15:35 -08:00
Jonathan Kew
f1e3149240
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
cddd307270
Backed out changeset 34bd12eb4a9c for causing bug 618916, a=stuart
2010-12-13 16:14:07 -08:00
Oleg Romashin
eb53950db4
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
2a66bdb2da
Bug 615536 - nsIFrame::GetMouseThrough need to be optimized r=roc a=approval2.0
2010-11-30 16:59:46 +02:00
Benjamin Smedberg
b58297c19b
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
acc8f85e08
Bug 586216 - Don't use one timer per animated widget. r=roc a=b
2010-11-13 09:19:38 +01:00
Ehsan Akhgari
01ed93b1a6
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
fbab606de2
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
84d7b3562d
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
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
L. David Baron
de0b6ebe1f
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
4c3c4b0bc7
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
130b5803f8
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
f0e24f28bc
Bug 240933 - Part 13: Consider text frame continuations containing only newlines editable; r,a=roc
2010-08-13 18:58:26 -04:00
L. David Baron
d1aaa3f766
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
a2f14c90f3
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
8da6512973
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
617212bb46
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
676d639ccf
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
0d7e1284bd
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
f46463af6b
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
cc9b0ccf05
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
0aac46c65b
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
03a3a84573
Bug 240933 - Part 13: Consider text frame continuations containing only newlines editable; r,a=roc
2010-08-13 18:58:26 -04:00
Robert O'Callahan
cb6cdf18f6
Bug 584494 - Regression: Transform rotation testcase performs significantly worse - r=dbaron
2010-09-02 14:07:37 -04:00
Robert O'Callahan
97abcdce1a
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
3f1563fde4
Bug 579323. Part 1.8: Rename InvalidateOverflowRect to InvalidateFrameSubtree. r=tnikkel
2010-08-31 12:49:12 +12:00
Robert O'Callahan
f06b8f53e5
Bug 579323. Part 1: Add FrameLayerBuilder::InvalidateThebesLayersInSubtree, and call it from InvalidateOverflowRect. r=tnikkel,sr=dbaron
2010-08-31 12:46:26 +12:00
Timothy Nikkel
9e605807bf
Bug 591657. nsWeakFrame needs a copy constructor because the default one does not hook into the presshell. r=smaug,dbaron a=dbaron,blocking beta5+
2010-08-30 13:37:55 -05:00
Robert O'Callahan
ea17bb85bd
Bug 581222. Back out patch that disabled box-shadows for native-themed content elements.
2010-08-23 21:30:07 +12:00
Markus Stange
6a2d988db1
Bug 506826 - Fix overlapping frame state bit.
2010-08-13 18:09:58 +02:00
Markus Stange
6e143dfcdb
Bug 506826 - Use a frame state bit for recursion detection in SVG pattern drawing. r=roc
2010-08-13 15:32:15 +02:00
Markus Stange
b802bb5021
Bug 572689 - Make nsSVGRenderingObservers observe elements instead of frames. r=roc
2010-08-13 15:31:31 +02:00
Ehsan Akhgari
53f6102bdc
Bug 580869 - Cache the frame found in nsTextFrame::GetChildFrameContainingOffset; r=roc approval2.0=dbaron
2010-08-10 11:16:17 -04:00
Dave Townsend
926e44a9c2
Backed out changeset 8f8ee0543d0f from bug 580869 in the CLOSED TREE
2010-08-06 15:01:59 -07:00
Ehsan Akhgari
e6b4874eeb
Bug 580869 - Cache the frame found in nsTextFrame::GetChildFrameContainingOffset; r=roc approval2.0=dbaron
2010-07-23 17:37:55 -04:00
L. David Baron
3ab9ee3f1d
Rename float continuations to pushed floats. (Bug 563584, patch 33) r=roc
...
This patch was generated with the following sed commands on layout/generic/*.{h,cpp}: 's/FLOAT_CONTINUATION/PUSHED_FLOAT/g;s/FloatContinuation/PushedFloat/g;s/float continuation/pushed float/g' plus whitespace fixup where the frame state bits are defined.
2010-08-05 21:59:20 -07:00