Commit Graph

414 Commits

Author SHA1 Message Date
Robert O'Callahan
f4b678d9cb Bug 805343. Part 2: Update FrameLayerBuilder::HasVisibleRetainedDataFor to account for occluded display items. r=mattwoodrow
--HG--
extra : rebase_source : 293895627ef5f37c508a23fe9e9a5639527aafcc
2012-12-10 18:49:17 +13:00
Robert O'Callahan
5134ebbbe6 Bug 805343. Identify DisplayItemDatas that are completely hidden by other opaque content in their ThebesLayer, and ignore them when we check to see whether there's an image we might need to invalidate. r=mattwoodrow
--HG--
extra : rebase_source : 7e68dc33324d8ff26286723bdbaaea18060354ac
2012-12-10 18:47:33 +13:00
Robert O'Callahan
dbadcb07b6 Bug 818643. Issue an NotifyRenderingChanged callback on nsDisplayItems when we invalidate anything to do with the display item. Make nsDisplayCanvasBackground override NotifyRenderingChanged to invalidate the cached background image. r=mattwoodrow
--HG--
extra : rebase_source : c28b2804d647a991f7d2cb8167fcf039c1835d75
2012-12-10 18:34:31 +13:00
Ed Morley
4255844db7 Backout 55d5f3cd5c85, d89ae7f40549 & 270391fca858 (bug 663776) for assertions 2012-12-07 12:37:36 +00:00
Robert O'Callahan
8cce25fe34 Bug 663776. Part 1: When determining whether the scale factors hav changed, we need to use GetBaseTransform for the old scale factors, because that's what stores the old transform that we computed scale factors from. r=mattwoodrow 2012-12-07 12:58:12 +13:00
Karl Tomlinson
cacd3b0a07 b=786100 consider display item snap when hunting uniform background color r=roc
--HG--
extra : transplant_source : P%7CO%27%D3%E6%B6-eX%BF%AAw%EA%D1.%B8j%D9%2C
2012-12-05 15:53:17 +13:00
Matt Woodrow
b885845625 Bug 810302 - When flattening layers together to avoid component alpha, attempt to pick the 'best' active scrolled root to minimize invalidation during scrolling. r=roc 2012-12-04 19:05:22 +13:00
Matt Woodrow
d11b7e4dd0 Bug 812107 - Don't attempt to do scroll compensation in FrameLayerBuilder for transformed containers. r=roc 2012-12-04 19:04:20 +13:00
Kartikaya Gupta
2898501127 Bug 814418 - Fix some warnings about unused variables. r=ehsan 2012-11-30 11:06:37 -05:00
Robert O'Callahan
f9199a2935 Bug 815593. Don't layerize images that exceed MaxTextureSize. r=mattwoodrow
--HG--
extra : rebase_source : f94300b24b90d063df095324663c9d8fa49e42e9
2012-11-28 15:34:45 +13:00
Matt Woodrow
c583d29257 Bug 796847 - Make AdjustInvalidAreaForSVGEffects correctly adjust for the coordinate space of the input rect. r=dholbert 2012-11-28 17:06:07 +13:00
Matt Woodrow
a8aa8d1e9f Bug 802385 - Never flatten component alpha layers when compositing with an accelerated layer manager. r=roc 2012-11-22 18:34:32 +13:00
Matt Woodrow
53f3a93fe3 Bug 810275 - Remove the inactive layer tree offset when compute the active scrolled root position. r=roc 2012-11-22 18:33:37 +13:00
Nicholas Cameron
9fbca42363 Bug 812908; add a debug pref for forcing active layers; r=roc 2012-11-23 12:29:05 +13:00
Ed Morley
eb88be58b6 Backout d30b99cfd933 (bug 802385), 58ce0ddf7611 (bug 810275), 1c96b4a67d38 (bug 810592) for reftest failures 2012-11-22 09:59:23 +00:00
Matt Woodrow
b8f8bf7fe3 Bug 802385 - Never flatten component alpha layers when compositing with an accelerated layer manager. r=roc 2012-11-22 18:34:32 +13:00
Matt Woodrow
08b69a0389 Bug 810275 - Remove the inactive layer tree offset when compute the active scrolled root position. r=roc 2012-11-22 18:33:37 +13:00
Robert O'Callahan
c1882ee5c2 Bug 812817. Ignore TYPE_ZERO nsDisplayItemData records constructed for the root layer. r=mattwoodrow 2012-11-19 23:54:50 +13:00
Matt Woodrow
caced635cb Bug 811927 - Allow conversion of nsDisplayBackgroundImage into ImageLayers. r=roc 2012-11-19 16:28:18 +13:00
Robert O'Callahan
ffbcca0d03 Bug 810470. Part 3: Remove code for invalidating background-attachment:fixed content when scrolling. r=mattwoodrow
New invalidation logic takes care of this automatically.

--HG--
extra : rebase_source : 0112cfe02dbaaabf04e4010823a3cceeb6549fcd
2012-11-09 18:14:14 -05:00
Robert O'Callahan
96193c34fa Bug 759993. Part 0: FrameLayerBuilder::GetThebesLayerScaleForFrame should not cross popup boundaries. r=mattwoodrow 2012-11-11 00:17:16 -08:00
Ryan VanderMeulen
e3d6945c6d Backed out 8 changesets (bug 810470) due OSX reftest failures. 2012-11-14 22:14:44 -05:00
Robert O'Callahan
eea69229e3 Bug 810470. Part 3: Remove code for invalidating background-attachment:fixed content when scrolling. r=mattwoodrow
New invalidation logic takes care of this automatically.

--HG--
extra : rebase_source : f598635e58390ef868a057e8ea8ab0cf2410b8a9
2012-11-09 18:14:14 -05:00
Matt Woodrow
a76c8cb386 Bug 810186 - Don't unnecessarily nest inactive layers. r=roc 2012-11-13 14:22:21 -08:00
Ryan VanderMeulen
ebd6964397 Backed out changeset 43e4b01c0150 (bug 810186) for reftest failures. 2012-11-13 18:25:09 -05:00
Matt Woodrow
3ba9c55d4b Bug 810186 - Don't unnecessarily nest inactive layers. r=roc 2012-11-13 14:22:21 -08:00
Matt Woodrow
c39ede05cb Bug 805197 - Compute a region in LayerTreeInvalidation. r=roc 2012-11-12 10:31:15 -08:00
Bas Schouten
01329069a0 Bug 809178: Don't let the inactive layer manager keep a gfxContext alive. r=mattwoodrow 2012-11-09 07:01:24 +01:00
Matt Woodrow
abb31e1f03 Bug 798964 - Don't invalidate nsDisplayBackgroundColor if only the image changed. r=roc 2012-11-07 11:04:53 +13:00
Robert O'Callahan
45f55abd96 Bug 805331. Part 1: Refactor nsDisplayList::GetList
Renames GetList to GetSameCoordinateSystemChildren, and adds an assertion
to verify that the children have the same reference frame as the parent.
Adds nsDisplayList::GetChildren to return whatever children there are.
Obsoletes nsDisplayTransform::GetStoredList.
2012-11-03 01:59:03 +13:00
Chris Lord
dec9634e6a Bug 803826 - Assert the layer builder exists in DrawThebesLayer. r=mattwoodrow
If the layer builder is NULL, this function will cause a crash. The layer
builder being NULL indicates a bug, so assert that it isn't.
2012-10-23 12:05:29 +01:00
Chris Lord
d611c596a1 Bug 803826 - Only reset the layer builder pointer in ~ClippedDisplayItem. r=mattwoodrow
PaintInactiveLayer was resetting the layer manager's layer builder pointer, but
this was unnecessary as this was also being done on destruction of the
ClippedDisplayItem.
2012-10-23 12:05:14 +01:00
Matt Woodrow
2c805adb2f Bug 803194 - Update DisplayItemData and frame data when the merged frame list changes. r=roc 2012-10-19 17:36:00 +13:00
Matt Woodrow
db1a916d11 Bug 802321 - Don't compare geometry objects for inactive layers. r=roc 2012-10-17 21:00:00 +13:00
Matt Woodrow
5adc69789e Bug 795674 - Handled merged frame changes with minimal invalidations. r=roc 2012-10-16 14:23:07 +13:00
Matt Woodrow
48c7fedb20 Bug 801365 - Invalidate ThebesLayers if the zoom factor changes. r=roc 2012-10-16 14:10:51 +13:00
Matt Woodrow
f743e85a32 Bug 800198 - Make mContainerReferenceFrame the reference frame for the items inside the container, not the container itself. r=roc 2012-10-16 14:10:48 +13:00
Robert O'Callahan ext:(%2C%20Matt%20Woodrow%20%3Cmwoodrow%40mozilla.com%3E)
cd666bb77c Bug 770001. When a display item has changed, don't bother invalidating areas that have been clipped out. r=mattwoodrow, roc 2012-10-16 14:10:43 +13:00
Chris Lord
910224d867 Bug 801566 - Fix building with --disable-debug and --enable-dump-painting. r=mattwoodrow
Change #ifdef DEBUG to MOZ_DUMP_PAINTING for function AppUnitsPerDevPixel.
2012-10-15 19:56:11 +01:00
Matt Woodrow
8760ddc9ae Bug 795674 - Remove mNewDisplayItemData. r=roc 2012-10-12 15:39:46 +13:00
Matt Woodrow
7d5daf4218 Bug 800287 - Optimize display list processing. r=roc 2012-10-12 12:38:25 +13:00
Matt Woodrow
7a9bd0af9d Bug 795674 - Add DisplayItemData debugging code. r=roc 2012-10-12 12:38:25 +13:00
Matt Woodrow
8b3fa0303c Bug 795674 - Refactor DisplayItemData storage in FrameLayerBuilder. r=roc 2012-10-12 12:38:24 +13:00
David Zbarsky
d70685476e [Bug 799407] Fix build warnings in layout r=roc 2012-10-10 01:00:05 -04:00
Jeff Walden
7d556d0048 Eliminate a few nullptr-to-bool conversions to avoid a clang warning (which we upgrade to error) in some clang revs. No bug, r=sparky
--HG--
extra : rebase_source : 6b45c8e1dd07449a5ebc34704c19e05fe155f628
2012-10-09 16:14:42 -07:00
Matt Woodrow
6e2109b0c9 Bug 795899 - Remove merged frame handling in BuildContainerLayerFor. r=roc 2012-10-03 13:03:34 +13:00
Phil Ringnalda
293dbb7ef1 merge m-c to m-i 2012-10-01 21:50:57 -07:00
Matt Woodrow
1c469a0cf7 Bug 770144 - Use FuzzyEqual to compare layer scale values. r=roc 2012-10-02 17:00:09 +13:00
Benoit Girard
89e0e7d121 Bug 796084 - Rename MOZ_JAVA_COMPOSITOR -> MOZ_ANDROID_OMTC. r=blassey 2012-10-01 16:01:35 -04:00
Matt Woodrow
7c3ede606e Bug 795591 - Disable merged display item tracking. r=cjones 2012-09-30 13:55:10 +13:00
Isaac Aggrey
0cc4b12d36 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Robert O'Callahan
cc5f08587e Bug 539356 - Fix mActiveScrolledRootOffset to be offset to the reference frame. r=mattwoodrow 2012-09-28 23:19:39 +12:00
Matt Woodrow
5b541f16bf Bug 781053 - Part 2 - Trigger empty transactions when an animated image in an ImageLayer changes frame. r=roc 2012-09-25 08:31:30 +12:00
Matt Woodrow
f4e72f1dd0 Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc 2012-09-25 08:29:14 +12:00
Matt Woodrow
728fcb17f4 Bug 539356 - Handled scrolled inactive layers trees correctly. r=roc 2012-09-17 10:57:22 +12:00
Matt Woodrow
967a15e46e Bug 539356 - Add an option for frames to invalid just a rect instead of the frame bounds. r=roc 2012-08-29 17:48:45 +12:00
Matt Woodrow
8c72ac3baa Bug 539356 - Add HasRetainedDataFor. r=roc 2012-08-29 17:48:45 +12:00
Robert O'Callahan
92dac1e3cd Bug 770001. When comparing clips, adjust for any change in the ThebesLayer coordinate system. When clips are different, try to accumulate differences intelligently, taking into account that changes in clips outside the bounds of the clipped display item don't matter. r=mattwoodrow 2012-08-29 17:48:44 +12:00
Matt Woodrow
36ede50ee4 Bug 539356 - Part 25 - Invalidate display items that have a changed clip. r=roc 2012-08-29 17:48:43 +12:00
Matt Woodrow
3c98add6f7 Bug 539356 - Part 14 - Handle multiple widget layer managers retaining data for the same frame. r=roc 2012-08-29 17:48:41 +12:00
Matt Woodrow
ddc3006aef Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc 2012-08-29 17:48:15 +12:00
Matt Woodrow
12901c44ef Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc 2012-08-29 17:47:18 +12:00
Matt Woodrow
e6baaac399 Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
* * *
imported patch move-by-correctly
2012-08-29 17:47:15 +12:00
Matt Woodrow
f64b473bf7 Bug 539356 - Revert changes made by bug 728983 2012-08-29 17:38:58 +12:00
Ed Morley
5a3b322459 Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE 2012-09-27 16:34:46 +01:00
Robert O'Callahan
e2e5bf0685 Bug 539356 - Fix mActiveScrolledRootOffset to be offset to the reference frame. r=mattwoodrow 2012-09-28 01:07:40 +12:00
Matt Woodrow
2d16b9b765 Bug 781053 - Part 2 - Trigger empty transactions when an animated image in an ImageLayer changes frame. r=roc 2012-09-25 08:31:30 +12:00
Matt Woodrow
6daf7f245c Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc 2012-09-25 08:29:14 +12:00
Matt Woodrow
0a8aa26fb7 Bug 539356 - Handled scrolled inactive layers trees correctly. r=roc 2012-09-17 10:57:22 +12:00
Matt Woodrow
5eaaebce0e Bug 539356 - Add an option for frames to invalid just a rect instead of the frame bounds. r=roc 2012-08-29 17:48:45 +12:00
Matt Woodrow
ff33f7ce7a Bug 539356 - Add HasRetainedDataFor. r=roc 2012-08-29 17:48:45 +12:00
Robert O'Callahan
1d9db1ed96 Bug 770001. When comparing clips, adjust for any change in the ThebesLayer coordinate system. When clips are different, try to accumulate differences intelligently, taking into account that changes in clips outside the bounds of the clipped display item don't matter. r=mattwoodrow 2012-08-29 17:48:44 +12:00
Matt Woodrow
a15597e119 Bug 539356 - Part 25 - Invalidate display items that have a changed clip. r=roc 2012-08-29 17:48:43 +12:00
Matt Woodrow
e6a09298ad Bug 539356 - Part 14 - Handle multiple widget layer managers retaining data for the same frame. r=roc 2012-08-29 17:48:41 +12:00
Matt Woodrow
e978622113 Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc 2012-08-29 17:48:15 +12:00
Matt Woodrow
49d4c24594 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
Phil Ringnalda
16e0947c04 Back out 85d6cbd01d39, 56fc051c1932, a2ad17b87332 (bug 781053) for OS X debug assertions and crashes
--HG--
extra : rebase_source : ab24a2f8e9eddcf33ea39344abb7afbf400bf6e0
2012-09-24 21:23:05 -07:00
Phil Ringnalda
59da0af0b1 Back out 8bd13443d0bc (bug 579517) to get a clean backout
--HG--
extra : rebase_source : 63c8087f0a6de5adeddb8762ff9e410b2b818e22
2012-09-24 21:21:10 -07:00
Ehsan Akhgari
3eee84e809 Bug 579517 follow-up: Remove NSPR types that crept in 2012-09-24 17:55:10 -04:00
Matt Woodrow
aed7d4ce0a Bug 781053 - Part 2 - Trigger empty transactions when an animated image in an ImageLayer changes frame. r=roc 2012-09-25 08:31:30 +12:00
Matt Woodrow
db4e12dd09 Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc 2012-09-25 08:29:14 +12:00
Matt Woodrow
21740b5847 Bug 788044 - Apply the ContainerState offset to ImageLayers. r=roc 2012-09-24 14:56:39 +12:00
Robert O'Callahan
cd1dc8d8c9 Bug 777194. Part 5: When choosing a subpixel position to scroll to, align the new position with the position that was most recently used to rerender the scrolled layer(s). r=tnikkel
If we always align the new scroll position with the previous scroll position, we can accumulate error and
gradually drift out of alignment with the layer pixels until we exceed the tolerance and are forced to
rerender everything.
2012-08-17 11:40:10 +12:00
Robert O'Callahan
ce488db1b3 Bug 777194. Part 8: Nudge transform matrix in ChooseScaleAndSetTransform to avoid math error. r=tnikkel 2012-08-25 16:41:46 +12:00
Matt Woodrow
8684475c74 Bug 788044 - Make inactive layer subtrees relative to the ContainerLayer, not the reference frame. r=roc 2012-09-17 10:25:33 +12:00
Matt Woodrow
5e4a9f531a Bug 788044 - Make transformed frames the reference frame for their display list tree. r=roc 2012-09-16 22:32:59 +12:00
Matt Woodrow
cfe2575635 Bug 788044 - Make various functions take const parameters. r=roc 2012-09-13 12:32:53 +12:00
Chris Lord
d52c9aa58b Bug 786502 - Fix background-attachment:fixed scrolling with page. r=roc
Fix the size check in nsDisplayBackground::ShouldFixToViewport so that async
scrolling of fixed backgrounds works correctly when zoomed in on Firefox
Mobile. Also make IsFixedItem in nsDisplayList public and use it in
FrameLayerBuilder, so that fixed items are determined and treated consistently.
2012-09-13 11:34:34 +01:00
Matt Woodrow
087d06c226 Bug 789396 - Don't overwrite the existing mContainerLayerGeneration value on ThebesLayerItemsEntrys. r=roc 2012-09-12 09:17:26 +12:00
Nicholas Cameron
d6a99a40e3 Bug 786817. Initialise ThebesDisplayItemLayerUserData::mMaskClipCount. r=roc 2012-09-06 16:07:53 +12:00
Nicholas Cameron
120146b67e Bug 769021; fix a memory leak with mask sharing. r=khuey 2012-09-04 13:02:56 +12:00
Nicholas Cameron
f3c3989fbe Bug 786817; Check multiple masks properly and invalidate after removing a mask layer. r=roc 2012-09-04 13:02:56 +12:00
Nicholas Cameron
9b455fc6c9 Back out bug 769021, bug 786817 2012-09-03 22:47:51 +12:00
Nicholas Cameron
26ba269020 Bug 769021; fix a memory leak with mask sharing. r=khuey 2012-09-03 22:35:33 +12:00
Nicholas Cameron
c1efb18903 Bug 786817; Check multiple masks properly and invalidate after removing a mask layer. r=roc 2012-09-03 22:35:33 +12:00
Ed Morley
86cbb250b0 Backout 03cb77f8d75d (bug 769021), 04fd792509d6 (bug 786817) for burning the tree 2012-09-03 09:20:05 +01:00
Nicholas Cameron
fc482cb592 Bug 769021; fix a memory leak with mask sharing. r=khuey 2012-09-03 18:58:07 +12:00
Nicholas Cameron
3cc9795c20 Bug 786817; Check multiple masks properly and invalidate after removing a mask layer. r=roc 2012-09-03 18:58:07 +12:00
Chris Lord
723cb9018a Bug 786672 - Use the scrolled frame for nsDisplayScrollLayer when finding the active scrolled root. r=roc
The underlying frame of an nsDisplayScrollLayer can change and end up returning
different values when finding the active scrolled root. Instead of relying on
display-item ordering/merging, get the scrolled frame from the item (which was
already storing it).
2012-08-30 08:31:16 +01:00
Ehsan Akhgari
c48204a6a9 Bug 579517 follow-up: Remove NSPR types that crept in
--HG--
extra : rebase_source : adad9af01d9168a14d87c201c1bd51a3a7a768f5
2012-08-29 10:56:51 -04:00