Commit Graph

147 Commits

Author SHA1 Message Date
Tom Klein
23ca7458ab Bug 676001 - Fix for stroke hit testing on cairo. r=jrmuizel
The mochitest was mostly written by Jonathan Watt (bug 719385).
2015-11-18 11:20:02 -06:00
L. David Baron
1b093e6db8 Bug 1221436 patch 2 - For style attributes, only store a css::Declaration instead of a css::StyleRule. r=heycam
Now that Declaration implements nsIStyleRule, we don't need the memory
overhead of storing a StyleRule object for style attributes.

We also need to change this prior to patch 5, because the changes in
patch 5 that will allow rules to change (but declarations not) would
otherwise break due to style attribute object merging done by
nsAttrValue::ParseStyleAttribute.
2015-11-09 15:57:16 +08:00
Nathan Froyd
2c24e475ff Bug 1222172 - fix friend declaration in SVGSwitchElement; r=dholbert
clang-cl warns about this one, saying:

  "unqualified friend declaration referring to type outside of the nearest
  enclosing namespace is a Microsoft extension; add a nested name specifier"

It's not completely obvious to me how this is a Microsoft extension if
GCC and clang both manage to compile it, but explicit is better than
implicit, I suppose, so let's add the :: qualifier.
2015-11-05 14:47:28 -05:00
L. David Baron
bd34fad9af Bug 978833 patch 18 - Eliminate StyleRule::RuleMatched and call Declaration::SetImmutable directly for style rules (like for @page and keyframe rules). r=heycam
This is just simplification (plus the addition of an assertion).
2015-11-05 16:44:10 +08:00
L. David Baron
c7d6d8dcfa Bug 978833 patch 12 - Use the css::Declaration instead of the css::StyleRule as the matching rule. r=heycam
This is the key change in this patch series; it changes the object we
use for style data (currently nsIStyleRule) identity.  It allows
removing some hacks we have to deal with that for StyleRule, and avoids
having to write similar hacks for nsCSSKeyframeRule and nsCSSPageRule
(which are broken without this).

I confirmed locally that it is this patch that fixes both of the todo_is
mochitests, by building and testing with the patch queue through patch
11, and again through patch 12.
2015-11-05 16:44:10 +08:00
Robert Longson
64e4cff715 Bug 1166805 part 2 - Call SetCapacity before calling DOMSVGXXXList::MaybeInsertNullInAnimValListAt, to prevent fallible InsertElementAt calls from failing r=dholbert 2015-11-05 06:32:29 +00:00
Robert Longson
ae33be4283 Bug 1166805 part 1 - refactor common tests for whether an animated list mirrors the base version of the list into methods. r=dholbert 2015-11-04 05:42:41 +00:00
Birunthan Mohanathas
94998cf5fe Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Ryan VanderMeulen
a46beb2ec9 No bug - Various crashtest manifest cleanups. 2015-10-31 19:35:27 -04:00
Birunthan Mohanathas
a535083ab4 Bug 1217320 - Remove more XPIDL signature comments in .cpp files. r=froydnj
Comment-only, DONTBUILD.
2015-10-27 06:54:25 +02:00
Tooru Fujisawa
8a3eb7d1bb Bug 1217093 - Remove for-each from dom/. r=smaug 2015-10-19 02:00:50 +09:00
Cameron McCormack
81fd260187 Bug 1203610 - Don't load on-demand non-SVG UA sheets during static document clone. r=jwatt 2015-10-20 08:59:37 +11:00
Nathan Froyd
e4e2da55c9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Nathan Froyd
5254890206 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Zack Weinberg
c393e2a8fd Bug 1035091 part 1: change CSS parser and loader APIs to distinguish UA, user, and author sheets instead of just UA vs everyone else. r=heycam 2015-10-13 17:43:16 -04:00
Nicholas Nethercote
e6cc09cd51 Bug 1211324 (part 4) - Replace GraphicsFilter constants with gfx::Filter equivalents. r=mattwoodrow.
The conversion is as follows:

- GraphicsFilter::FILTER_NEAREST == gfx::Filter::POINT
- GraphicsFilter::FILTER_GOOD    == gfx::Filter::GOOD
- GraphicsFilter::FILTER_BEST    == gfx::Filter::LINEAR

Also typedef GraphicsFilter to gfx::Filter; this will be removed in the next
patch.

These changes mean ToFilter() and ThebesFilter() are no longer needed.
2015-10-05 17:12:46 -07:00
Robert Longson
c0dcee3d81 Bug 1204061 - check return values from some methods r=dholbert 2015-10-06 13:19:03 +01:00
Andrew McCreight
ebefdc0be5 Bug 1197893 - Check the number of arguments for ThrowTypeError() and ThrowRangeError() at compile time. r=peterv 2015-10-05 09:38:14 -07:00
Wes Kocher
15f8ac0988 Backed out changeset 821791826960 (bug 1197893) for Nexus build failures CLOSED TREE 2015-10-02 16:17:05 -07:00
Andrew McCreight
48a2601390 Bug 1197893 - Check the number of arguments for ThrowTypeError() and ThrowRangeError() at compile time. r=peterv 2015-10-02 15:09:02 -07:00
Andrew McCreight
be7e493588 Backed out changeset 6fa9cdf4002b for breaking the build. 2015-10-02 10:49:28 -07:00
Andrew McCreight
4428f7b6fa Bug 1197893 - Check the number of arguments for ThrowTypeError() and ThrowRangeError() at compile time. r=peterv 2015-10-02 10:42:08 -07:00
David Anderson
80f5317cbc Don't use Direct2D if CompositorD3D11::Initialize fails. (bug 1208638, r=jrmuizel) 2015-10-01 23:06:43 -07:00
Tom Klein
4a3e289dd0 Bug 1209525 - Protect GetGeometryBounds from a singular non-scaling-stroke transform. r=longsonr 2015-09-30 08:05:00 +02:00
Wes Kocher
d8619c7d1e Backed out changeset 919a831786f1 (bug 1208638) for windows build failures 2015-09-30 16:43:26 -07:00
David Anderson
6f09b1c220 Don't use Direct2D if CompositorD3D11::Initialize fails. (bug 1208638, r=jrmuizel) 2015-09-30 16:16:16 -07:00
Tom Klein
a63bf75a9c Bug 958160 - Compute bounds in transformed space instead of user space in GetCoveredRegion. r=longsonr 2015-09-22 10:31:00 +02:00
Michael Layzell
f20336e5e1 Bug 1201190 - Part 3: Mark every consumer of GUARD_OBJECT as MOZ_RAII, r=ehsan 2015-09-12 16:53:33 -04:00
Tom Klein
7579b60c17 Bug 1092125 - part 2 - add non-scaling-stroke support to SVGLineElement::GetGeometryBounds. r=jwatt 2015-09-02 20:10:00 +02:00
Tom Klein
67a6154671 Bug 1092125 - Part 1 - Add non-scaling-stroke support to nsSVGPathGeometryElement::GetGeometryBounds (except line). r=jwatt 2015-09-01 06:17:00 +02:00
Masayuki Nakano
496fd6384d Bug 895274 part.114 Rename NS_SVG_ZOOM to eSVGZoom r=smaug 2015-09-07 23:55:52 +09:00
Masayuki Nakano
736665e7cb Bug 895274 part.112 Rename NS_SVG_SCROLL to eSVGScroll r=smaug 2015-09-07 23:55:52 +09:00
Masayuki Nakano
bc04e07473 Bug 895274 part.109 Rename NS_SVG_LOAD to eSVGLoad r=smaug 2015-09-07 23:55:51 +09:00
Wes Kocher
45f5ae8270 Backed out 2 changesets (bug 1035091)
a=backout

Backed out changeset 1fc07bdd9aa8 (bug 1035091)
Backed out changeset f6e98029d1cb (bug 1035091)
2015-09-03 11:41:39 -07:00
Zack Weinberg
d89a3bcc67 Bug 1035091 part 1: change CSS parser and loader APIs to distinguish UA, user, and author sheets instead of just UA vs everyone else. r=heycam 2015-09-02 13:52:49 -04:00
Nigel Babu
40a4e91de9 Backed out changeset 1f22cefbef23 (bug 1092125) for M3 bustage on CLOSED TREE 2015-09-02 11:34:47 +05:30
Nigel Babu
d0e1a05afc Backed out changeset 4a68226609c8 (bug 1092125) for M3 bustage on CLOSED TREE 2015-09-02 11:34:34 +05:30
Tom Klein
430f20046e Bug 1092125 - Part 2: Add non-scaling-stroke support to SVGLineElement::GetGeometryBounds. r=jwatt 2015-08-19 14:48:00 -04:00
Tom Klein
61df98d485 Bug 1092125 - Part 1: Add non-scaling-stroke support to nsSVGPathGeometryElement::GetGeometryBounds (except line). r=jwatt 2015-09-01 06:17:00 -04:00
Nicholas Nethercote
69d088e45f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.
2015-08-27 20:44:53 -07:00
Daniel Holbert
9d2b2e6429 Bug 1196339 - Drop bogus (& unused) extra arg from SVGSVGElement::SetZoomAndPan() error-reporting statement. r=mccr8 2015-08-19 11:39:00 -04:00
Masayuki Nakano
451161e458 Bug 895274 part.1 Rename WidgetEvent::message to WidgetEvent::mMessage r=smaug 2015-08-22 10:34:51 +09:00
Nathan Froyd
a64621d002 Bug 968923 - fix bogus assert in nsSVGElement.cpp; r=heycam
Landing this on a CLOSED TREE
2015-08-11 00:24:27 -04:00
Cameron McCormack
b9bbca8eef Bug 968923 - part 3d - record use counter information from the CSS parser; r=dbaron 2015-06-03 15:21:24 -04:00
Aryeh Gregor
d23d38648e Bug 1179451 - Part 4: Don't pass nsRefPtr&& to functions that want raw pointers. r=froydnj 2015-08-13 15:22:48 +03:00
Aryeh Gregor
2aab280bb3 Bug 874842 - Return Event instead of nsIDOMEvent 2015-08-12 14:39:31 +03:00
Birunthan Mohanathas
e1f0334d06 Bug 1191100 - Remove XPIDL signature comments in .cpp files. r=ehsan
Comment-only so DONTBUILD.
2015-08-04 16:17:36 -07:00
Robert O'Callahan
b3e6c8c4ff Bug 1184842. Preparse class attribute values in Element::BeforeSetAttr. r=peterv 2015-08-01 17:46:15 +12:00
Robert O'Callahan
d10c4321ce Bug 1184842. Add aNewValue to nsIMutationObserver::AttributeWillChange. r=peterv 2015-07-25 18:05:19 +12:00
Robert O'Callahan
d3cac53133 Bug 1184842. Allow BeforeSetAttr to preparse aValue. r=peterv
We will pass the preparsed value into AttributeWillChange.
2015-08-01 17:14:06 +12:00