Commit Graph

1324 Commits

Author SHA1 Message Date
Thinker K.F. Li
7022b0f440 Bug 1226904 - Fix boundary checking for leaves collecting. r=roc
--HG--
extra : rebase_source : 6338083654b2ad0de0ef7aa4987de1323f44c4b5
2015-12-22 19:17:00 -05:00
Markus Stange
1e3c6a4c67 Bug 1152049 - Rename GetClippedBoundsUpTo into GetScrollClippedBoundsUpTo. r=tn
--HG--
extra : commitid : 5IM4iKZumy9
extra : rebase_source : d1c935ae3f9f11a5219e55c79ad12283adafeabb
2015-12-24 12:16:46 +01:00
Markus Stange
22ab8b4d6c Bug 1234800 - Reinstate code that adjusts dirty rects for fixed-position frames in display ports. r=tn
--HG--
extra : commitid : ENo8RDm20HG
extra : rebase_source : 16fe189a06887e59c0644a18e09e482a33d692e9
2015-12-23 11:09:42 +01:00
Markus Stange
b22db3eab2 Bug 1147673 - Make display items know about their scroll clips. r=tn, r=roc
--HG--
extra : commitid : 1j8QG2b0rIG
extra : rebase_source : 027065697e7e0ef445d8bcf7a81cf0270dcf7b8b
2015-12-22 16:54:19 +01:00
David Anderson
bba1b2478f Annotate FrameMetrics that are created for ScrollInfoLayers. (bug 1192919 part 1, r=kats)
--HG--
extra : commitid : 83SwqEe7GTb
2015-12-21 09:36:36 -05:00
Matt Woodrow
aecd781a68 Bug 1230696 - Don't report perspective values that round to 0 app units as not having perspective. r=roc 2015-12-09 10:47:08 -05:00
Carsten "Tomcat" Book
27bbe6ec93 Backed out changeset 68b33692bed3 (bug 1147673) 2015-12-16 11:52:37 +01:00
Markus Stange
bf668586d7 Bug 1147673 - Make display items know about their scroll clips. r=tn, r=roc
--HG--
extra : commitid : 7KbOQKKSVq5
extra : rebase_source : d23daf86ed8d375bd5ab3ed7dfe3cff80bc0ff4c
extra : histedit_source : cce4ded91f0672142796a852d20d052e7b6247ce
2015-12-12 10:58:37 -05:00
Botond Ballo
1cb64f6960 Bug 1228597 - Remove the MOZ_SINGLE_PROCESS_APZ define. r=tn
Code previously guarded by this (added in bug 1224015) will now run
unconditionally.

--HG--
extra : source : ce0f51f55572334002ddf1878db447540d4c9b82
2015-11-27 21:39:07 -05:00
Brian Birtles
885593747b Bug 1230056 part 2 - Remove nsLayoutUtils::HasAnimationsForCompositor and call EffectCompositor::HasAnimationsForCompositor directly; r=dholbert 2015-12-09 16:28:10 -05:00
Nicholas Nethercote
16cd9db041 Bug 1230863 - Remove unused nsPresContext args from many functions. r=roc. 2015-12-06 17:15:53 -08:00
Thinker K.F. Li
07d865de46 Bug 1230075 - Allow perspective items in hittest() for preserve-3d cases. r=mattwoodrow 2015-12-03 00:59:00 +01:00
Brian Birtles
e56195af79 Bug 1226118 part 9 - Use EffectCompositor::GetAnimationsForCompositor in nsDisplayList; r=dholbert
The existing code contains a comment about needing to add transitions before
animations. However, this is unnecessary since the interaction between
transitions and animations is handled by the mWinsInCascade member that is
checked in AddAnimationsForProperty.
2015-12-04 08:34:17 +09:00
Brian Birtles
fd98de719c Bug 1226118 part 5 - Move LogAsyncAnimationFailure to AnimationUtils; r=dholbert
This patch also moves AnimationUtils out of the dom namespace since it seems
unnecessary. We typically only put actual DOM interfaces in the dom namespace.
2015-12-04 08:32:53 +09:00
Robert O'Callahan
0a93154cb8 Bug 927228 - Allow ImageLayerization for images using 'contain' and 'cover'. r=mstange
--HG--
extra : commitid : 7UUYvEXd4bI
extra : rebase_source : 861443bafb02c8b7ba9b890a6685846a242f651d
2015-12-03 17:36:40 +01:00
Botond Ballo
ae1bdc7602 Bug 1069417 - Remove the explicit template argument of TransformTo() and related functions. r=kats
In this process, TransformTo() and UntransformTo() are renamed TransformedBy()
and UntransformBy() so calls to them continue to read sensibly.

--HG--
extra : rebase_source : a2a4b36514cc54533757c075fcf2c53ab3020939
extra : source : 826da3dc12baeb84b32be50f4b2c0591ca73ab37
2015-11-30 20:06:45 -05:00
Botond Ballo
70b749edea Bug 1069417 - Modify TransformTo() and related functions to use typed matrices. r=kats
Call sites (all in APZ and related code) were modified accordingly. Some of
these modifications involved changing some matrices stored in APZ to be typed.

--HG--
extra : rebase_source : 6f1cf33a5550987097fcd386c77765d046f5ec34
extra : source : 8f66bdc8e6e86f482a06b9c7a160740026cf24b4
2015-11-30 20:14:31 -05:00
Nicholas Nethercote
400204beea Bug 1229237 (part 4) - Make ThemeGeometry::mRect a LayoutDeviceIntRect. r=botond.
--HG--
extra : rebase_source : 3483ed8e2ff2e61ce8a74dcb59a7b43b46bf502d
2015-11-22 20:32:29 -08:00
Nicholas Nethercote
e60696c015 Bug 1228125 (part 1) - Remove nsIWidget::GetBoundsUntyped(). r=botond.
This requires adding a new overloading of LayoutDevicePixel::ToAppUnits and a
new PixelCastJustification: LayoutDeviceIsParentLayerForRCDRSF.

--HG--
extra : rebase_source : b6d044619918818815b40c1173aa4e0551db28a1
2015-11-25 20:32:47 -08:00
Randall Barker
c3c082c5dd Bug 1224015 - Part 3: ifdef changes to C++APZ so that they only apply to single process APZ. r=tnikkel
Added MOZ_SINGLE_PROCESS_APZ flag.
2015-11-26 20:51:13 -06:00
Randall Barker
30c5396234 Bug 1224015 - Part 2: Have nsDisplayResolution items adjust event coordinates for hit testing and dispatching to content r=tnikkel 2015-11-26 20:51:13 -06:00
Timothy Nikkel
e2d79c5715 Bug 1228033. When not painting to a window (and hence not retained) only have one AGR, the root AGR. r=mattwoodrow
The document structure of when printing is as follows:

ViewportFrame
  nsSimplePageSequenceFrame
    nsPageFrame
      (the content of the page)
    nsPageFrame
      (the content of the page)
    (further pages)

The nsSimplePageSequenceFrame calls nsLayoutUtils::PaintFrame with each nsPageFrame as the frame to paint.

nsPageFrame::BuildDisplayList will build display lists inside sibling nsPageFrames if it needs to descend into those sibling page frames to find placeholder frames for out of flow frames that are on the actual current page frame. Since these are sibling page frames they are not in the original page frame subtree, and hence we can't find an AGR for them that is in the original page frames subtree.

However, when printing we don't retain painted content, so there is no point in having more than one AGR. So if we aren't retaining (IsPaintingToWindow is necessary for that) then just have the root AGR.

This patch also fixes two other bugs.

1) We should always set mAnimatedGeometryRootForChildren for nsDisplayTransform items.

2) If the AGR choosen for a nsDisplayTransform is already the root AGR, then that is it's AGR. Don't try to set the AGR to the parent (which is null).
2015-11-26 14:57:31 -06:00
Matt Woodrow
4946a3c907 Bug 1168263 - Add nsDisplayPerspective and build separate layers for perspective. r=roc 2015-11-26 22:32:36 +13:00
Matt Woodrow
6fa0d2f621 Bug 1168263 - Simplify GetResultingTransformMatrix calculations to avoid unnecessary origin changes. r=roc 2015-11-26 22:32:35 +13:00
Matt Woodrow
7c076dbe87 Bug 1168263 - Add a flags parameter to GetResultingTransformMatrix instead of using bools. r=roc 2015-11-26 22:32:35 +13:00
Matt Woodrow
c684f27337 Bug 1168263 - Remove TransformRectOut since it's unused. r=roc 2015-11-26 22:32:35 +13:00
Jim Mathies
9eb83d5a42 Bug 1227666 - Insure that cached plugin geometry configuration cached in ShadowLayerForwarder gets cleared when we reflow and new content has no plugins. r=roc
--HG--
extra : transplant_source : %87%99%FBt%10%B9%24%8D%8B%1EJ%E2h%20%5EB%FA%3E%B2%FE
2015-11-25 12:11:00 -06:00
Matt Woodrow
41a4ad2285 Bug 1222880 - Build a tree of AnimatedGeometryRoots to speed up traversal of ancestors. r=roc,tn 2015-11-25 11:53:51 +13:00
Boris Chiou
fe6df692e1 Bug 1215406 - Part 3: Change the types of direction and fillmode in AnimationTiming. r=heycam
Use mozilla::dom::FillMode and mozilla::dom::PlaybackDirection
in AnimationTiming.

--HG--
extra : rebase_source : 8210d002d6f116793f439d88b0325ab6fb880048
2015-11-20 06:12:00 +01:00
Hiroyuki Ikezoe
1e734eff34 Bug 1223255 - Use Animation::AnimationTimeToTimeStamp instead of timeline->ToTimeStamp. r=bbirtles
Otherwise delay value is multiplied by playbackRate twice.

--HG--
extra : rebase_source : 42b088e65c2ce3986bc36fa1c41a06e38f1c133a
2015-11-18 01:50:00 +01:00
Matt Woodrow
545885b406 Bug 1217012 - Use doubles when untransforming points since we need the extra precision. r=kip 2015-11-16 17:05:55 +13:00
Timothy Nikkel
5731d2c32f Bug 1224209. The animated geometry root of a fixed pos and transformed frame needs to be that frame itself so FrameLayerBuilder can determine it is fixed pos. r=mattwoodrow
We need such frames to get fixed pos annotation by FLB, and FLB can only determine that if the AGR is inside the fixed pos frame subtree.

Bug 1156238 made transformed frames into AGRs, whereas fixed pos frames in a displayport were already AGRs.

So fixed pos and transformed frames are AGRs twice over. We can think of the AGR parent of fixed pos transformed frame as the fixed pos frame itself, but outside the transform.
2015-11-15 12:32:31 -06:00
Thinker K.F. Li
03a1cfe9b2 Bug 1208673 - Do HitTest with skipping non-leaf preserve-3d transform items. r=roc 2015-11-15 14:47:27 +01:00
Robert O'Callahan
39d18e7e81 Bug 1213582. Don't flatten away opacity:0 containers. r=mattwoodrow
--HG--
extra : commitid : 8XsZ8Z0m2qG
extra : rebase_source : 2d9327a7160463eca47b61bd64678982be5f5f87
2015-11-11 15:17:30 +13:00
Botond Ballo
a592a77364 Bug 1222661 - Replace ToUntyped(obj) calls with obj.ToUnknown*(). r=nical
--HG--
extra : rebase_source : 1cab46638599d8c4e6183c42a6fa9d41702392cb
extra : source : cabc28a2200b9b4e5e137d331ee5b86b3c09f065
2015-11-06 22:13:40 -05:00
Kartikaya Gupta
795d8736fd Bug 1205087 - Cache the AnimatedGeometryRoot on DisplayItem. r=roc 2015-10-05 17:09:34 -04:00
Hiroyuki Ikezoe
2f335ed059 Bug 1216030 - Part 7: Add nsIFrame::RefusedAsyncAnimation. r=dbaron
Original nsIFrame::RefusedAsyncAnimation was renamed to
nsIFrame::RefusedAsyncAnimationProperty.
2015-10-20 22:03:00 +02:00
Matt Woodrow
8c47ae7506 Bug 1216288 - Disable warning when we don't build an active layer for RenderFrameParent within an opacity:0 subtree. r=roc 2015-11-03 16:49:22 +13:00
Kartikaya Gupta
2a13672d4b Bug 1141884 - Handle wheel events on the main thread if the frame has snapping. r=dvander,mstange
--HG--
extra : commitid : Jw0Kdhy4ob6
2015-11-03 14:21:40 -05:00
Timothy Nikkel
fab15510f7 Bug 1156238. Fix the computation of animated geometry roots for transform items. r=mattwoodrow
Removing the "stop at ancestor" parameter from functions that compute AGR meant that nsLayoutUtils::GetAnimatedGeometryRootFor could no longer pass the display item's reference frame as the "stop at ancestor" which meant that the AGR could cross the reference frame for the item, which we don't want. So we make transformed frames into AGRs.

This makes the computation of display items whose frames are transformed tricky. We need the AGR of the transform item to be the ancestor AGR, not the underlying frame of the transform item (which is now an AGR). So we modify nsLayoutUtils::GetAnimatedGeometryRootFor to handle this. (The patch from bug 1205087 didn't suffer from this problem because it special cased the computation of the AGR of transform items. Leaving anybody who called nsLayoutUtils::GetAnimatedGeometryRootFor to get the wrong result.)

The computation of the AGR for scroll metadata in ContainerState::ProcessDisplayItems specifically bypassed nsLayoutUtils::GetAnimatedGeometryRootFor to avoid it's special processing of fixed background items. However we do want the AGR for scroll metadata to do this special processing of transform items. So we add a flag to bypass the fixed background behaviour and use it for the scroll metadata AGR.
2015-11-03 02:03:47 -06:00
Matt Woodrow
cf0b78ff4c Bug 1156238. Always stop at the root reference frame when looking for an animated geometry root. r=roc,mattwoodrow
This removes the "aStopAtAncestor" argument to agr computing functions. In most cases an AGR was passed for the stop at ancestor, so we'd stop at it anyway since it was an AGR. Most of the remaining cases the root reference frame was passed. And in a few cases something else was passed, which we probably don't want (returning something that isn't an AGR and isn't the root reference frame as an AGR).

The ShouldFixToViewport case is a little tricky. We want to get the AGR of the nearest viewport frame, but only if we don't have to cross our root reference frame to get it. This happens in practice for example when a select dropdown has background-attachment: fixed inside it.

Except for the ShouldFixToViewport bit, this patch is a subset of part 3 in bug 1205087 (which has more changes, and has been temporarily backed out, the remaining bits can hopefully land soon).

The ShouldFixToViewport part is by Timothy Nikkel <tnikkel@gmail.com>
2015-11-03 02:03:47 -06:00
Nigel Babu
aa60675f7f Backed out changeset 19e021ef5ba1 (bug 1216288) 2015-11-03 11:59:05 +05:30
Matt Woodrow
ffd079e640 Bug 1216288 - Disable warning when we don't build an active layer for RenderFrameParent within an opacity:0 subtree. r=roc
--HG--
extra : rebase_source : 9eade6266c0a1f6485e5b82ab0c0c5bc49f9a85c
2015-11-03 16:49:22 +13:00
Markus Stange
ec2e30835a Bug 1201327 - Let DLBI detect background-position changes. r=mattwoodrow
--HG--
extra : commitid : CDTUZNG0PYF
extra : rebase_source : 0f5db6e4a5cde5fe8faeb77e15f95d12f6753fac
2015-10-28 22:52:15 +01:00
Markus Stange
0beffda503 Bug 1201327 - Rename mDestRect to mImageLayerDestRect. r=mattwoodrow
--HG--
extra : commitid : 1cQZUlaicax
extra : rebase_source : f0877a904738c9f75a96b2bbe64728ff567f044e
2015-10-20 15:27:29 +02:00
Kartikaya Gupta
d2dfde6db3 Bug 1220020. When we turn something into an animated geometry root, clear the cache of animated geometry roots so it's not stale. r=tnikkel 2015-10-05 17:13:02 -04:00
Markus Stange
3d807f5df0 Bug 947062 - Layerize background images with animated background-position if possible. r=mattwoodrow
--HG--
extra : commitid : 3X0JsdgMq4M
extra : rebase_source : 461428803c17b3634b8a242c8b1cd0bc58d67ca6
2015-10-22 22:38:46 +02:00
Markus Stange
7d8fa64572 Bug 947062 - Refactor nsDisplayBackgroundImage::GetLayerState. r=mattwoodrow
--HG--
extra : commitid : 3smcI8XeXP2
extra : rebase_source : 7fc94ccc5ffc6ce1420dc2250c32b48732665315
extra : amend_source : 9dab8e397f9428cb09ec0ce0c7ba7f97acedc1d9
2015-10-30 11:45:55 +01:00
Matt Woodrow
6e172bbe58 Bug 1216851 - Don't include event regions when deciding if we can flatten opacity. r=roc
--HG--
extra : rebase_source : 65d28110e173bc1b51437a6d39d6406ec00271e9
2015-10-23 11:22:54 +13:00
Carsten "Tomcat" Book
ed04efa6b9 Backed out changeset 9ea2c1e54b0f (bug 1216851) 2015-10-29 13:52:15 +01:00