Commit Graph

58 Commits

Author SHA1 Message Date
Birunthan Mohanathas
5f1fde8824 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -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
70cf5d9db3 Bug 880596 part 7 - Move ElementAnimation to AnimationCommon; r=dbaron
This patch relocates ElementAnimation from nsAnimationManager.{h,cpp} to
AnimationCommon.{h,cpp} and in the process moves it into the mozilla::css
namespace.
2014-04-03 14:57:28 +09:00
L. David Baron
a3ba562447 Bug 979557: CanAnimatePropertyOnCompositor should return early when there's no OMT compositing, whether or not logging is enabled. r=dzbarsky
This shouldn't behave differently depending on whether or not logging is
enabled; that difference was introduced in bug 785648.
2014-03-04 20:13:22 -08:00
L. David Baron
27df9fb4e2 Bug 828173 patch 6: Remove calls to ForceLayerRerendering from the miniflush code (UpdateThrottledStyles, which flushes animations whose main thread updates are throttled without updating any other styles). r=mattwoodrow
I've been wanting to remove this code for a while.  I think this code is
problematic for three reasons:

 (1) It's in the middle of code where it doesn't belong, and which ought
     to be handling purely-style-system things.  (This is blocking me
     from reusing that code elsewhere, e.g., in bug 977991 and
     bug 960465, both of which could use it in some form.)

 (2) It defeats the optimization from bug 790505 whenever we do a
     miniflush (in other words, whenever we have any style change,
     whether or not it's related)

 (3) It means the conditions for when we decide to ship a new set of
     animation data to a layer doesn't cover all the cases the layer
     needs it.  In particular, we only run this miniflush code when we
     have a currently running animation or transition that's running on
     the compositor thread.  On the other hand, the UpdateTransformLayer
     style change handling in DoApplyRenderingChangeToTree depends on
     whether the frame currently has a transform layer, which can
     continue to be true for a bit after the animation stops.  So if we
     need to send animations to the layer because of a transform style
     change that happens soon after an animation completes, our style
     change handling will find the existing layer and call its
     SetBaseTransformForNextTransaction method but never do anything
     that triggers layer construction.  The style throttling code, in
     turn, will never stop doing main thread updates because the
     animation generation on the layer is out-of-date, and these main
     thread updates will keep the layer active, but they'll never show
     up because the stale animation data overrides the new transform
     that we've been setting.  (At least, I think that's what was
     happening; it makes sense to me and matches the behavior I was
     observing.  I didn't verify which main thread updates and which
     layer updates were actually happening, though.)

     This shows up, for example, in the animation in attachment 8384813
     just halting at a corner if I'm careful not to disturb it.  (I'm
     testing on Linux, with both accelerated layers and OMT animations
     explicitly enabled.)

I think there are probably some other things that can be removed as
followups to removing this code, because I think we made some boundary
conditions intentionally incorrect so that problem (3) above wouldn't be
as bad as it otherwise would have been.
2014-03-04 20:13:22 -08:00
L. David Baron
7ca508c03d Add bug number (bug 828173) to FIXME comment.
DONTBUILD.
2014-02-28 17:14:31 -08:00
Nicholas Cameron
9aa2bb4046 Bug 914847. Mini-flush for animations. r=dbaron 2013-10-22 14:14:41 +02:00
Cameron McCormack
5bbc325e7f Bug 922669 - Part 7: Add nsStyleSet::HasStateDependentStyle and nsCSSRuleProcessor:HasStateDependentStyle overrides that work on pseudo-elements. r=bz 2013-11-28 17:46:39 +11:00
Wes Kocher
ce222963ef Backed out changeset 87ee0a1865e4 (bug 914847) 2013-10-22 16:55:14 -04:00
Nicholas Cameron
018dd19575 Bug 914847. Mini-flush for animations. r=dbaron 2013-10-22 14:14:41 +02:00
Markus Stange
4822f99e19 Bug 929362 - When refusing compositor animation during BuildLayer, set a property on the frame that disables all async animations on it forever. r=roc
--HG--
extra : rebase_source : 98c9b690a4842c19314dd46f5e531601b77fe527
2013-10-22 12:30:45 +02:00
Ehsan Akhgari
6ada2899b2 Bug 916610 - Minimize the #includes in layout/style; r=roc 2013-09-15 21:06:52 -04:00
Ehsan Akhgari
0e024fd271 Bug 908724 - Avoid #including nsPresContext.h in nsIScrollableFrame.h; r=mats
nsPresContext.h pulls in a large number of headers which should not
be needed in nsIScrollableFrame, if we just move ScrollbarStyles to
its own header
2013-08-23 16:20:07 -04:00
Ehsan Akhgari
2621b190f1 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
L. David Baron
a7c8d44db9 Bug 896138 patch 4: Move restyle management code from nsCSSFrameConstructor to RestyleManager. r=heycam
This moves restyling management out of nsCSSFrameConstructor (thus
reducing its size), and keeps the restyling code closer together.

This is the first of two big chunks of code moved in this patch series.
A later patch in this series will move related code from nsFrameManager
into the same destination file.
2013-07-20 12:14:25 -07:00
Nicholas Cameron
ab2aeb90c3 Bug 878142; be more precise about removing the animation manager from the refresh driver. r=dbaron 2013-06-25 20:58:46 +12:00
L. David Baron
ea5e7313db Bug 858937 patch 2: Make off-main-thread CSS transitions/animations code that should be using nsLayoutUtils::GetStyleFrame do so. r=nrc
The fixes to the miniflush code
(nsTransitionManager::UpdateThrottledStyle and UpdateAllThrottledStyles)
fix the case where we constructed totally incorrect style contexts for
outer table frames (which have special style contexts inheriting from
the table frame) during the miniflush, leading to inconsistent style
data and other bad things, when we should have been touching the style
on the table frame instead.

The fixes to the other OMTA codepaths lead to layer tests being
performed on the same frame that the styles will be applied to, and
probably fix real bugs (which would occur when animating opacity or
transform on a table).
2013-06-24 22:32:10 -07:00
Phil Ringnalda
3d0fc66442 Back out 2332bb3fe186:10f70b8b04fe (bug 858937) for warnings-as-errors bustage
CLOSED TREE
2013-06-24 23:42:05 -07:00
L. David Baron
85ffcbb8ad Bug 858937 patch 2: Make off-main-thread CSS transitions/animations code that should be using nsLayoutUtils::GetStyleFrame do so. r=nrc
The fixes to the miniflush code
(nsTransitionManager::UpdateThrottledStyle and UpdateAllThrottledStyles)
fix the case where we constructed totally incorrect style contexts for
outer table frames (which have special style contexts inheriting from
the table frame) during the miniflush, leading to inconsistent style
data and other bad things, when we should have been touching the style
on the table frame instead.

The fixes to the other OMTA codepaths lead to layer tests being
performed on the same frame that the styles will be applied to, and
probably fix real bugs (which would occur when animating opacity or
transform on a table).
2013-06-24 22:32:10 -07:00
Catalin Iacob
6f4758d23e Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn.
--HG--
extra : rebase_source : fc472490dd978d165f02f77ed37f07aed6e5bb61
2013-06-23 14:03:39 +02:00
Matt Woodrow
ccb554f4cf Bug 876626 - Make CanAnimateProperty correclty respect the CanAnimate_AllowPartial flag. r=dzbarsky 2013-06-18 20:03:20 +12:00
David Zbarsky
c2366b46a1 [Bug 875204] Merge OMTA prefs r=nrc 2013-05-23 15:09:26 +08:00
David Zbarsky
a113dee00c Bug 874770 - Always enable OMTA throttling r=nrc 2013-05-22 18:31:03 +08:00
Ms2ger
db23b597b4 No bug - Remove Windows line endings from layout/style/AnimationCommon.cpp. 2013-04-06 22:16:46 +02:00
David Zbarsky
3250bd906e [Bug 847110] Fix up includes in layout/style r=dbaron 2013-03-02 19:31:48 -05:00
Nicholas Cameron
daa58006c6 Bug 797520; improve OMTA logging. r=cjones
--HG--
extra : rebase_source : 25adf63183d996433b9b6b68ccf195820f662ca1
2012-12-12 10:12:47 +13:00
Nicholas Cameron
c54f8d4754 Bug 780692; throttle OMTA (rollup patch). r=dbaron,bz
--HG--
extra : rebase_source : 1207275df5c509ac1974e2b9333c738b995f9d5e
2012-12-12 10:12:43 +13:00
L. David Baron
2d99cbf924 Bug 813373, patch 4: fix printfs that crept in in patch 3. 2012-11-20 13:22:35 -08:00
L. David Baron
43366dc10f Bug 813373, patch 3: Make sure all style rules have non-empty List implementations. r=bzbarsky 2012-11-20 11:55:14 -08:00
L. David Baron
f04e40072d Bug 813373, patch 1: Remove pres context parameters from nsStyleAnimation::UncomputeValue. r=dholbert 2012-11-20 11:55:14 -08:00
David Zbarsky
b20ba33014 Bug 785657 - Enable async animations in content processes r=cjones 2012-08-25 21:27:28 -04:00
David Zbarsky
18258768e4 Bug 785648 - Improve OMTA logging r=cjones 2012-08-25 21:27:28 -04: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
05b13cba8d Bug 784239 - Perform async animations even when not all properties can be asyncified r=roc 2012-08-21 21:48:47 -04:00
David Zbarsky
a66260e4cc Bug 780342 - Don't allow compositor-driven animation of frames that are not prerendered, provide diagnostics for when that happens r=cjones 2012-08-06 16:33:23 -04:00
David Zbarsky
f26a2c38bd Bug 780340 - Allow compositor-driven animations of visibility r=mattwoodrow 2012-08-05 13:03:43 -04:00
Ed Morley
f4181983a1 Revert inbound to 3d5d1daa2505 to stop OS X M5 failures (backout not clean/could have been a bad merge) on a CLOSED TREE 2012-08-04 18:05:15 +01:00
David Zbarsky
0d68b46a25 Bug 780340 - Allow compositor-driven animations of visibility r=mattwoodrow 2012-08-04 07:03:47 -07:00
David Zbarsky
b0f5b7c4c7 Bug 779385 - Help CSS authors diagnose why animations aren't async r=cjones 2012-08-02 23:32:13 -07:00
David Zbarsky
c6bc4bc722 Bug 755084 Part 3: Move checks for whether to animate opacity and transforms on the compositor thread to nsLayoutUtils, and make them also check whether the compositor is actually running r=cjones,dbaron 2012-07-31 10:28: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
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
David Zbarsky
621c1b50c9 Bug 755084 Part 3: Move checks for whether to animate opacity and transforms on the compositor thread to nsLayoutUtils, and make them also check whether the compositor is actually running r=cjones,dbaron 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
c31bdbe970 Bug 755084 Part 3: Move checks for whether to animate opacity and transforms on the compositor thread to nsLayoutUtils, and make them also check whether the compositor is actually running r=cjones,dbaron 2012-07-25 01:55:00 -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 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