Commit Graph

832 Commits

Author SHA1 Message Date
Benoit Girard
57bf9f52dd Bug 1024148 - Part 1: Merge nsDisplayOpacity items together. r=mattwoodrow
--HG--
extra : rebase_source : f461cb97357c854db22122b40777358a17f736ec
2014-06-12 11:34:35 -04:00
Markus Stange
86d79d99f5 Bug 1021420 - Ensure that scrollable layers get a view ID created for them. r=tnikkel 2014-06-10 22:29:32 +02:00
Botond Ballo
727b1998f8 Bug 1014280 - Add a background color attribute to scrollable ContainerLayers. r=tn,BenWa
--HG--
extra : source : dff750e410e5f4e1ed019527ea17f37e53dd8fe6
2014-06-06 16:50:20 -04:00
Chris Lord
d0ad5d7a62 Bug 988511 - Allow fixed position items to fully occlude displayport items. r=tn
We don't allow fixed position items to occlude display-ports, but we should if
they fully occlude the scroll-position scroll clamping port of the displayport
frame.
2014-06-06 12:00:34 +01:00
Markus Stange
92945b98e7 Bug 1013392 - Initialize the new nsDisplayListBuilder fields. 2014-06-04 21:18:20 +02:00
Markus Stange
81714ca17f Bug 1018464 - Add nsDisplayItem::IsInvisibleInRect API to expose holes in display items. r=roc
--HG--
extra : rebase_source : 9f362283113c0ce925ca81c3613ac8c6d19dfebe
2014-06-03 14:48:16 +02:00
Phoebe Chang
4286f5c0d3 Bug 924692 - Part 4: Hooks up event handling to TouchCaret; r=roc, bugs 2014-06-03 15:08:54 +08:00
Victor Porof
9ce7e9c089 Bug 1007203 - Always add categories when pushing to the pseudostack, r=djvj 2014-05-23 17:12:29 -04:00
Matt Woodrow
d78f4156e4 Bug 854421 - Part 7: Allocate and return transaction id's from the refresh driver when using OMTC to prevent over-production. r=roc 2014-05-29 09:43:39 +12:00
Brian Birtles
f3593b3f8a Bug 1015803 - Align Layers' Animation.numIterations with AnimationTiming.mIterationCount; r=dholbert
In the IPC Animation struct used in layers code we have a member called
'numIterations' where 'iterate forever' is represented by -1.

In layout/style however we have an AnimationTiming struct with an
mIterationCount member where 'iterate forever' is represented by
NS_IEEEPositiveInfinity().

This patch renames 'numIterations' to 'iterationCount' and uses infinity to
represent 'iterate forever'.
2014-05-28 16:51:50 +09:00
Brian Birtles
7d5b54b2f6 Bug 1004871 part 2 - Add AnimationTiming struct, to encapsulate animation timing parameters; r=dholbert
Introduces a struct to store timing parameters for passing to
GetPositionInIteration. In future this struct is expected to be expanded to
include other timing parameters as well (based roughly on Web Animations'
"Timing" interface, hence the name AnimationTiming).
2014-05-28 16:51:49 +09:00
Mats Palmgren
7d744275a1 Bug 508665 - part 12, Move nsIFrame::GetChildBox/GetNextBox/GetParentBox to XUL where they came from. r=roc 2014-05-24 22:20:41 +00:00
Matt Woodrow
a7a3cbd2ad Bug 1013771 - Dump nsDisplayTransform transforms during display list dumping. r=roc 2014-05-22 14:36:26 +12:00
Birunthan Mohanathas
0e6f3a6562 Bug 869836 - Part 3: Use Append('c') instead of AppendLiteral("c"). r=ehsan 2014-05-22 06:48:51 +03:00
Wes Kocher
8f123848f9 Backed out changeset 91d280c835b2 (bug 1013771) for b2g osx build bustage 2014-05-21 20:00:33 -07:00
Matt Woodrow
405762e159 Bug 1013771 - Dump nsDisplayTransform transforms during display list dumping. r=roc 2014-05-22 14:36:26 +12:00
Debbe Heisler
7e378291e5 Bug 1001582 -- Transitioned FrameMetrics::mPresShellId to use a getter/setter. r=botond 2014-05-16 19:00:50 -04:00
Brian Birtles
9c7f65de0d Bug 1004383 part 4 - Move mAnimations to CommonElementAnimationData; r=dbaron
As a result, transitions are now stored using a pointer to the base class,
mozilla::ElementAnimation. We downcast to a transition only when necessary. No
error-checking of the result of AsTransition is performed since we only ever
call it on the mAnimations member of ElementTransitions.
2014-05-15 08:38:37 +09:00
Brian Birtles
92e305760e Bug 1004383 part 2 - Rename StyleAnimation to ElementAnimation; r=dholbert
We currently have mozilla::StyleAnimation as well as nsStyleAnimation. This
patch renames StyleAnimation back to ElementAnimation.

Although ElementAnimation is very similar to ElementAnimations, in the near
future we expect to retire ElementAnimations and replace it with a common
AnimationSet-like structure that is covers the features of ElementAnimations and
ElementTransitions.
2014-05-15 08:38:37 +09:00
Brian Birtles
7595a03399 Bug 1004383 part 1 - Put StyleAnimation on the heap; r=dbaron
This patch takes StyleAnimation and makes it ref-counted heap object. This
should allow us to store StyleAnimation and its subclasses (transitions only
currently) in a consistent fashion (an array of base-class pointers).
Furthermore, this will be helpful if we want these things to be pointed to
from Javascript objects that may, for example, preserve their lifetime beyond
that of the element that currently owns them.

This patch also introduces a typedef for an array of refptrs to StyleAnimation
objects (and similarly for the subclass ElementPropertyTransition) to simplify
the code somewhat.
2014-05-15 08:38:37 +09:00
Botond Ballo
e60052ea65 Bug 961289 - Log displayports on client side for APZ testing. r=kats
--HG--
extra : source : 18b0cdfc97633c46f609dbd84a52af6472d4edd4
2014-04-21 17:09:30 -04:00
Markus Stange
b529d19860 Bug 1008915 - Reorder origin translations in order to avoid variations caused by insufficient floating point precision. r=mattwoodrow 2014-05-13 13:37:55 +02:00
Mats Palmgren
ca7136dba2 Bug 1008969 - part 1, Initialize the nsHTMLReflowState "frame type" correctly for display:grid/inline-grid. Add nsIFrame::IsFlexOrGridItem(), and use it to share some flexbox code in nsHTMLReflowState. r=dholbert 2014-05-12 21:16:05 +00:00
Matt Woodrow
5aa1f5d7fe Bug 950312 - Part 4: Create active layers for nsDisplayMixBlendMode and nsDisplayBlendContainer if the layer manager supports all contained blend mode. r=roc 2014-05-09 21:49:27 +12:00
Matt Woodrow
da8180da9c Bug 995871 - Apply CSS transforms in CSS pixel space instead of device pixel space. r=dbaron 2014-05-08 17:35:00 +12:00
Mats Palmgren
8b6a069c8a Bug 613659 - Remove remaining vestiges of -moz-background-inline-policy. r=cam 2014-05-05 17:55:54 +00:00
Mats Palmgren
402beefae6 Bug 613659 - Implement box-decoration-break layout for backgrounds. r=cam,jmuizelaar
--HG--
rename : layout/reftests/backgrounds/background-size-each-box.html => layout/reftests/backgrounds/background-size-clone.html
rename : layout/reftests/backgrounds/background-size-cover-each-box.html => layout/reftests/backgrounds/background-size-cover-clone.html
rename : layout/reftests/backgrounds/background-size-cover-continuous.html => layout/reftests/backgrounds/background-size-cover-slice.html
rename : layout/reftests/backgrounds/background-size-continuous.html => layout/reftests/backgrounds/background-size-slice.html
2014-05-05 17:55:54 +00:00
Mats Palmgren
361c3593e3 Bug 613659 - Implement box-decoration-break layout for border/box-shadow and paddding/margin for inlines. r=cam 2014-05-05 17:55:54 +00:00
Markus Stange
38855b462e Bug 1000875 - Fix nsDisplayBackgroundImage::GetInsideClipRegion calculation for canvas frames. r=roc
The opaque region of the background image display item was incorrectly clipped to the viewport size, offset by the scroll position. nsDisplayBackgroundImage::GetBoundsInternal has a special case for canvas frames that sets the clip area to the whole canvas area; this patch does the same for GetInsideClipRegion.
2014-05-05 10:27:38 +02:00
Timothy Nikkel
5f4a3556b6 Bug 1000423. Properly convert from appunits/layout device pixels to layer pixels for composition bounds calculation. r=botond
To get layer pixels (doesn't matter which layer, they are all the same to layout because there is no async transform) you need to multiply by the cumulative resolution.

The fact that our units system says that multiplying by the parent resolution will work is a problem with our units system.
2014-05-04 23:18:18 -05:00
Matt Woodrow
ca2a2308b2 Bug 952721 - Base our decision to prerender transformed content on it's screen space size, not the untransformed size. r=tn 2014-05-02 14:30:57 +12:00
Timothy Nikkel
2ad94f8051 Bug 1000266. Don't purge the canvas fixed background image cache if we are only scrolling. r=mattwoodrow
Also NotifyRenderingChanged was on the canvas background color item, not the background image item.

Bug 818643 was a problem where the cache didn't get purged enough, but the fix meant we basically always purged the cached and never got to use it, making it useless. It meant that we purged the cache anytime the item has any type of invalidation whatsoever, even if the item would be drawn the same but the layer contents needed to be invalidated so that it would be redrawn (ie due to staying at the same position on screen but a different position in the layer).

This is really hacky, but NotifyRenderingChanged is only observed on one type of display item. So we just isolate the case where the only thing that changed is the offset (due to scrolling) and skip the NotifyRenderingChanged in that case.
2014-04-23 21:56:15 -05:00
Kartikaya Gupta
a15a9aedef Bug 984460 - Fill in a missing piece of code to compute the right dirty rect in the face of CSS transforms. r=mattwoodrow 2014-04-23 09:26:52 -04:00
Benoit Girard
a51fcecd63 Bug 999121 - Avoid mFramesMarkedForDisplay relloc with SetCapacity. r=mwoodrow
--HG--
extra : rebase_source : dd3d1b9cd756dcbb9c014d9d5472c794057b4073
2014-04-21 16:46:03 -04:00
Mats Palmgren
6301b21c9f Back out bug 613659 (for regression bug 998792)
--HG--
rename : layout/reftests/backgrounds/background-size-slice.html => layout/reftests/backgrounds/background-size-continuous.html
rename : layout/reftests/backgrounds/background-size-cover-slice.html => layout/reftests/backgrounds/background-size-cover-continuous.html
rename : layout/reftests/backgrounds/background-size-cover-clone.html => layout/reftests/backgrounds/background-size-cover-each-box.html
rename : layout/reftests/backgrounds/background-size-clone.html => layout/reftests/backgrounds/background-size-each-box.html
2014-04-20 19:39:24 +00:00
Mats Palmgren
72a5f9f1ac Bug 613659 - Remove remaining vestiges of -moz-background-inline-policy. r=cam 2014-04-18 23:01:23 +00:00
Mats Palmgren
12948aafe2 Bug 613659 - Implement box-decoration-break layout for backgrounds. r=cam,jmuizelaar
--HG--
rename : layout/reftests/backgrounds/background-size-each-box.html => layout/reftests/backgrounds/background-size-clone.html
rename : layout/reftests/backgrounds/background-size-cover-each-box.html => layout/reftests/backgrounds/background-size-cover-clone.html
rename : layout/reftests/backgrounds/background-size-cover-continuous.html => layout/reftests/backgrounds/background-size-cover-slice.html
rename : layout/reftests/backgrounds/background-size-continuous.html => layout/reftests/backgrounds/background-size-slice.html
2014-04-18 23:01:23 +00:00
Mats Palmgren
2b31a712b1 Bug 613659 - Implement box-decoration-break layout for border/box-shadow and paddding/margin for inlines. r=cam 2014-04-18 23:01:23 +00:00
Robert O'Callahan
d34ff747ee Bug 972713. Part 1: Make all callers of GetAnimatedGeometryRootFor pass a display item so we can stop searching when we reach the item's reference frame. r=mattwoodrow
This guarantees that the animated geometry root for an item is always in the
same display list coordinate system as the frame.

--HG--
extra : rebase_source : 974434342459b76d62d89fdc04c22c518bf0c58b
2014-02-18 14:26:57 +13:00
Kartikaya Gupta
1665cb02ce Bug 982888 - Populate the scroll parent field as appropriate. r= 2014-04-11 19:39:22 -04:00
Botond Ballo
ce19e926e0 Bug 982141 - Make sure the primary async-scrollable frame has a displayport set. r=tn
--HG--
extra : rebase_source : 6ceb20abb14f3e829ea06c3b3b911455cff9db23
2014-03-19 13:29:24 -04:00
Botond Ballo
43b071d67b Bug 982141 - Move CalculateRootCompositionSize to nsLayoutUtils and clean it up a bit. r=tn
--HG--
extra : rebase_source : e5b29f38d38f88d6a214bdd1e2e31354018ccadd
2014-04-04 10:13:09 -04:00
Ryan VanderMeulen
5dd9653c16 Backed out 6 changesets (bug 982141) for Windows and OSX bustage. CLOSED TREE
Backed out changeset 16540ab2d2cb (bug 982141)
Backed out changeset 2ad9ce9d904e (bug 982141)
Backed out changeset af219bb49c06 (bug 982141)
Backed out changeset ffe51d96e86e (bug 982141)
Backed out changeset 6642718ad3bb (bug 982141)
Backed out changeset 95b341d26f7b (bug 982141)
2014-04-10 15:27:42 -04:00
Botond Ballo
b3150ff987 Bug 982141 - Make sure the primary async-scrollable frame has a displayport set. r=tn
--HG--
extra : rebase_source : cecfe35b5407d6bbe1709eb0a2abf55ab8503c2d
2014-03-19 13:29:24 -04:00
Botond Ballo
a6b09e199e Bug 982141 - Move CalculateRootCompositionSize to nsLayoutUtils and clean it up a bit. r=tn
--HG--
extra : rebase_source : 8ffa71055b05836ce166b6b2c8c9896b6d08fdd5
2014-04-04 10:13:09 -04:00
Matt Woodrow
46c95fa93b Bug 991046 - Combine the display item clips when we flatten an nsDisplayOpacity. r=roc 2014-04-09 14:28:38 +12:00
Botond Ballo
7b52582800 Bug 988882 - Special-case handling of root composition bounds calculation on Android when the toolbar is perma-visible. r=tn 2014-04-02 01:35:25 -04:00
Brian Birtles
016517a8be Bug 880596 part 8 - Rename ElementAnimation to StyleAnimation; r=dbaron
We need a basic representation of animations from which we can derive subclasses
to represent specific cases such as transitions. For now we will retrofit
ElementAnimation for that purpose hence renaming it to StyleAnimation.

This patch removes the "using namespace mozilla::layers" line from
AnimationCommon.cpp since the unified build system concatenates several files
together before compiling making using declarations like this leak into other
files potentially creating ambiguities. Previously, when we were calling
ElementAnimation, 'Animation', there were ambiguities between
mozilla::layers::Animation and this new 'Animation' class. In general, it is
probably a good idea to limit the scope of these using declarations so I've kept
that change.
2014-04-03 14:57:28 +09:00
Brian Birtles
45430e6749 Bug 880596 part 6 - Factor out common method for adding animations and transitions to a layer; r=dbaron
The loops for adding animations and transitions to a layer in
nsDisplayList::AddAnimationsAndTransitionsToLayer are now identical and so can
be factored out into a common method.

Since it is not possible to implicitly convert from
nsTArray<ElementPropertyTransition> to nsTArray<ElementAnimation> despite
ElementPropertyTransition being a subclass of ElementAnimation a templated
method is used. In the future, as animations and transitions share more and more
code, we should be able to remove the need for templates.
2014-04-03 14:57:28 +09:00
Brian Birtles
e4ad12be38 Bug 880596 part 4 - Reuse ElementAnimation::HasAnimationOfProperty; r=dbaron
Now that ElementTransitionProperty inherits from ElementAnimation,
ElementTransitions::HasAnimationOfProperty can re-use
ElementAnimation::HasAnimationOfProperty in its definition of
ElementTransitions::HasAnimationOfProperty.

Similarly, in nsDisplayList::AddAnimationsAndTransitionsToLayer we can use this
method rather than drilling down to the appropriate segment by hand.
2014-04-03 14:57:27 +09:00