Commit Graph

413 Commits

Author SHA1 Message Date
L. David Baron
09f30f299d 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
b5070cd7d7 Back out 2332bb3fe186:10f70b8b04fe (bug 858937) for warnings-as-errors bustage
CLOSED TREE
2013-06-24 23:42:05 -07:00
L. David Baron
f34f280c0c 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
f88cdc0744 Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn. 2013-06-23 14:03:39 +02:00
Nicholas Cameron
eae4d922b0 Bug 849399. Invalidate existing style rule if we start a transition. r=dbaron 2013-06-18 14:18:55 +12:00
Ryan VanderMeulen
f4fb17ccb2 Backed out changesets a06a3cca82e8 and 711d46a1f67e (bug 849399) for frequent Android reftest-2 failures. 2013-06-12 15:23:23 -04:00
Nicholas Cameron
60727405f5 Bug 880075. Move def of pts in one scope since it is no longer used in the if statement and add comment; r=dbaron 2013-06-12 17:43:17 +12:00
Nicholas Cameron
23067e57e1 Bug 849399. Invalidate existing style rule if we start a transition. r=dbaron 2013-06-12 17:39:42 +12:00
L. David Baron
a7e869a7e0 Bug 879255: Refactor fix for bug 613888, step 4: consolidate conditions, and reindent (and fix bracing while doing so). r=nrc 2013-06-05 09:35:52 +09:00
L. David Baron
7ae38c0783 Bug 879255: Refactor fix for bug 613888, step 3: move no-change test earlier so that we don't have to clutter conditions between the new location and old with logic to fall through to it. r=nrc 2013-06-05 09:35:52 +09:00
L. David Baron
5ef56ea113 Bug 879255: Refactor fix for bug 613888, step 2: consolidate oldPT variable. r=nrc 2013-06-05 09:35:52 +09:00
L. David Baron
945a603430 Bug 879255: Refactor fix for bug 613888, step 1: create haveCurrentTransition variable. r=nrc 2013-06-05 09:35:52 +09:00
David Zbarsky
a13233cafe Bug 788549 Part 6: Remove a redundant if check r=dbaron 2013-05-30 17:45:17 -07:00
L. David Baron
4361b95070 Bug 815408: Ignore CSS transitions and animations in print and print preview. r=bzbarsky
Note that this patch has a little bit of a belt-and-braces aspect to it.
In each file, either one of the changes should be sufficient, but one of
them prevents us from doing unneeded work and the other one ensures that
we never apply style resulting from transitions and animations even if
somehow we do that work.

Also note that the tests don't actually test anything usefully, since
the reftest harness doesn't currently make the pres context non-dynamic.
(Thus they're marked as failing.)  I'm not sure what I should do about
that, though I'm considering just deleting the tests entirely.
2013-05-29 14:36:39 +08:00
David Zbarsky
1e055da7ed Bug 874770 - Always enable OMTA throttling r=nrc 2013-05-22 18:31:03 +08:00
Olli Pettay
e1d908dde3 Bug 848291 - Update TransitionEvent to be compatible with the spec, r=dbaron 2013-05-04 17:41:20 +03:00
Matt Woodrow
077e43fa79 Bug 840480 r=roc 2013-02-20 13:13:01 +13:00
L. David Baron
ca6c366dc6 Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
L. David Baron
a23c632b48 Bug 781360 patch 1: Rename nsStyleContext::GetRuleNode to RuleNode, since it can never return null. r=dholbert
This makes it conform to our convention that getters returning pointers
that can never be null do not begin with "Get".

nsStyleContext's rule node is never null because we require a rule node
in order to construct a style context.
2013-02-16 13:04:53 -08:00
L. David Baron
3c5d51984d Bug 841789, patch 1: Rename nsIFrame::GetStyleContext() to nsIFrame::StyleContext() since it can never return null. r=dholbert
This makes it conform to our convention that getters returning pointers
that can never be null do not begin with "Get".
2013-02-15 21:38:33 -08:00
Ms2ger
d83d923861 Bug 825407 - Get rid of GetElementParent; r=mounir 2013-01-11 09:43:01 +01:00
L. David Baron
f782060d36 Bug 822721 followup: remove bogus assertion to fix orange. 2013-01-09 08:51:14 -08:00
L. David Baron
ef50bfbc69 Fix bustage from bug 822721. 2013-01-08 20:53:16 -08:00
L. David Baron
8831e4eebc Bug 822721: Call CalcStyleDifference and process the style change list resulting from the miniflush we do to update throttled animations prior to seeing if we need to start transitions. r=bzbarsky
The CalcStyleDifference call is absolutely necessary even if we didn't
need to process the change list, because it causes the new style
context to have cached structs that we might need for a later
comparison.  This is important because, as an optimization, we only
compare structs that have been retrieved.  This optimization requires
that when we replace a style context, we fetch all the structs on the
new style context that had been fetched on the old style context (which
is normally necessary anyway in order to do comparison so we can process
the changes appropriately).

However, actually processing the change list is also necessary to fix
the bug; it's the actual change from the miniflush that matters here.
Based on dholbert's debugging information, I think it's mostly likely
because we were failing to process the UpdateOverflow hint.
2013-01-08 20:37:29 -08:00
Nicholas Cameron
652f0dbf4b Bug 823124; speculative fix - null style rule from an animation; r=dbaron 2012-12-27 11:42:34 +13:00
Nicholas Cameron
aea2a68ed3 Bug 823460; start throttled transitions with delays; r=dbaron; a=blocking-basecamp 2012-12-23 17:52:13 +13:00
Ms2ger
e7ebaa3807 Bug 820864 - Fix new build warnings in nsTransitionManager.cpp; r=nrc 2012-12-12 20:32:29 +01:00
Nicholas Cameron
6edbdb7f5a Bug 780692; throttle OMTA (rollup patch). r=dbaron,bz 2012-12-12 10:12:43 +13:00
Boris Zbarsky
4e934f7f8e Bug 811449 part 8. Get rid of nsGenericElement. r=peterv 2012-11-14 14:10:08 -08:00
Cameron McCormack
1c716ff434 Bug 811581 - Add a base class for all *RuleProcessorData classes. r=bz 2012-11-15 06:09:01 +11:00
Jeff Walden
7f2ac1699c Eliminate a few nullptr-to-bool conversions to avoid a clang warning (which we upgrade to error) in some clang revs. No bug, r=sparky 2012-10-09 16:14:42 -07:00
David Zbarsky
88583ce96b Bug 785648 - Improve OMTA logging r=cjones 2012-08-25 21:27:28 -04:00
David Zbarsky
988ccdfd92 Bug 780692 Part 0: Make sure frames that have async animations are marked as having active layers r=roc 2012-08-25 10:52:30 -04:00
David Zbarsky
d17c85a9d0 Fix a logging message, no bug, r=me 2012-08-25 00:10:47 -04:00
David Zbarsky
b367bec18b Log when we can't use async animations due to pseudos, no bug, r=cjones 2012-08-24 15:08:18 -04:00
Ehsan Akhgari
243c878d26 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
58bc807413 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
6a56e516b5 Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron 2012-07-31 10:28:22 -07:00
David Zbarsky
c1125ae35c Bug 768440 Part 1: Move ElementTransitions and ElementPropertyTransition to the header r=dbaron 2012-07-31 10:28:21 -07:00
Mark Finkle
b478928a3b 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
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
David Zbarsky
be098968f4 Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron 2012-07-27 13:23:45 -07:00
David Zbarsky
584133af68 Bug 768440 Part 1: Move ElementTransitions and ElementPropertyTransition to the header r=dbaron 2012-07-27 13:23:44 -07:00
Ed Morley
4cf7768fb0 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
8322d18bd8 Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron 2012-07-25 01:48:10 -07:00
David Zbarsky
916f393393 Bug 768440 Part 1: Move ElementTransitions and ElementPropertyTransition to the header r=dbaron 2012-07-25 01:48:10 -07:00
Matt Brubeck
0e88f3cf5b 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
ae54164998 Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron 2012-07-23 17:34:49 -07:00
David Zbarsky
c6db4c0e62 Bug 768440 Part 1: Move ElementTransitions and ElementPropertyTransition to the header r=dbaron 2012-07-23 17:34:48 -07:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00