Граф коммитов

1314 Коммитов

Автор SHA1 Сообщение Дата
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
Matt Woodrow 6a6dbf9113 Bug 1215412 - Apply perspective origin after transform origin. r=jwatt 2015-10-23 12:49:34 +13:00
Carsten "Tomcat" Book 5764850cf1 Backed out changeset c488bab447bd (bug 1215412) for R15 Test failures
--HG--
extra : rebase_source : 3229bc8f42071bda7cfda29d2349cafb6ed0fda1
2015-10-29 10:06:13 +01:00
Matt Woodrow c360842c46 Bug 1215412 - Apply perspective origin after transform origin. r=jwatt
--HG--
extra : rebase_source : f1a4faa93cf48c5bf315cdbe94358fd123aebd0c
2015-10-23 12:49:34 +13:00
Matt Woodrow 500639534a Bug 1216851 - Don't include event regions when deciding if we can flatten opacity. r=roc
--HG--
extra : rebase_source : 5bc16d6c15e5063b565dccafef71bf3a83744009
2015-10-23 11:22:54 +13:00
Thinker K.F. Li fd72ecbc34 Bug 1214212 - Remove clips from separator transform items. r=roc 2015-10-22 23:29:00 -04:00
Nathan Froyd e826816d24 Bug 1217662 - part 3 - move nsDisplayBlendContainer::GetLayerState out-of-line; r=mattwoodrow
This method is virtual, so defining it inline isn't worth a whole lot.
Defining it inline also means that we require the complete definition of
LayerManager from Layers.h, and we're trying to avoid including Layers.h
whenever possible.  Let's move it out-of-line to solve this problem.
2015-10-22 16:14:22 -04:00
Seth Fowler 737f779bd1 Bug 1209765 (Part 2) - Support sync decoding and track draw results in nsDisplayBorder. r=tn 2015-10-22 19:54:48 -07:00
David Anderson 49593ec27d Fix wheel events not working on scrollbars of inactive subframes. (bug 1216488, r=tn)
--HG--
extra : rebase_source : fd735909ba7e9ac8208e210e1061b71f9a559f2a
2015-10-22 01:13:30 -07:00
David Anderson fb84bcaa55 Fix scrollbars on subframes not directing APZ events to the correct scrollframe. (bug 1213324, r=tn) 2015-10-20 02:39:34 -07:00
Thinker K.F. Li 90c27bffd6 Bug 1207143 - Improve GetBounds() to avoid recomputing every time. r=roc
--HG--
extra : rebase_source : b7fa0bf605541ddec787762230181658d4f1e784
2015-10-18 06:13:00 -04:00