Commit Graph

808 Commits

Author SHA1 Message Date
Benoit Girard
b555f48399 Bug 1024148 - Part 2: Merge nsDisplayOpacity into nsDisplayBackgroundColor. r=mattwoodrow
--HG--
extra : rebase_source : c48cc799414ff83b74caff8df5503a743dbf74b1
2014-06-14 11:10:45 -04:00
Benoit Girard
c38907de9d 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
50889e83e6 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
98f8d2f7d1 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
232c0e9e10 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
c0dac16713 Bug 1013392 - Initialize the new nsDisplayListBuilder fields. 2014-06-04 21:18:20 +02:00
Markus Stange
ce54e84ba5 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
2204a7ac2f Bug 924692 - Part 4: Hooks up event handling to TouchCaret; r=roc, bugs 2014-06-03 15:08:54 +08:00
Victor Porof
928e1cef59 Bug 1007203 - Always add categories when pushing to the pseudostack, r=djvj 2014-05-23 17:12:29 -04:00
Matt Woodrow
aaebdeac81 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
29b49734b6 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
1fa5b12248 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
e409f1edc9 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
ca8a3778af Bug 1013771 - Dump nsDisplayTransform transforms during display list dumping. r=roc 2014-05-22 14:36:26 +12:00
Birunthan Mohanathas
016d46e5f3 Bug 869836 - Part 3: Use Append('c') instead of AppendLiteral("c"). r=ehsan 2014-05-22 06:48:51 +03:00
Wes Kocher
4fd3e47dc9 Backed out changeset 91d280c835b2 (bug 1013771) for b2g osx build bustage 2014-05-21 20:00:33 -07:00
Matt Woodrow
e43dbfd110 Bug 1013771 - Dump nsDisplayTransform transforms during display list dumping. r=roc 2014-05-22 14:36:26 +12:00
Debbe Heisler
268ea2b3dc Bug 1001582 -- Transitioned FrameMetrics::mPresShellId to use a getter/setter. r=botond 2014-05-16 19:00:50 -04:00
Brian Birtles
808c09cd73 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
d7d1912502 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
c2e22acede 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
3e2f34ca7d 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
f3b0c6abc3 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
17c8477c01 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
41d4a92470 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
5b0d54b1ce 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
5d7896ffef Bug 613659 - Remove remaining vestiges of -moz-background-inline-policy. r=cam 2014-05-05 17:55:54 +00:00
Mats Palmgren
bc91ad154e 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
093343bb24 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
5fbe031638 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
cd813e35bb 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
c8d0971807 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
58d05a6240 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
c5c2f5338c 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
eec0b58bca Bug 999121 - Avoid mFramesMarkedForDisplay relloc with SetCapacity. r=mwoodrow
--HG--
extra : rebase_source : dd3d1b9cd756dcbb9c014d9d5472c794057b4073
2014-04-21 16:46:03 -04:00
Mats Palmgren
07cab7aa81 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
584711809b Bug 613659 - Remove remaining vestiges of -moz-background-inline-policy. r=cam 2014-04-18 23:01:23 +00:00
Mats Palmgren
2c0480c557 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
db3de125fb 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
9746772c09 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
ced4f777ac Bug 982888 - Populate the scroll parent field as appropriate. r= 2014-04-11 19:39:22 -04:00
Botond Ballo
30a35592c2 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
29dba10560 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
1087eac823 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
ff0051ba05 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
ed1e60ff0b 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
0c8c199f11 Bug 991046 - Combine the display item clips when we flatten an nsDisplayOpacity. r=roc 2014-04-09 14:28:38 +12:00
Botond Ballo
c19f345e42 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
ae6e60dda5 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
c4ffbc205d 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