Robert O'Callahan
65ebed37b4
Bug 641770. Apply correct clip rect to a layerized image. r=tnikkel
2011-04-01 10:33:46 +13:00
Ehsan Akhgari
a3102e59d9
Back out bug 622072 because it caused bug 645987
2011-03-29 14:31:53 -04:00
Robert O'Callahan
2afb52a838
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
Benjamin Stover
1a0ae63ebf
Bug 618975 Pan overflow elements in parent process r=cjones r=tn sr=roc a=blocking-fennec
2011-03-15 16:20:19 -07:00
Chris Jones
dc7f8df3a4
Bug 637822: Translate invalidated content by the offset at which it was made valid. r=roc a=b
2011-03-11 01:58:29 -06:00
Doug Turner
2489f1f6e9
Backing out 99f6b3acc464 (bug 618975). Bug This caused a reftest crash. a=bustage
2011-03-08 22:02:50 -08:00
Benjamin Stover
b5c53718a9
Bug 618975 Pan overflow elements in parent process r=cjones r=tn sr=roc a=blocking-fennec
2011-03-08 21:28:18 -08:00
Robert O'Callahan
b1ecdd1515
Bug 630835. Make BuildLayer responsible for setting a visible region on the layer, and let FrameLayerBuilder only reduce it. r=tnikkel,a=blocking
...
This avoids problems with FrameLayerBuilder making the visible region bigger than we expected, invalidating CONTENT_OPAQUE flags set on the layer.
In particular, we had been using TransformBounds to compute the new visible region, and for non-axis-aligned transforms this gives us a visible
region which contains areas not actually painted by the layer contents.
2011-02-23 18:38:09 +13:00
Robert O'Callahan
2e31a7c4e6
Bug 634232. Call WillEndTransaction/DidEndTransaction notifications for FrameLayerBuilder's temporary layer managers. r=tnikkel a=hardblocker
2011-02-20 19:28:00 -08:00
Robert O'Callahan
d7953b805e
Bug 622542. Remove unused FrameLayerBuilder::InvalidateAllThebesLayerContents API. r=tnikkel a2.0=blocking
2011-02-10 15:21:07 -08:00
Robert O'Callahan
92ce1d33f3
Bug 625672. Part 2: Build temporary layer manager to render inactive layers after we've recomputed visibility. r=tnikkel,a=blocker
2011-02-10 21:58:11 +13:00
Robert O'Callahan
2f5ba54a6b
Bug 618722. background-attachment:fixed display items rendered via temporary layer managers can't have their scrolling taken care of via the layer system, so make sure we invalidate them when we scroll in their document. r=tnikkel,a=blocker
2011-02-10 21:58:11 +13:00
Timothy Nikkel
5c2e94c0ae
Bug 628745. Replace rounded rect clips with their non-rounded cousins whenever possible. r=roc a=roc
2011-01-26 12:36:11 -06:00
Robert O'Callahan
f2aeae7716
Bug 621601. Part 1: Change empty transaction API to EndEmptyTransaction. r=bas,tnikkel,a=joe
2011-01-19 21:27:54 +13:00
Matt Woodrow
85d0699b05
Bug 586683 - Part 4 - Move images into a separate ImageLayer when they are the only item in a ThebesLayer. r=roc a=blocking2.0
2011-01-18 10:47:18 +13:00
Robert O'Callahan
f38fcb10df
Bug 625288. Part 2: Report that -moz-win-glass and -moz-win-borderless-glass are uniform with opacity 0, i.e. they don't paint anything. Skip such display items when accumulating the visible region of a layer. r=tnikkel,a=blocking
2011-01-16 23:38:45 +13:00
Robert O'Callahan
099f845b82
Bug 615794. Part 1.5: Fix drawing of mForcedBackgroundColor to only fill the bounds of the visible region. r=tnikkel a=blocking
...
It's not correct to completely fill the destination context with the
mForcedBackgroundColor. FindOpaqueBackgroundColorFor only checks that
the bounds of the layer's visible region can be filled with the color.
Drawing outside the bounds of the visible region may not necessarily
be ignored (see comments on Layer::SetVisibleRegion).
2011-01-04 23:35:57 +13:00
Robert O'Callahan
1eeb066375
Bug 615794. Part 1: Be conservative when converting visible regions and opaque regions from appunits to pixels. r=tnikkel a=blocking
2011-01-04 23:35:57 +13:00
Robert O'Callahan
17392b2c7e
Bug 602757. Part 6: Don't limit complexity of opaque region when adding opaque chrome display items. r=tnikkel,a=blocking
2011-01-03 14:48:09 +13:00
Robert O'Callahan
aa9639fc5a
Bug 602757. Part 5: Change HasText to GetComponentAlphaBounds. r=tnikkel,sr=dbaron,a=blocking
2011-01-03 14:48:09 +13:00
Robert O'Callahan
e7ff7b3a5f
Bug 602757. Part 3: Change IsOpaque to GetOpaqueRegion so we can get useful opaque regions for content that uses border-radius. r=tnikkel,sr=dbaron,a=blocking
2011-01-03 14:48:09 +13:00
Robert O'Callahan
360d34a263
Bug 602757. Part 2: Detect display items over the transparent part of a window, and disable usage of component alpha (i.e., subpixel antialiasing) for those items. r=tnikkel,a=blocking
2011-01-03 14:48:09 +13:00
Robert O'Callahan
354e2d8810
Bug 612840. Part 4: Invert the meaning of CONTENT_NO_TEXT_OVER_TRANSPARENT and rename it. r=vlad
2010-12-20 14:26:14 +13:00
Robert O'Callahan
887b3ff418
Bug 612840. Part 3: Make Layer::CONTENT_NO_TEXT_OVER_TRANSPARENT applicable to all layer types, and set CONTENT_NO_TEXT_OVER_TRANSPARENT on container layers. r=tnikkel,r=vlad
2010-12-20 14:26:14 +13:00
Robert O'Callahan
3fce3a1ccb
Bug 612840. Part 1: Remove CONTENT_NO_TEXT flag since it's not really used. Also remove ShouldRetainTransparentSurface and related code; we'll assume that when text is over opaque pixels in an RGBA surface we can always paint it with subpixel AA --- and make it so in later patches. r=vlad
2010-12-20 14:26:13 +13:00
Bas Schouten
5a57702df9
Bug 595277 - Part -1: Keep the reference to our LayerManager inside LayerManagerData. r=roc
2010-12-08 03:24:05 +01:00
Oleg Romashin
e63bb2d1c3
Bug 607653 - avoid temporary fbos/textures on transformed layers, when possible. part1 r=roc a=apporval2.0
2010-11-24 11:35:21 +02:00
Justin Lebar
97bf3d4a0f
Backed out changeset a5ec817740f0. a=orange
2010-11-29 09:08:24 -08:00
Oleg Romashin
102f4742ea
Bug 607653 - avoid temporary fbos/textures on transformed layers, when possible. r=roc a=approval2.0
2010-11-24 11:35:21 +02:00
Dave Townsend
d955ffd686
Backing out changeset 8fff1c186b30 from bug 607653 due to reftest failures on OSX. a=bustage
2010-11-24 16:19:41 -08:00
Oleg Romashin
8489c7ba8f
Bug 607653 - avoid temporary fbos/textures on transformed layers, when possible. r=roc a=approval2.0
2010-11-24 11:35:21 +02:00
Chris Jones
900d7c9e15
Bug 550611: Make nsTArray optionally infallible. sr=bsmedberg a=blocking
...
--HG--
rename : xpcom/glue/nsTArray.cpp => xpcom/glue/nsTArray-inl.h
2010-11-08 20:48:59 -06:00
Felipe Gomes
53e27e6671
Bug 601603. Part 5 - Ensure that the layer that holds the window background is never opaque for glass windows. r=roc a=beta8
2010-10-19 15:02:25 -02:00
Matt Woodrow
08f29337ec
Bug 594983. Look inside display sublists to determine whether there is text for the layer. r=roc,a=blocking
2010-10-11 13:58:20 +13:00
L. David Baron
00fa3dcc1b
Bug 597676. If there's no rootPresContext, we should never detect DOM modification. Makes printing paint again. r=dbaron a=blocking2.0:beta7
2010-09-18 11:43:17 -07:00
Robert O'Callahan
01ab75cd9f
Bug 594774. Detect DOM changes during painting, and abort painting ASAP when that happens. r=dbaron a=blocking
2010-09-17 12:09:08 -07:00
Oleg Romashin
97c15514a0
Merge with mozilla central 2779c55431a4, no conflicts
2010-09-10 22:32:25 -07:00
L. David Baron
9d05c9cb26
Add a (wrapping) display item that clips its contents to the curvature of a border-radius. (Bug 459144, patch 13) r=roc a2.0=blocking2.0:beta6
2010-09-09 08:21:46 -07:00
Chris Jones
d04ae7b1fe
Bug 590294, part 3: Keep ContainerLayer type info around in a few places. r=roc
2010-09-03 15:10:45 -05:00
Robert O'Callahan
69edc7671f
Bug 579276. Part 5: Set CONTENT_NO_TEXT and CONTENT_NO_TEXT_OVER_TRANSPARENT flags. r=tnikkel
2010-09-02 21:18:40 +12:00
Robert O'Callahan
99c9793ffb
Bug 579276. Part 3: Change Set/IsOpaqueContent API to a more generic Get/SetContentFlags API. r=cjones,sr=vlad
2010-09-02 21:18:40 +12:00
Robert O'Callahan
c6d684e627
Bug 579276. Part 4: Move nsDisplayItem parameter down to ThebesLayerData::Accumulate. r=tnikkel
2010-09-02 21:18:39 +12:00
Robert O'Callahan
cc302d0ddb
Bug 579276. Part 2: If a transparent layer is over a solid background color, hoist that color into the layer to make it opaque. r=tnikkel
2010-09-02 21:18:39 +12:00
Robert O'Callahan
a6fc3b3045
Bug 579276. Part 1: Change layer/layermanager user data API to use keys and values. r=cjones,sr=vlad
2010-09-02 21:18:39 +12:00
Mounir Lamouri
77c89312e1
Bug 594109 - FrameLayerBuilder.cpp uses TYPE_MATHML_CHAR_FOREGROUND outside of #ifdef MOZ_MATHML. r=roc a=bustage
2010-09-08 19:44:47 +02:00
Robert O'Callahan
fdfe0b9a31
Backing out bug 579276. a=me
2010-09-02 23:14:25 +12:00
Robert O'Callahan
72b54c70d0
Bug 579276. Part 5: Set CONTENT_NO_TEXT and CONTENT_NO_TEXT_OVER_TRANSPARENT flags. r=tnikkel
2010-09-02 21:18:40 +12:00
Robert O'Callahan
c4f16cb532
Bug 579276. Part 3: Change Set/IsOpaqueContent API to a more generic Get/SetContentFlags API. r=cjones,sr=vlad
2010-09-02 21:18:40 +12:00
Robert O'Callahan
eb92a3a7e7
Bug 579276. Part 4: Move nsDisplayItem parameter down to ThebesLayerData::Accumulate. r=tnikkel
2010-09-02 21:18:39 +12:00
Robert O'Callahan
95d62a3f3c
Bug 579276. Part 2: If a transparent layer is over a solid background color, hoist that color into the layer to make it opaque. r=tnikkel
2010-09-02 21:18:39 +12:00