Commit Graph

317 Commits

Author SHA1 Message Date
Ehsan Akhgari
fe4005d016 Bug 923151 - Part 2: Don't #include nsIDocument.h in mozilla/dom/Element.h; r=jst 2013-10-02 16:09:18 -04:00
Ehsan Akhgari
6cf84bf2d9 Bug 921876 - Stop #including nsIFrame.h in nsLayoutUtils.h; r=roc
This patch does the following:
* Move nsIFrame::IntrinsicSize to mozilla::IntrinsicSize so that it can
  be forward-declared.
* Move a number of templated inline nsLayoutUtils methods to nsIFrame.
* Use mozilla::layout::FrameChildListID instead of the
  nsIFrame::ChildListID typedef in nsLayoutUtils.h.
* Move nsReflowFrameRunnable to its only user, nsProgressMeterFrame.cpp.
* Make a number of functions requiring nsIFrame.h out-of-line.
* Remove the nsIFrame.h #include from nsLayoutUtils.h and add it to the
  places which require it implicitly.
2013-09-30 17:26:04 -04:00
Ehsan Akhgari
1089e71462 Bug 916610 - Minimize the #includes in layout/style; r=roc 2013-09-15 21:06:52 -04:00
Nicholas Cameron
7a5ad41e56 Bug 894497. Weaken the assertion in GetAnimationRule. r=dbaron 2013-09-12 10:34:27 +12:00
Robert O'Callahan
51222bdd45 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg 2013-09-02 20:41:57 +12:00
L. David Baron
99eedbde63 Bug 893308: Move hashtable of @keyframes rules (keyed by name) from nsAnimationManager to RuleCascadeData. r=heycam 2013-08-14 21:58:37 -07:00
Ehsan Akhgari
1ab9c7bcb4 Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:

# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type

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 "*.cc" \
         -o -iname "*.mm" \) | \
    xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
                   media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
                   modules/libmar/src/mar_private.h \
                   modules/libmar/src/mar.h


# assert_replacer.py
#!/usr/bin/python

import sys
import re

pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")

def replaceInPlace(fname):
  print fname
  f = open(fname, "rw+")
  lines = f.readlines()
  for i in range(0, len(lines)):
    while True:
      index = re.search(pattern, lines[i])
      if index != None:
        index = index.start()
        lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
        for j in range(i + 1, len(lines)):
          if lines[j].find("                 ", index) == index:
            lines[j] = lines[j][0:index] + lines[j][index+4:]
          else:
            break
      else:
        break
  f.seek(0, 0)
  f.truncate()
  f.write("".join(lines))
  f.close()

argc = len(sys.argv)
for i in range(1, argc):
  replaceInPlace(sys.argv[i])
2013-07-18 13:59:53 -04:00
Catalin Iacob
0ac9ab6089 Bug 798914 (part 6) - Followup: move MemoryReporting.h include after the cpp's own header include. r=njn. 2013-06-30 18:26:39 +02:00
Nicholas Cameron
587398bf4b 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
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
Robert O'Callahan
9c45a84492 Bug 880854. Part 2: Support reflows/frame reconstruction in print/print-preview documents by promoting them to frame reconstruction of the whole document. r=mats 2013-06-18 23:41:30 +12: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
9a9409f772 Bug 788549 Part 1: Throttled animations should not claim that their style rule is up to date r=dbaron, nrc 2013-05-23 16:43:22 +08:00
Olli Pettay
4655b200a5 Bug 848293 - Update AnimationEvent to be compatible with the spec, r=dbaron 2013-05-05 16:22:29 +03: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
Daniel Holbert
03e3588aea Bug 829369: Cast pointer-subtraction to a size_t (after ensuring it'll be nonnegative) when comparing it to a nsTArray's size, to fix signed/unsigned comparison build warning. r=dbaron 2013-01-12 01:56:15 -08:00
L. David Baron
c9527f0b4c Bug 822891: Make animationiteration events fire when we're running off-main-thread animations and throttling style changes. r=nrc 2013-01-11 09:53:14 -08:00
L. David Baron
72b49de61a Bug 827687, patch 2: Be more careful walking segments. r=bzbarsky 2013-01-10 21:14:51 -08:00
L. David Baron
93143c2e64 Bug 827687: Fix edge case in calculation of whichIteration. r=bzbarsky 2013-01-10 21:14:51 -08:00
L. David Baron
3ddb6bda70 Bug 827717: Change record of CSS animation start to be before delay so that dynamic changes to animation-delay are honored. r=bzbarsky
This matches the CSS Working Group consensus recorded in
http://lists.w3.org/Archives/Public/www-style/2012Nov/0261.html , though
the spec hasn't yet been updated.
2013-01-10 21:14:51 -08:00
L. David Baron
9c6f2ddf10 Bug 827698: Use the length of the 'animation-name' list when determining how many animations to run. r=bzbarsky
NOTE:  The tests in test_animations.html fail without the patch; the
tests in test_shorthand_property_getters.html are only tangentially
related and pass both with and without the patch.
2013-01-10 21:14:51 -08:00
Nicholas Cameron
f3013d98b5 Bug 822231; fix end of animation behaviour. r=dbaron 2012-12-21 16:58:14 -05:00
Nicholas Cameron
6edbdb7f5a Bug 780692; throttle OMTA (rollup patch). r=dbaron,bz 2012-12-12 10:12:43 +13:00
David Zbarsky
cd632b277a Bug 788409: When the compositor runs past the end of an animation, just fill forwards until the main thread catches up. r=dbaron a=blocking-basecamp 2012-11-22 15:49:06 -08: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
Isaac Aggrey
990e90e88a Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05: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
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
3583e53545 Bug 783893 - Clean up async animation code r=roc 2012-08-21 00:06:47 -04:00
David Zbarsky
b75b446748 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
David Zbarsky
8206ad9459 Bug 755084 Part 1: Move ElementAnimations, ElementAnimation, AnimationProperty, and AnimationPropertySegment classes to the header file. 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
da2e3c85aa 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
David Zbarsky
945683aa6c Bug 755084 Part 1: Move ElementAnimations, ElementAnimation, AnimationProperty, and AnimationPropertySegment classes to the header file. 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
aa14a12d8b 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
David Zbarsky
94eaa0b695 Bug 755084 Part 1: Move ElementAnimations, ElementAnimation, AnimationProperty, and AnimationPropertySegment classes to the header file. r=dbaron 2012-07-25 01:48:09 -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
815603cd80 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
David Zbarsky
700736f464 Bug 755084 Part 1: Move ElementAnimations, ElementAnimation, AnimationProperty, and AnimationPropertySegment classes to the header file. r=dbaron 2012-07-23 17:34:28 -07:00
L. David Baron
da83d2ae4c Treat animation-iteration-count:0 specially. (Bug 765218) r=bzbarsky 2012-06-21 11:44:34 -07:00
L. David Baron
7f8e467371 Implement new values of animation-direction. (Bug 655920) r=bzbarsky 2012-06-21 11:44:34 -07:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00