Robert O'Callahan
c97490c3bd
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
c8f8f66aa8
Bug 759993. Part 0: FrameLayerBuilder::GetThebesLayerScaleForFrame should not cross popup boundaries. r=mattwoodrow
2012-11-11 00:17:16 -08:00
Ryan VanderMeulen
98268dbc6a
Backed out 8 changesets (bug 810470) due OSX reftest failures.
2012-11-14 22:14:44 -05:00
Robert O'Callahan
e8e49104f4
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
f6071f821a
Bug 810186 - Don't unnecessarily nest inactive layers. r=roc
2012-11-13 14:22:21 -08:00
Ryan VanderMeulen
b016c92883
Backed out changeset 43e4b01c0150 (bug 810186) for reftest failures.
2012-11-13 18:25:09 -05:00
Matt Woodrow
2e9353fe55
Bug 810186 - Don't unnecessarily nest inactive layers. r=roc
2012-11-13 14:22:21 -08:00
Matt Woodrow
5fbd933167
Bug 805197 - Compute a region in LayerTreeInvalidation. r=roc
2012-11-12 10:31:15 -08:00
Bas Schouten
8223d5f423
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
ced424bb37
Bug 798964 - Don't invalidate nsDisplayBackgroundColor if only the image changed. r=roc
2012-11-07 11:04:53 +13:00
Robert O'Callahan
11676b36b3
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
902a49fffc
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
889837ab78
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
d8b36d4a41
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
7c3fac5a5a
Bug 802321 - Don't compare geometry objects for inactive layers. r=roc
2012-10-17 21:00:00 +13:00
Matt Woodrow
65d3ca6956
Bug 795674 - Handled merged frame changes with minimal invalidations. r=roc
2012-10-16 14:23:07 +13:00
Matt Woodrow
03bb827842
Bug 801365 - Invalidate ThebesLayers if the zoom factor changes. r=roc
2012-10-16 14:10:51 +13:00
Matt Woodrow
8aef6bc9df
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)
2d4d388af6
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
502d6506df
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
e134487b0f
Bug 795674 - Remove mNewDisplayItemData. r=roc
2012-10-12 15:39:46 +13:00
Matt Woodrow
20207825ed
Bug 800287 - Optimize display list processing. r=roc
2012-10-12 12:38:25 +13:00
Matt Woodrow
ce3d64c0bf
Bug 795674 - Add DisplayItemData debugging code. r=roc
2012-10-12 12:38:25 +13:00
Matt Woodrow
ef27f4b582
Bug 795674 - Refactor DisplayItemData storage in FrameLayerBuilder. r=roc
2012-10-12 12:38:24 +13:00
David Zbarsky
4085f74a3f
[Bug 799407] Fix build warnings in layout r=roc
2012-10-10 01:00:05 -04:00
Jeff Walden
85c3da4e2b
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
c4c4cf64ef
Bug 795899 - Remove merged frame handling in BuildContainerLayerFor. r=roc
2012-10-03 13:03:34 +13:00
Phil Ringnalda
c6527debed
merge m-c to m-i
2012-10-01 21:50:57 -07:00
Matt Woodrow
e0e50b2f9b
Bug 770144 - Use FuzzyEqual to compare layer scale values. r=roc
2012-10-02 17:00:09 +13:00
Benoit Girard
3ffd913d8e
Bug 796084 - Rename MOZ_JAVA_COMPOSITOR -> MOZ_ANDROID_OMTC. r=blassey
2012-10-01 16:01:35 -04:00
Matt Woodrow
60d153e99d
Bug 795591 - Disable merged display item tracking. r=cjones
2012-09-30 13:55:10 +13:00
Isaac Aggrey
481e7dfb0b
Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan
2012-09-28 01:57:33 -05:00
Robert O'Callahan
d2d71eb564
Bug 539356 - Fix mActiveScrolledRootOffset to be offset to the reference frame. r=mattwoodrow
2012-09-28 23:19:39 +12:00
Matt Woodrow
638b4002cb
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
17610240f2
Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc
2012-09-25 08:29:14 +12:00
Matt Woodrow
6ad714c685
Bug 539356 - Handled scrolled inactive layers trees correctly. r=roc
2012-09-17 10:57:22 +12:00
Matt Woodrow
daef8103fd
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
68d1759f83
Bug 539356 - Add HasRetainedDataFor. r=roc
2012-08-29 17:48:45 +12:00
Robert O'Callahan
2a29a59285
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
9fbfb8ce89
Bug 539356 - Part 25 - Invalidate display items that have a changed clip. r=roc
2012-08-29 17:48:43 +12:00
Matt Woodrow
57198c4af7
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
0bcc3bdfe2
Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc
2012-08-29 17:48:15 +12:00
Matt Woodrow
5730a3f4b2
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
c36e8e6c82
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
898768b9d9
Bug 539356 - Revert changes made by bug 728983
2012-08-29 17:38:58 +12:00
Ed Morley
aba3a8f5ef
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
c2677882e5
Bug 539356 - Fix mActiveScrolledRootOffset to be offset to the reference frame. r=mattwoodrow
2012-09-28 01:07:40 +12:00
Matt Woodrow
53908eb696
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
af81361caa
Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc
2012-09-25 08:29:14 +12:00
Matt Woodrow
3724c42399
Bug 539356 - Handled scrolled inactive layers trees correctly. r=roc
2012-09-17 10:57:22 +12:00
Matt Woodrow
27184c37d8
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
777d55a0f5
Bug 539356 - Add HasRetainedDataFor. r=roc
2012-08-29 17:48:45 +12:00
Robert O'Callahan
73932e816e
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
7e7fde4fd3
Bug 539356 - Part 25 - Invalidate display items that have a changed clip. r=roc
2012-08-29 17:48:43 +12:00
Matt Woodrow
7e1d34c12c
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
c7595046d1
Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc
2012-08-29 17:48:15 +12:00
Matt Woodrow
4d096475d2
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-08-29 17:38:58 +12:00
Phil Ringnalda
8166187203
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
02d5380784
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
f0b366783f
Bug 579517 follow-up: Remove NSPR types that crept in
2012-09-24 17:55:10 -04:00
Matt Woodrow
8570336fe7
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
636d5256a9
Bug 781053 - Part 1 - Allow conversion of nsImageBoxFrame to an ImageLayer. r=roc
2012-09-25 08:29:14 +12:00
Matt Woodrow
25f029bce0
Bug 788044 - Apply the ContainerState offset to ImageLayers. r=roc
2012-09-24 14:56:39 +12:00
Robert O'Callahan
92273d000e
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
926420a445
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
ad9a9edc59
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
464976376b
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
d6a87a4ee6
Bug 788044 - Make various functions take const parameters. r=roc
2012-09-13 12:32:53 +12:00
Chris Lord
d4f38f7c0a
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
335db2b413
Bug 789396 - Don't overwrite the existing mContainerLayerGeneration value on ThebesLayerItemsEntrys. r=roc
2012-09-12 09:17:26 +12:00
Nicholas Cameron
7be949957a
Bug 786817. Initialise ThebesDisplayItemLayerUserData::mMaskClipCount. r=roc
2012-09-06 16:07:53 +12:00
Nicholas Cameron
210b488f66
Bug 769021; fix a memory leak with mask sharing. r=khuey
2012-09-04 13:02:56 +12:00
Nicholas Cameron
3fdbcff687
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
e78f249443
Back out bug 769021, bug 786817
2012-09-03 22:47:51 +12:00
Nicholas Cameron
0d44d4a95d
Bug 769021; fix a memory leak with mask sharing. r=khuey
2012-09-03 22:35:33 +12:00
Nicholas Cameron
90e033f0ae
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
eaff9ae281
Backout 03cb77f8d75d (bug 769021), 04fd792509d6 (bug 786817) for burning the tree
2012-09-03 09:20:05 +01:00
Nicholas Cameron
b56388c6aa
Bug 769021; fix a memory leak with mask sharing. r=khuey
2012-09-03 18:58:07 +12:00
Nicholas Cameron
219d6ac104
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
6f2be640b7
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
dae032a5cb
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
8751a59609
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
be2d43f5f8
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
1c5321c712
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
1ceab1b264
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
4a0a74bd3f
Back out bug 785333 (revisions 79345542f853 and a1756976e61d) to fix crasher bug 785626
2012-08-27 16:41:19 -07:00
Chris Lord
f1d99acd96
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
8646631b2f
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
0e353016e5
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
405f514d29
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
1ed92dbcdb
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
e368dc9c85
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
3154e1b535
Bug 784004 - Don't include Layers.h everywhere Part 3 r=nical
2012-08-21 00:06:46 -04:00
Matt Woodrow
cd52b25d80
Bug 739671 - Store optimized Color/ImageLayers on the ThebesLayers that they replace. r=roc
2012-08-20 22:00:49 +12:00
Matt Woodrow
7cf26992d4
Bug 782372 - Fix clang build. r=nical
2012-08-20 14:39:10 +12:00
Nicolas Silva
75542595f3
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
a88ffe5c80
Bug 626472 part 3 - Remove nsnull for good; r=ehsan
2012-08-12 13:43:47 +03:00
Chris Lord
906a062c5f
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
e9e1b28a99
Bug 780868 - Only reuse MaskLayers on LayerManagers with the same backend type. r=nrc
2012-08-13 22:11:40 +12:00
Ms2ger
374d1023c2
Bug 780387 - Part f: Stop using PRBool & PRPackedBool; r=bsmedberg
2012-08-09 09:10:13 +02:00
Chris Lord
e7e6823aa8
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
f6974a92fb
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
65fc24b3ac
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
0271a0df97
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
5be29bb8fd
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
b1946a2297
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
cab8001bc3
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
fbb42e3f19
Back out bug 772679 for crashes.
2012-08-04 15:10:45 +02:00
Robert O'Callahan
8066d0318d
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
aaa7d5ced9
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
bf4f8d3c97
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
c83e9b7631
Bug 706179 Part 2: Add a BaseTransform and scaling to layers, r=roc, cjones
2012-07-30 19:20:00 -07:00
Mark Finkle
ecceaf8977
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
d0ad5a7d0c
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Nicolas Silva
abe6f904ce
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
3a15cfbf6b
Bug 706179 Part 2: Add a BaseTransform to layers r=roc
2012-07-27 13:23:45 -07:00
David Zbarsky
93b20c52d3
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
3ed23376d4
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
6b4c02cd9f
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
630069520d
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
e703ba2bc9
Bug 770096 - Prevent crashes when encountering an empty ThebesLayer. r=roc
2012-07-25 09:39:01 +12:00
Matt Brubeck
90029e0bf6
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
ffaa635014
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
1a5c93fd0e
Bug 741682 - Flatten component alpha layers into their parent layer with BasicLayers. r=roc
2012-07-23 15:00:36 +12:00
Matt Woodrow
9cd0f7f2c4
Bug 741682 - Use nsRegion::ScaleToInsidePixels when computing opaque regions of layers. r=roc
2012-07-23 15:00:36 +12:00
Jonathan Watt
613454044e
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
d275a863dc
Bug 773100 - Invalidate the frame bounds instead of deleting the frame property. r=roc
2012-07-18 14:56:42 -04:00
Ehsan Akhgari
b9d3334c84
Backout changeset f0be368bb172 (bug 773100) for broken builds across the board
2012-07-18 12:19:20 -04:00
Matt Woodrow
4322843c84
Bug 773100 - Invalidate the frame bounds instead of deleting the frame property. r=roc
2012-07-16 22:28:44 -04:00
Matt Woodrow
35ca0069c9
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
8f6b3ad35c
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
be15aa7a6e
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
c9a0c8bbde
Bug 771219 - Restore display items when drawing a thebes layer. r=roc
2012-07-06 13:57:47 -04:00
Ehsan Akhgari
0a629a3bf0
Backout changeset eea5704272d0 (bug 539356) because of performance and correctness regressions
2012-07-03 20:28:32 -04:00
Ehsan Akhgari
97259d4a95
Backout changeset 60affaedccc3 (bug 539356) because of performance and correctness regressions
2012-07-03 20:26:55 -04:00
Ehsan Akhgari
104c7d23eb
Backout changeset f83491fc735a (bug 539356) because of performance and correctness regressions
2012-07-03 20:25:37 -04:00
Ehsan Akhgari
cf18ee9122
Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions
2012-07-03 20:24:55 -04:00
Ehsan Akhgari
881434cf7b
Backout changeset 90ab708bab8b (bug 539356) because of performance and correctness regressions
2012-07-03 20:19:49 -04:00
Ehsan Akhgari
12c6e3a4cf
Backout changeset 65410094add4 (bug 539356) because of performance and correctness regressions
2012-07-03 20:19:18 -04:00
Ehsan Akhgari
238d1d3b87
Backout changeset ce5e9fefee19 (bug 539356) because of performance and correctness regressions
2012-07-03 20:18:34 -04:00
Ehsan Akhgari
90c683152d
Backout changeset 0c75abcb72ff (bug 539356) because of performance and correctness regressions
2012-07-03 20:17:01 -04:00
Ehsan Akhgari
ac450f3382
Backout changeset f7599b247eef (bug 539356) because of performance and correctness regressions
2012-07-03 20:10:16 -04:00
Ehsan Akhgari
8538d26c24
Backout changeset 6234134d4430 (bug 539356) because of performance and correctness regressions
2012-07-03 20:08:19 -04:00
Ehsan Akhgari
3f3e9b2398
Backout changeset 2cf9546ee691 (bug 770001) because DLBI is being backed out
2012-07-03 19:40:24 -04:00
Ehsan Akhgari
5d271165bb
Backout changeset 4e29b12a5d25 (bug 770096) because DLBI is being backed out
2012-07-03 19:38:42 -04:00
Phil Ringnalda
fec7a1197e
Back out 921c2e13b45e (bug 770144) for reftest bustage
2012-07-02 21:04:38 -07:00
Matt Woodrow
a8f5323a9f
Bug 770144 - Restrict ThebesLayer invalidations to the visible region. r=roc
2012-07-03 14:26:45 +12:00
Matt Woodrow
d12a02fd65
Bug 770096 - Prevent crashes when encountering an empty ThebesLayer. r=roc
2012-07-03 14:23:11 +12:00
Robert O'Callahan
b1e87e032b
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
847a97d95f
Bug 539356 - Part 28 - Cached nsDisplayBackground rasterizations with BasicLayers. r=roc
2012-06-30 15:06:14 +12:00
Matt Woodrow
1c01acc55b
Bug 539356 - Part 25 - Invalidate display items that have a changed clip. r=roc
2012-06-30 15:06:13 +12:00
Matt Woodrow
eb82c6c575
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
bcf746ab4e
Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc
2012-06-30 15:06:12 +12:00
Matt Woodrow
f4ee9e6284
Bug 741682 - Disable component alpha layers with BasicLayers. r=roc
2012-06-30 15:06:12 +12:00
Matt Woodrow
842ed068ce
Bug 739671 - Store optimized Color/ImageLayers on the ThebesLayers that they replace. r=roc
2012-06-30 15:06:12 +12:00
Matt Woodrow
31125260ee
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-06-30 15:06:11 +12:00
Matt Woodrow
e7b2e75e9a
Bug 539356 - Revert changes made by bug 728983
2012-06-30 15:06:10 +12:00
Matt Woodrow
c238df59ea
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
831f8a3e50
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
162bac1537
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
f1e0596d58
Bug 757347; Add a shutdown hook and remove MaskImageFormat(). r=roc
2012-06-26 14:43:30 +12:00
Nicholas Cameron
2b4e7781e6
Bug 757347; changes to FrameLayerBuilder. r=roc
2012-06-26 14:43:30 +12:00
Nicholas Cameron
a11036f50f
Bug 757347; changes to mask layer user data. r=roc
2012-06-26 14:43:30 +12:00
Nicholas Cameron
1a825cc2d4
Back out bug 757346
...
--HG--
extra : rebase_source : 8a07c2c56ca9dbc165012b679d421435cc886c2c
2012-06-26 10:54:05 +12:00
Nicholas Cameron
eabed73236
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
841c20e037
Bug 757347; Add a shutdown hook and remove MaskImageFormat(). r=roc
2012-06-26 09:44:41 +12:00
Nicholas Cameron
4620356d60
Bug 757347; changes to FrameLayerBuilder. r=roc
2012-06-26 09:44:41 +12:00
Nicholas Cameron
efe0b630c3
Bug 757347; changes to mask layer user data. r=roc
2012-06-26 09:44:41 +12:00
Ryan VanderMeulen
5f2a19ee6e
Revert c39d36167b99 due to a horribly munged backout.
2012-06-10 19:44:50 -04:00
Ryan VanderMeulen
6d6c4efbab
Backout the bug 754202 backout due to orange.
2012-06-10 19:37:47 -04:00
Nicholas Cameron
d9b806d12b
Bug 755078 - Backout previously-landed patch for bug 755078. r=roc
2012-06-09 14:22:40 -04:00
Robert O'Callahan
276c0dd363
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
Nicholas Cameron
51d3372b42
Bug 758561 - Don't build a mask for an empty layer. r=roc
2012-05-28 21:10:08 -04:00
Nicholas Cameron
f359b4c94c
Bug 757346 - Change from clipping the mask to drawing it. r=roc
2012-05-27 16:55:22 -04:00
Robert O'Callahan
a567b26b6f
Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel
2012-05-04 17:00:57 +12:00
Nicholas Cameron
0ff78c2542
Bug 753784; force mask layers to have a single tile - misc bits and pieces. r=roc
2012-05-17 10:30:10 +12:00
Nicholas Cameron
13553ad870
Bug 753784; add the ability to force a single tile. r=roc
2012-05-22 19:14:03 -04:00
Gervase Markham
82ff7027aa
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Nicholas Cameron
5027f9e01b
Bug 755078 - Disable mask layers on Android. r=roc
2012-05-17 10:30:10 +12:00
Matt Woodrow
3fe5034053
bug 750334 - rotating image appears too big during transition, then snaps to correct size r=roc
...
--HG--
extra : rebase_source : a8064d474693838e68f7b865f76043e1192a07a5
2012-05-15 10:31:39 +12:00
Nicholas Cameron
a4a5ce2ae9
Bug 754488 - Fix warning in FrameLayerBuilder.cpp. r=dholbert
2012-05-14 19:01:05 -04:00
Robert O'Callahan
ecec98a34e
Bug 681192. Part 10: Control rounding direction of scaledOffset to try to make the residual be close to mActiveScrolledRootPosition. r=tnikkel
...
--HG--
extra : rebase_source : f27fb737f8956ed117df0be3a71da847cc2048c0
2012-05-10 17:24:20 +12:00
Robert O'Callahan
5943f7cf5b
Bug 681192. Part 0.3: Add FrameLayerBuilder::GetThebesLayerResolutionForFrame. r=mattwoodrow
...
--HG--
extra : rebase_source : eea4dee6d081de5c288e295f3549fc88b10e6c39
2012-05-10 17:24:18 +12:00
Robert O'Callahan
14f22692ee
Bug 681192. Part 0.2: Use FuzzyEqual to check whether we need to invalidate ThebesLayers when subpixel offsets have changed. r=mattwoodrow
...
--HG--
extra : rebase_source : d0f8464aea9a436214d394123b1399105ccd0f66
2012-05-10 17:24:18 +12:00
Ed Morley
559a85b824
Backout 5c35cd6f3ea4 & ba39b0822992 (bug 607417) for native Android R1 failures
2012-05-04 14:26:09 +01:00
Robert O'Callahan
3cff69730f
Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel
...
--HG--
extra : rebase_source : f68d53736e65c21a30a6248abe6b2b9ec32cdb17
2012-05-04 17:00:57 +12:00
Robert O'Callahan
5afaaecea3
backing out patches for bug 607417 due to build bustage
2012-05-04 17:29:05 +12:00
Robert O'Callahan
a3f43739ba
Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel
2012-05-04 17:00:57 +12:00
Andreas Gal
7db0b87ef1
Do image scaling on the GPU (bug 650988, r=roc,cjones).
2012-05-03 07:05:55 -07:00
Nicholas Cameron
72a96f7faf
Bug 716439; load a mask texture in the OGL backend. r=BenWa
2012-03-19 09:08:49 +13:00
Nicholas Cameron
472977cd01
Bug 716439; creating mask layers. r=roc
2012-02-08 11:27:44 +13:00
Nicholas Cameron
c90b8a6b54
Bug 716439; recycling mask layers. r=roc
2012-02-08 11:26:40 +13:00
Nicholas Cameron
a8008d3881
Bug 716439; User data for mask layers. r=roc
2012-02-08 11:26:33 +13:00
Robert O'Callahan
68cca24d1a
Bug 749075. Part 2: Skip the guts of Accumulate if we're adding a display item in an area of the layer that's already opaque and visible. r=mattwoodrow
...
This patch moves some stuff that needs to be done for every item up to the front of the function, then checks to
see if the item is being added in an area that's already opaque and visible. If so (and assuming the
color-layer optimization has already been disabled), none of the rest of the method would do anything so we
can exit early. In particular we avoid calling IsUniform and GetOpaqueRegion on the item, and we also avoid
some expensive region manipulation.
2012-05-03 16:29:05 +12:00
Robert O'Callahan
1c1601b380
Bug 749075. Part 1: Refactor the nsDisplayItem API for testing whether the item needs to be rendered to a transparent surface. r=mattwoodrow
...
Currently we return an extra out parameter on GetOpaqueRegion. This is ugly and it's also going to be inefficient
because in a followup patch I'm going to avoid calls to GetOpaqueRegion, but we still need to know whether the item
needs a transparent surface. So this patch removes that out parameter. Instead, we rely on the fact that only
Windows' glass-window-background display item needs to force a transparent surface, and there can only be one
of those per window. So we store a reference to it in the nsDisplayListBuilder if there is one, and then we can
efficiently tell if any leaf display item is the one that forces a transparent surface. For display items that
wrap a list, we continue to store whether they need to force a transparent surface in a boolean in the list.
2012-05-03 16:29:05 +12:00
Andreas Gal
154b79964a
Render active layers at full resolution and transform them on the GPU (bug 750006, r=roc).
2012-04-29 14:41:13 -07:00
Matt Woodrow
b60d95b9d8
Bug 747718 - Disable ColorLayer optimizations when we have rounded-rect clipping. r=roc
2012-04-27 12:24:53 +12:00
Jeff Muizelaar
aca6f7c82d
Bug 745864. Add SAMPLE_LABELs to layout code. r=roc, a=joe
...
--HG--
extra : rebase_source : d826780c34692d333442b6bf563791b53bf3aa3d
2012-04-16 14:37:59 -04:00
Robert O'Callahan
ff25496dd5
Bug 728983. Part 2: When display items for multiple frames are merged, track the merged frames and mark them all as having an associated container layer. This ensures that invalidations are processed correctly. r=mattwoodrow
2012-04-17 17:45:04 +12:00
Robert O'Callahan
9b4c5f4742
Bug 744607. Intersect a display item's layer-pixels draw-rect with the snapped clip rect. r=tnikkel
2012-04-13 23:44:05 +12:00