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
Chris Lord
306548b14f
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
e7f9cfe919
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
f3010b15e4
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
1636ed3400
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
a9400c350e
Back out bug 785333 (revisions 79345542f853 and a1756976e61d) to fix crasher bug 785626
2012-08-27 16:41:19 -07:00
Chris Lord
161d1ea386
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
30b4deab7a
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
777670dafd
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
e285e5de5c
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
d736d8336e
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
8c296bbcd4
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
b27894f902
Bug 784004 - Don't include Layers.h everywhere Part 3 r=nical
2012-08-21 00:06:46 -04:00
Matt Woodrow
e820e6dcd5
Bug 739671 - Store optimized Color/ImageLayers on the ThebesLayers that they replace. r=roc
2012-08-20 22:00:49 +12:00
Matt Woodrow
430eb94bb3
Bug 782372 - Fix clang build. r=nical
2012-08-20 14:39:10 +12:00
Nicolas Silva
54dd2bf57f
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
e2dd9c2028
Bug 626472 part 3 - Remove nsnull for good; r=ehsan
2012-08-12 13:43:47 +03:00
Chris Lord
07153819b1
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
c2e9a5d59c
Bug 780868 - Only reuse MaskLayers on LayerManagers with the same backend type. r=nrc
2012-08-13 22:11:40 +12:00
Ms2ger
a51e9be374
Bug 780387 - Part f: Stop using PRBool & PRPackedBool; r=bsmedberg
2012-08-09 09:10:13 +02:00
Chris Lord
bd93048cf7
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
4648ff3143
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
7261891bd6
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
e88fd7de46
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
1d8d82865d
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