Commit Graph

523 Commits

Author SHA1 Message Date
Justin Lebar
326d9f9fdf Bug 819791 - Part 8: Use explicit TArray copy constructors in FrameLayerBuilder. r=roc 2012-12-18 20:16:06 -05:00
Matt Woodrow
35435d86a2 Bug 821995 - Revert an incorrect change to matrix multiplication in ChooseScaleAndSetTransform. r=roc 2012-12-18 18:58:44 +13:00
Jeff Walden
7146c23e80 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Matt Woodrow
f995da7b0f Backout changeset 3ba90f85653a (Bug 805343) for regressing android talos tests 2012-12-14 11:51:00 +13:00
Matt Woodrow
5c2d424a58 Backout changeset e8f5182d94c5 (Bug 805343) for regressing android talos tests 2012-12-14 11:50:57 +13:00
Matt Woodrow
1bc8a88aa8 Bug 820541 - Only call ProcessRemovedDisplayItems once per transaction. r=roc 2012-12-13 09:47:05 +13:00
Robert O'Callahan
2e8615df8f 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
--HG--
extra : rebase_source : 48be38242fa6bf51644dc45a804dd834e7eb97b7
2012-12-07 12:58:12 +13:00
Nicholas Cameron
2b16f074f3 Bug 782368; undo patch from 780868. r=mattwoodrow
--HG--
extra : rebase_source : 6eb5a907d4e1eafa6bc7c6dd5d185c28a4c248be
2012-12-12 10:57:52 +13:00
Matt Woodrow
16aadb5e5c Bug 806099 - Use the 'best' active scrolled root when flattening layers, even if it isn't an ancestor of all display items. r=roc 2012-12-12 09:36:22 +13:00
Robert O'Callahan
4f25ab855f 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
7aebe60cc1 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
06e395c355 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
e987323650 Backout 55d5f3cd5c85, d89ae7f40549 & 270391fca858 (bug 663776) for assertions 2012-12-07 12:37:36 +00:00
Robert O'Callahan
744c20ef54 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
b14cf687ae 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
521e6f100b 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
e3e63818cc 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
268082eeb3 Bug 814418 - Fix some warnings about unused variables. r=ehsan 2012-11-30 11:06:37 -05:00
Robert O'Callahan
4fd3be0cc7 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
7c2f1cdf21 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
27cfdfd6b4 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
989deb978d 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
75dacf4dde Bug 812908; add a debug pref for forcing active layers; r=roc 2012-11-23 12:29:05 +13:00
Ed Morley
2f9dc50bd2 Backout d30b99cfd933 (bug 802385), 58ce0ddf7611 (bug 810275), 1c96b4a67d38 (bug 810592) for reftest failures 2012-11-22 09:59:23 +00:00
Matt Woodrow
4b2c6ecf11 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
3fa36733f3 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
b665acff49 Bug 812817. Ignore TYPE_ZERO nsDisplayItemData records constructed for the root layer. r=mattwoodrow 2012-11-19 23:54:50 +13:00
Matt Woodrow
5dc466f953 Bug 811927 - Allow conversion of nsDisplayBackgroundImage into ImageLayers. r=roc 2012-11-19 16:28:18 +13:00
Robert O'Callahan
14d5cbdb22 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
15d3d80fbd Bug 759993. Part 0: FrameLayerBuilder::GetThebesLayerScaleForFrame should not cross popup boundaries. r=mattwoodrow 2012-11-11 00:17:16 -08:00
Ryan VanderMeulen
25c2ea1279 Backed out 8 changesets (bug 810470) due OSX reftest failures. 2012-11-14 22:14:44 -05:00
Robert O'Callahan
a198ed8fb6 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
e2651fa885 Bug 810186 - Don't unnecessarily nest inactive layers. r=roc 2012-11-13 14:22:21 -08:00
Ryan VanderMeulen
5bbdea2881 Backed out changeset 43e4b01c0150 (bug 810186) for reftest failures. 2012-11-13 18:25:09 -05:00
Matt Woodrow
11fd423f63 Bug 810186 - Don't unnecessarily nest inactive layers. r=roc 2012-11-13 14:22:21 -08:00
Matt Woodrow
bcdaf96109 Bug 805197 - Compute a region in LayerTreeInvalidation. r=roc 2012-11-12 10:31:15 -08:00
Bas Schouten
475f579ef1 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
3cc8cded99 Bug 798964 - Don't invalidate nsDisplayBackgroundColor if only the image changed. r=roc 2012-11-07 11:04:53 +13:00
Robert O'Callahan
c71a6efb72 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
ede9f6a2ea 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
18da1f172a 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
89a46852c0 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
ba464dd210 Bug 802321 - Don't compare geometry objects for inactive layers. r=roc 2012-10-17 21:00:00 +13:00
Matt Woodrow
efecba6d6c Bug 795674 - Handled merged frame changes with minimal invalidations. r=roc 2012-10-16 14:23:07 +13:00
Matt Woodrow
f9d6f7fdd4 Bug 801365 - Invalidate ThebesLayers if the zoom factor changes. r=roc 2012-10-16 14:10:51 +13:00
Matt Woodrow
7c4e5b5701 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)
0c3c65fbc0 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
d02d1ec010 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
378eb8c2fa Bug 795674 - Remove mNewDisplayItemData. r=roc 2012-10-12 15:39:46 +13:00
Matt Woodrow
640446a3b7 Bug 800287 - Optimize display list processing. r=roc 2012-10-12 12:38:25 +13:00
Matt Woodrow
15482dcc1f Bug 795674 - Add DisplayItemData debugging code. r=roc 2012-10-12 12:38:25 +13:00
Matt Woodrow
d6769ad8b7 Bug 795674 - Refactor DisplayItemData storage in FrameLayerBuilder. r=roc 2012-10-12 12:38:24 +13:00
David Zbarsky
307c734c43 [Bug 799407] Fix build warnings in layout r=roc 2012-10-10 01:00:05 -04:00
Jeff Walden
c8bc078730 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
039c299dc9 Bug 795899 - Remove merged frame handling in BuildContainerLayerFor. r=roc 2012-10-03 13:03:34 +13:00
Phil Ringnalda
457e38f7d1 merge m-c to m-i 2012-10-01 21:50:57 -07:00
Matt Woodrow
f0b58f5226 Bug 770144 - Use FuzzyEqual to compare layer scale values. r=roc 2012-10-02 17:00:09 +13:00
Benoit Girard
c8f1bc0779 Bug 796084 - Rename MOZ_JAVA_COMPOSITOR -> MOZ_ANDROID_OMTC. r=blassey 2012-10-01 16:01:35 -04:00
Matt Woodrow
0158c64b27 Bug 795591 - Disable merged display item tracking. r=cjones 2012-09-30 13:55:10 +13:00
Isaac Aggrey
997db4d142 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
Robert O'Callahan
c54bcbb4f7 Bug 539356 - Fix mActiveScrolledRootOffset to be offset to the reference frame. r=mattwoodrow 2012-09-28 23:19:39 +12:00
Matt Woodrow
3fb0e93449 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
28ef42bcbf Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc 2012-09-25 08:29:14 +12:00
Matt Woodrow
6cc55ebd06 Bug 539356 - Handled scrolled inactive layers trees correctly. r=roc 2012-09-17 10:57:22 +12:00
Matt Woodrow
5f32437ca2 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
326c678fc2 Bug 539356 - Add HasRetainedDataFor. r=roc 2012-08-29 17:48:45 +12:00
Robert O'Callahan
30decdd42c 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
c0c8a1f3bd Bug 539356 - Part 25 - Invalidate display items that have a changed clip. r=roc 2012-08-29 17:48:43 +12:00
Matt Woodrow
9de7f5c346 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
1f7adc5ccc Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc 2012-08-29 17:48:15 +12:00
Matt Woodrow
5a14809d04 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
4e75c1edde 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
14d849322c Bug 539356 - Revert changes made by bug 728983 2012-08-29 17:38:58 +12:00
Ed Morley
c863356300 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
b86263ecdb Bug 539356 - Fix mActiveScrolledRootOffset to be offset to the reference frame. r=mattwoodrow 2012-09-28 01:07:40 +12:00
Matt Woodrow
8b36b9562b 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
297a694be4 Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc 2012-09-25 08:29:14 +12:00
Matt Woodrow
e4ca2fd71e Bug 539356 - Handled scrolled inactive layers trees correctly. r=roc 2012-09-17 10:57:22 +12:00
Matt Woodrow
7d7084a2d1 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
5686e267b8 Bug 539356 - Add HasRetainedDataFor. r=roc 2012-08-29 17:48:45 +12:00
Robert O'Callahan
1460b91df9 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
275fe981a6 Bug 539356 - Part 25 - Invalidate display items that have a changed clip. r=roc 2012-08-29 17:48:43 +12:00
Matt Woodrow
05068168cf 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
0725f91922 Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc 2012-08-29 17:48:15 +12:00
Matt Woodrow
c73c0db2f1 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
Phil Ringnalda
dd13abdce5 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
a74c209e3e 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
2f19f537bf Bug 579517 follow-up: Remove NSPR types that crept in 2012-09-24 17:55:10 -04:00
Matt Woodrow
35030f54e2 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
addff1531c Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc 2012-09-25 08:29:14 +12:00
Matt Woodrow
65c75afdfb Bug 788044 - Apply the ContainerState offset to ImageLayers. r=roc 2012-09-24 14:56:39 +12:00
Robert O'Callahan
6fb1b72c6e 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
64c9b766be 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
ab9f5929bd 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
891faaf4e5 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
77745de1bf Bug 788044 - Make various functions take const parameters. r=roc 2012-09-13 12:32:53 +12:00
Chris Lord
b3a668dd2a 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
631a554b99 Bug 789396 - Don't overwrite the existing mContainerLayerGeneration value on ThebesLayerItemsEntrys. r=roc 2012-09-12 09:17:26 +12:00
Nicholas Cameron
ba517de324 Bug 786817. Initialise ThebesDisplayItemLayerUserData::mMaskClipCount. r=roc 2012-09-06 16:07:53 +12:00
Nicholas Cameron
b5afb8cd06 Bug 769021; fix a memory leak with mask sharing. r=khuey 2012-09-04 13:02:56 +12:00
Nicholas Cameron
99b5362c97 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
f4d629e6dc Back out bug 769021, bug 786817 2012-09-03 22:47:51 +12:00
Nicholas Cameron
70503d1a66 Bug 769021; fix a memory leak with mask sharing. r=khuey 2012-09-03 22:35:33 +12:00
Nicholas Cameron
a0e4293626 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
2ca37472a4 Backout 03cb77f8d75d (bug 769021), 04fd792509d6 (bug 786817) for burning the tree 2012-09-03 09:20:05 +01:00
Nicholas Cameron
7a6cc0c46b Bug 769021; fix a memory leak with mask sharing. r=khuey 2012-09-03 18:58:07 +12:00
Nicholas Cameron
6201de1c7c 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
040162f094 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
531525812e Bug 579517 follow-up: Remove NSPR types that crept in
--HG--
extra : rebase_source : adad9af01d9168a14d87c201c1bd51a3a7a768f5
2012-08-29 10:56:51 -04:00
Chris Lord
0b93911368 Bug 785333 - Make sure layers are only associated with a single frame. r=roc
Use Layer user-data to ensure that a Layer doesn't end up being found multiple
times for different frames during construction.
2012-08-29 11:53:34 +01:00
Chris Lord
d322fd5f46 Bug 785333 - Keep track of merged frames with all display items. r=roc
This changes the display-item storage to store layers against the underlying
frame and all merged frames of an item (and similarly, to retrieve them against
all frames of an item).
2012-08-29 11:53:27 +01:00
Chris Lord
9e0e5d24bf Bug 785333 - Store container layers against merged frames. r=roc
As well as storing the container layer against the underlying frame of the
container item, store it against its merged frames as well. In addition, check
for old container layers against merged frames when building a container layer.

This protects against losing the layer when the underlying frame of a container
item changes to either a new frame or an existing, merged frame.
2012-08-29 11:53:20 +01:00
Chris Lord
d538b2ed4c Bug 785333 - Don't rely on layer ordering in ContainerState::Finish. r=roc
Rather than relying on a particular ordering of layers in
ContainerState::Finish, use ContainerLayer::Reposition to more reliably remove
old, unused layers.
2012-08-29 11:53:06 +01:00
Gavin Sharp
f99257a9f5 Back out bug 785333 (revisions 79345542f853 and a1756976e61d) to fix crasher bug 785626 2012-08-27 16:41:19 -07:00
Chris Lord
d844099677 Bug 785333 - Keep track of merged frames with all display items. r=roc
This changes the display-item storage to store layers against the underlying
frame and all merged frames of an item (and similarly, to retrieve them against
all frames of an item).
2012-08-24 16:17:22 +01:00
Chris Lord
db96f622c9 Bug 785333 - Store container layers against merged frames. r=roc
As well as storing the container layer against the underlying frame of the
container item, store it against its merged frames as well. In addition, check
for old container layers against merged frames when building a container layer.

This protects against losing the layer when the underlying frame of a container
item changes to either a new frame or an existing, merged frame.
2012-08-24 16:17:22 +01:00
Chris Lord
f823b5376f Bug 781516 - Remove DisplayItemDataEntry.mIsMergedFrame. r=roc
This is unnecessary as it just duplicates the functionality of
mIsSharingContainerLayer.
2012-08-24 11:59:37 +01:00
Chris Lord
302322fd64 Bug 771154 - Invalidate only the frame rect when new frames come into view. r=roc
Instead of forcing a full-layer invalidation when new frames appear, invalidate
only the bounds of the frame. Invalidating untrusted geometry still causes a
full-layer invalidation.
2012-08-23 12:14:47 +01:00
Chris Lord
97efc4771c Bug 781516 - Fix invalidation caused by unprocessed merged frames. r=roc
As clip items aren't processed, they have no associated layer entries. This is
a problem when a clip item's underlying frame is the same as one that gets
merged into a container layer, as display-item data will be created, but no
layer entry will be added. This will cause it to be removed on the next
layer-build, and cause a full invalidation.

Fix this by adding an 'mIsMergedFrame' entry to DisplayItemDataEntry and setting
it on all merged frames in BuildContainerLayerFor. This property stops the
entry from being removed when it gets updated.
2012-08-23 09:30:53 +01:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
David Zbarsky
fbb04700b6 Bug 784004 - Don't include Layers.h everywhere Part 3 r=nical 2012-08-21 00:06:46 -04:00
Matt Woodrow
31fa7e5c17 Bug 739671 - Store optimized Color/ImageLayers on the ThebesLayers that they replace. r=roc 2012-08-20 22:00:49 +12:00
Matt Woodrow
7591d1ef12 Bug 782372 - Fix clang build. r=nical 2012-08-20 14:39:10 +12:00
Nicolas Silva
047b99ba78 Bug 782372 - Splits ImageLayers.h into ImageLayers.h ImageContainer.h and ImageTypes.h, r=bgirard 2012-08-19 15:33:25 -04:00
Aryeh Gregor
6a9cec29c8 Bug 626472 part 3 - Remove nsnull for good; r=ehsan 2012-08-12 13:43:47 +03:00
Chris Lord
6bdbf9e99e Bug 777260 - Fix invalidations on transform items in container layers. r=roc
Since Bug 758620, it's possible for an nsDisplayTransform to appear as the
child of a container layer. This caused problems when it was inactive, as the
invalidation would not be transformed in this case.

Fix this in FrameLayerBuilder by mandating that InvalidateThebesLayerContents
takes the untransformed invalidation and apply the transform in
BuildContainerLayer.
2012-08-13 22:54:38 -04:00
Matt Woodrow
79137e0a05 Bug 780868 - Only reuse MaskLayers on LayerManagers with the same backend type. r=nrc 2012-08-13 22:11:40 +12:00
Ms2ger
26217245c9 Bug 780387 - Part f: Stop using PRBool & PRPackedBool; r=bsmedberg 2012-08-09 09:10:13 +02:00
Chris Lord
cfe2b98a1f Bug 775431 - Make MOZ_DUMP_PAINT_LIST output terminal-friendly. r=mattwoodrow
Only output in HTML if we're dumping to a file, otherwise output as it did
before the HTML output change was made.
2012-08-07 18:57:26 +01:00
Robert O'Callahan
3d2256832d Bug 776836. When invalidating ThebesLayers due to an appunits-per-dev-pixel change, we can't trust the frame geometry. r=mattwoodrow 2012-08-07 23:07:07 +12:00
Robert O'Callahan
9022336c2e Bug 772679. Handle frame with NS_HAS_CONTAINER_LAYER having no display items. r=tnikkel 2012-08-05 20:59:06 +12:00
Robert O'Callahan
8e16c0a415 Bug 772679. RestrictToLayerPixels needs to accurately convert between appunits scroll offsets and ThebesLayer pixel coordinates. r=tnikkel
Change GetThebesLayerResolutionForFrame to GetThebesLayerScaleForFrame,
which just returns a scale. Ensure that the scale is as accurate as possible
even if dedicated layers for scrolled content (or any layers at all) have not
been created yet, by taking into account transforms that have not yet
generated layers. This makes the decisions made by
nsGfxScrollFrameInner::ScrollToImpl independent of whether there is
currently an active layer for the scrolled content (or much more nearly so).
In nsGfxScrollFrameInner::ScrollToImpl, do not use the current internal
fractional offset of the ThebesLayer, which is in a mostly unrelated
coordinate space to our scroll positions. Instead, just try to make sure
that the previous and next scroll position differ by a whole number of
layer pixels.
2012-08-05 00:26:38 +12:00
Ed Morley
438c915d9b Backout 6ea008b301da, 14d17919e235, b15fb3603bfe & f89ae41eed63 (bug 772679) for turning test_offsets.html perma-orange on native Android mochitest-7 2012-08-05 14:35:08 +01:00
Robert O'Callahan
669e2512a7 Bug 772679. Handle frame with NS_HAS_CONTAINER_LAYER having no display items. r=tnikkel 2012-08-05 20:59:06 +12:00
Robert O'Callahan
77a535e992 Bug 772679. RestrictToLayerPixels needs to accurately convert between appunits scroll offsets and ThebesLayer pixel coordinates. r=tnikkel
Change GetThebesLayerResolutionForFrame to GetThebesLayerScaleForFrame,
which just returns a scale. Ensure that the scale is as accurate as possible
even if dedicated layers for scrolled content (or any layers at all) have not
been created yet, by taking into account transforms that have not yet
generated layers. This makes the decisions made by
nsGfxScrollFrameInner::ScrollToImpl independent of whether there is
currently an active layer for the scrolled content (or much more nearly so).
In nsGfxScrollFrameInner::ScrollToImpl, do not use the current internal
fractional offset of the ThebesLayer, which is in a mostly unrelated
coordinate space to our scroll positions. Instead, just try to make sure
that the previous and next scroll position differ by a whole number of
layer pixels.
2012-08-05 00:26:38 +12:00
Ms2ger
434ae84f40 Back out bug 772679 for crashes. 2012-08-04 15:10:45 +02:00
Robert O'Callahan
e165f64efd Bug 772679. RestrictToLayerPixels needs to accurately convert between appunits scroll offsets and ThebesLayer pixel coordinates. r=tnikkel
Change GetThebesLayerResolutionForFrame to GetThebesLayerScaleForFrame,
which just returns a scale. Ensure that the scale is as accurate as possible
even if dedicated layers for scrolled content (or any layers at all) have not
been created yet, by taking into account transforms that have not yet
generated layers. This makes the decisions made by
nsGfxScrollFrameInner::ScrollToImpl independent of whether there is
currently an active layer for the scrolled content (or much more nearly so).
In nsGfxScrollFrameInner::ScrollToImpl, do not use the current internal
fractional offset of the ThebesLayer, which is in a mostly unrelated
coordinate space to our scroll positions. Instead, just try to make sure
that the previous and next scroll position differ by a whole number of
layer pixels.
2012-08-05 00:26:38 +12:00
David Zbarsky
a2c20d2493 Bug 706179 Part 3: Turn on the use of scaling for layers in FrameLayerBuilder r=mattwoodrow 2012-08-03 14:29:22 -07:00
David Zbarsky
f386a1e940 Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron 2012-07-31 10:28:21 -07:00
David Zbarsky
1e9fefd64e Bug 706179 Part 2: Add a BaseTransform and scaling to layers, r=roc, cjones 2012-07-30 19:20:00 -07:00
Mark Finkle
70a01196ec Backout 169ff207ed19, a34baed70c1b, f9ccdd490bd7, 39550ed860e6, 2194a2dd66b2, 908eb2e26843, a76e0a267f26 due to mobile viewport bustage (bug 778580) 2012-07-30 14:36:12 -04:00
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Nicolas Silva
e2ab39fb96 Bug 773462 - Rename calls to ImageContainer::SetCurrentImage into ImageContainer::SetCurrentImageInTransaction when the method is used within a layer transaction. r=roc 2012-07-26 14:11:22 -04:00
David Zbarsky
9bf8a70491 Bug 706179 Part 2: Add a BaseTransform to layers r=roc 2012-07-27 13:23:45 -07:00
David Zbarsky
5a900008c4 Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron 2012-07-27 13:23:44 -07:00
Ed Morley
be8bf4beae Backout 1244b8a8e57a (bug 755084), 32d16d0f87c9 (bug 706179), 8548e016d4a9 (bug 768440), 697f5b87eae9 (bug 768440), 808fc2bd4e8c (bug 755084), 54b1484cd125 (bug 755084), 876726b632c0 (bug 706179) for xul android R3 failures 2012-07-25 16:37:04 +01:00
David Zbarsky
d29cc0cf63 Bug 706179 Part 2: Add a BaseTransform to layers to return the layer's transform without scaling applied r=roc 2012-07-25 01:48:10 -07:00
David Zbarsky
0fe356e5ed Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron 2012-07-25 01:48:09 -07:00
Matt Woodrow
5102cafa8e Bug 770096 - Prevent crashes when encountering an empty ThebesLayer. r=roc 2012-07-25 09:39:01 +12:00
Matt Brubeck
2e41f92cb5 Back out f4f5189b1d0c, 3b4f0606c547, b8a5a1ab8a5f, 5078933d6954, 7e0260c45de9 (bug 768440, bug 755084, bug 706179) because of reftest failures 2012-07-23 20:25:51 -07:00
David Zbarsky
5deebe2e9b Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron 2012-07-23 17:34:46 -07:00
Matt Woodrow
0bc8f48c38 Bug 741682 - Flatten component alpha layers into their parent layer with BasicLayers. r=roc 2012-07-23 15:00:36 +12:00
Matt Woodrow
31acc195c6 Bug 741682 - Use nsRegion::ScaleToInsidePixels when computing opaque regions of layers. r=roc 2012-07-23 15:00:36 +12:00
Jonathan Watt
e52e0a6f49 Bug 775697 - Cancel layer transactions that haven't ended after nsDisplaySVGEffects::PaintAsLayer returns. r=roc. 2012-07-20 00:53:55 -04:00
Matt Woodrow
f44f8caaf1 Bug 773100 - Invalidate the frame bounds instead of deleting the frame property. r=roc 2012-07-18 14:56:42 -04:00
Ehsan Akhgari
7099eb2ffc Backout changeset f0be368bb172 (bug 773100) for broken builds across the board 2012-07-18 12:19:20 -04:00
Matt Woodrow
61b2488959 Bug 773100 - Invalidate the frame bounds instead of deleting the frame property. r=roc 2012-07-16 22:28:44 -04:00
Matt Woodrow
55c47b5cde Bug 539356 - Part 7 - Store FrameLayerBuilder objects on the LayerManager instead of nsDisplayListBuilder. r=roc 2012-07-17 13:03:51 -04:00
Matt Woodrow
7ff6103aa6 Bug 539356 - Part 5 - Change SVG effects painting to use a LayerManager transaction. r=roc 2012-07-17 13:03:51 -04:00
Chris Lord
37292f8877 Bug 772079 - Fix ThebesLayerInvalidRegion being destroyed too soon. r=roc
A comment in ApplyThebesLayerInvalidation says that it preserves the content
of ThebesLayerInvalidRegion, in case there are multiple container layers for
the same frame. SetHasContainerLayer, however, immediately clears said property.

This was causing invalidations to be lost since Bug 758620 on fixed-position
elements, as they were being separated out onto their own layers but were still
merged in the root scroll layer. This is tracked in Bug 769541.

This fixes the problem by storing the new invalid region in DisplayItemDataEntry
and clearing/setting the ThebesLayerInvalidRegion property in the
UpdateDisplayItemData callback from FrameLayerBuilder::WillEndTransaction.
2012-07-14 08:49:05 +01:00
Benoit Girard
3009880b26 Bug 771219 - Restore display items when drawing a thebes layer. r=roc 2012-07-06 13:57:47 -04:00
Ehsan Akhgari
4644ee9d96 Backout changeset eea5704272d0 (bug 539356) because of performance and correctness regressions 2012-07-03 20:28:32 -04:00
Ehsan Akhgari
ebecf18be9 Backout changeset 60affaedccc3 (bug 539356) because of performance and correctness regressions 2012-07-03 20:26:55 -04:00
Ehsan Akhgari
85c54dc494 Backout changeset f83491fc735a (bug 539356) because of performance and correctness regressions 2012-07-03 20:25:37 -04:00
Ehsan Akhgari
5e6974df88 Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions 2012-07-03 20:24:55 -04:00
Ehsan Akhgari
ebb2d3223a Backout changeset 90ab708bab8b (bug 539356) because of performance and correctness regressions 2012-07-03 20:19:49 -04:00
Ehsan Akhgari
392100a449 Backout changeset 65410094add4 (bug 539356) because of performance and correctness regressions 2012-07-03 20:19:18 -04:00
Ehsan Akhgari
8f19fe7049 Backout changeset ce5e9fefee19 (bug 539356) because of performance and correctness regressions 2012-07-03 20:18:34 -04:00
Ehsan Akhgari
e217b72858 Backout changeset 0c75abcb72ff (bug 539356) because of performance and correctness regressions 2012-07-03 20:17:01 -04:00
Ehsan Akhgari
2edc2e9dbf Backout changeset f7599b247eef (bug 539356) because of performance and correctness regressions 2012-07-03 20:10:16 -04:00
Ehsan Akhgari
64c98e2147 Backout changeset 6234134d4430 (bug 539356) because of performance and correctness regressions 2012-07-03 20:08:19 -04:00
Ehsan Akhgari
4d2dc4e9a4 Backout changeset 2cf9546ee691 (bug 770001) because DLBI is being backed out 2012-07-03 19:40:24 -04:00
Ehsan Akhgari
66612fe60d Backout changeset 4e29b12a5d25 (bug 770096) because DLBI is being backed out 2012-07-03 19:38:42 -04:00
Phil Ringnalda
700c915a37 Back out 921c2e13b45e (bug 770144) for reftest bustage 2012-07-02 21:04:38 -07:00
Matt Woodrow
8662ef3442 Bug 770144 - Restrict ThebesLayer invalidations to the visible region. r=roc 2012-07-03 14:26:45 +12:00
Matt Woodrow
b14b46dec5 Bug 770096 - Prevent crashes when encountering an empty ThebesLayer. r=roc 2012-07-03 14:23:11 +12:00
Robert O'Callahan
e1af2fd5e7 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
--HG--
extra : rebase_source : d958c629307045f2592ffe658cd1a2e608713cbd
2012-07-02 11:46:21 +12:00
Matt Woodrow
660deac456 Bug 539356 - Part 28 - Cached nsDisplayBackground rasterizations with BasicLayers. r=roc 2012-06-30 15:06:14 +12:00
Matt Woodrow
67796cbb7d Bug 539356 - Part 25 - Invalidate display items that have a changed clip. r=roc 2012-06-30 15:06:13 +12:00
Matt Woodrow
ab51baf3ec Bug 539356 - Part 14 - Handle multiple widget layer managers retaining data for the same frame. r=roc 2012-06-30 15:06:12 +12:00
Matt Woodrow
850cb83cd3 Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc 2012-06-30 15:06:12 +12:00
Matt Woodrow
ffcd727240 Bug 741682 - Disable component alpha layers with BasicLayers. r=roc 2012-06-30 15:06:12 +12:00
Matt Woodrow
4e803b179a Bug 739671 - Store optimized Color/ImageLayers on the ThebesLayers that they replace. r=roc 2012-06-30 15:06:12 +12:00
Matt Woodrow
cbd39105d9 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-06-30 15:06:11 +12:00
Matt Woodrow
557c514f1c Bug 539356 - Revert changes made by bug 728983 2012-06-30 15:06:10 +12:00
Matt Woodrow
a072bd4903 Bug 539356 - Part 7 - Store FrameLayerBuilder objects on the LayerManager instead of nsDisplayListBuilder. r=roc 2012-06-30 15:06:10 +12:00
Matt Woodrow
147e839dc3 Bug 539356 - Part 5 - Change SVG effects painting to use a LayerManager transaction. r=roc 2012-06-30 15:06:10 +12:00
Nicholas Cameron
03e8305815 Bug 757346; mask image format stuff - use A8 textures (except DX10) and some small, misc fixes. r=roc 2012-06-26 14:43:31 +12:00
Nicholas Cameron
34289b5948 Bug 757347; Add a shutdown hook and remove MaskImageFormat(). r=roc 2012-06-26 14:43:30 +12:00
Nicholas Cameron
dde00bf60b Bug 757347; changes to FrameLayerBuilder. r=roc 2012-06-26 14:43:30 +12:00
Nicholas Cameron
4a220c27be Bug 757347; changes to mask layer user data. r=roc 2012-06-26 14:43:30 +12:00
Nicholas Cameron
549b63d97d Back out bug 757346
--HG--
extra : rebase_source : 8a07c2c56ca9dbc165012b679d421435cc886c2c
2012-06-26 10:54:05 +12:00
Nicholas Cameron
aae4ecb5d0 Bug 757346; mask image format stuff - use A8 textures (except DX10) and some small, misc fixes. r=roc 2012-06-26 09:44:41 +12:00
Nicholas Cameron
f7821afd6f Bug 757347; Add a shutdown hook and remove MaskImageFormat(). r=roc 2012-06-26 09:44:41 +12:00
Nicholas Cameron
6f0ff4bb34 Bug 757347; changes to FrameLayerBuilder. r=roc 2012-06-26 09:44:41 +12:00
Nicholas Cameron
005c5ef480 Bug 757347; changes to mask layer user data. r=roc 2012-06-26 09:44:41 +12:00
Ryan VanderMeulen
891e38e528 Revert c39d36167b99 due to a horribly munged backout. 2012-06-10 19:44:50 -04:00
Ryan VanderMeulen
f497d31a0a Backout the bug 754202 backout due to orange. 2012-06-10 19:37:47 -04:00
Nicholas Cameron
a073280631 Bug 755078 - Backout previously-landed patch for bug 755078. r=roc 2012-06-09 14:22:40 -04:00
Robert O'Callahan
c94736b8a6 Bug 753329. Share ThebesLayerInvalidRegion for a given ContainerLayer across all the frames that are sharing that layer as their ContainerLayer. r=mattwoodrow
* * *
Bug 753329. Followup: put ThebesLayerInvalidRegionProperty in display-list-builder coordinates so it can be shared by frames with different coordinate systems. r=mattwoodrow
2012-06-07 22:07:32 +12:00