Commit Graph

2367 Commits

Author SHA1 Message Date
Dirk Schulze
d9d4e07104 Bug 1075457, part 2 - Implement circle() and ellipse() for the |clip-path| property. r=mstange, r=jwatt
--HG--
extra : rebase_source : b715d653a39e87524e75f38f1a10ca214b461131
2016-02-08 22:09:08 +00:00
Dirk Schulze
7d71b51c43 Bug 1075457, part 1 - Implement rendering for |clip-path:polygon()|. r=mstange, r=jwatt
--HG--
extra : rebase_source : 17ddbe04589e146c5e64497527b5a74b54337b8b
2016-02-08 22:08:09 +00:00
Birunthan Mohanathas
9137955c65 Bug 1235261 - Part 2: Switch some uses of AutoFallibleTArray to AutoTArray. r=froydnj
This changes some function signatures to take a nsTArray<T>& instead of a
FallibleTArray<T>& because AutoTArray does not inherit from FallibleTArray.

This is effectively a no-op because the affected array operations already use
`mozilla::fallible`.
2016-02-02 17:36:30 +02:00
Birunthan Mohanathas
d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda
d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
53bb27f2a4 Bug 1235261 - Part 2: Switch some uses of AutoFallibleTArray to AutoTArray. r=froydnj
This changes some function signatures to take a nsTArray<T>& instead of a
FallibleTArray<T>& because AutoTArray does not inherit from FallibleTArray.

This is effectively a no-op because the affected array operations already use
`mozilla::fallible`.
2016-01-31 17:12:12 +02:00
Birunthan Mohanathas
373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Kyle Huey
91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Ting-Yu Lin
2d02ad0652 Bug 1227927 Part 3 - Use ranged-based for-loop to rewrite some simple loops in part 2. r=mats
--HG--
extra : commitid : CcdpGdlMNIk
extra : rebase_source : 9c184cb8107bf6276c237d03d240f8755fd61553
2016-01-29 22:42:15 +08:00
Ting-Yu Lin
1889f6bc41 Bug 1227927 Part 2 - Remove nsIFrame::GetFirstPrincipalChild(). r=mats
--HG--
extra : commitid : 5qtaK1nS8RC
extra : rebase_source : dcc98f423b2446269beb6fa6a9d092ae8213f38e
2016-01-29 22:42:14 +08:00
CJKu
7b577b9c98 Bug 686281 - Rename nsStyleSVGReset::mLayers to nsStyleSVGReset::mMask; Rename nsStyleBackground::mLayers to nsStyleBackground::mImage. r=dbaron 2016-01-28 06:39:00 +01:00
CJKu
93fe52cf88 Bug 686281 - Remove nsStyleSVGReset::mMask; r=dbaron 2016-01-28 06:37:00 +01:00
CJKu
a53d05d2f7 Bug 686281 - Mask CSS rendering; r=mstange 2016-01-28 06:29:00 +01:00
Jonathan Watt
7d5550b906 Bug 1223644 - Clean up the nsSVGClipPathFrame reference loop detection code. r=longsonr 2016-01-28 09:30:47 +00:00
Xidorn Quan
00b4af1798 Bug 1230034 part 10 - Convert remaining frame properties to by typed and remove the unsafe declaring macro. r=dbaron
--HG--
extra : source : 19140dd4f1640c4600a0f9e0ff790b44f0cd83ca
2016-01-28 14:23:59 +11:00
Xidorn Quan
e397870be2 Bug 1230034 part 5 - Convert all frame properties which use DeleteValue and ReleaseValue as destructor to be typesafe. r=dbaron
By changing signature of those two functions, we make compiler complain about
all their existing uses, so we can find all of them and convert them.

Some of the callsites of Get() with those properties are also converted, but not
all of them. It is fine because if there is any incorrect conversion, compilers
is able to find out now. So they are completely typesafe.

--HG--
extra : source : 808415985d3d446f18941eb007a9be9d69d180ce
2016-01-28 14:23:59 +11:00
Xidorn Quan
6ad1442a53 Bug 1230034 part 4 - Make FramePropertyDescriptor to be a template. r=froydnj,dbaron
This patch makes methods of FramePropertyTable and FrameProperties to be
simple template wrapper functions. Then it converts all references to
FramePropertyDescriptor to use "void" parameter to simulate the current
unsafe behavior.

SmallValueHolder is used for storing small values like int32_t, float,
which can fit in the size of a pointer directly, and thus no lifetime
management is needed.

--HG--
extra : source : 88b2723cddf119d73d8a442d8238b50406e9d604
2016-01-28 14:23:59 +11:00
Nicholas Nethercote
26360d6c45 Bug 1239864 (part 9) - Use the new rect iterators in layout/ and ipc/. r=dholbert.
--HG--
extra : rebase_source : d5558c39bd3cfe85ee6f247eea8bab33f2f5027f
2016-01-18 17:20:59 -08:00
Jonathan Watt
e7af97097b Bug 1223604 - Disentangle nsSVGClipPathFrame::ApplyClipOrPaintClipMask and make the code easier to understand. r=Bas 2016-01-26 17:27:44 +00:00
Cameron McCormack
1e4ade314b Bug 1240635 - Interpret glyph x-offsets on SVG vertical text paths in the correct direction. r=longsonr 2016-01-19 19:23:40 +11:00
Cameron McCormack
3bee3baf31 Remove mention of old SVG text pref in comment; no bug. (DONTBUILD)
--HG--
extra : amend_source : 637d6f080ac7dab34f2129b5b339a5b79bda5899
2016-01-11 10:48:56 +11:00
Nicholas Nethercote
fd7ca876ef Bug 1232852 (part 4) - Remove some unused parameters in and around layout/base/. r=heycam.
--HG--
extra : rebase_source : 68642322a9fc78bb7eace1501b75003241a44507
2016-01-05 16:08:17 -08:00
Robert Longson
e7bc0ea9a2 Bug 1156581 - Add null check to nsSVGEffects::InvalidateRenderingObservers to prevent crashes r=dholbert 2015-12-30 20:19:33 +00:00
Nicholas Nethercote
16efa2c6ff Bug 1231303 - Moz2Dify nsFilterInstance. r=roc.
--HG--
extra : rebase_source : d8d1cef32ac83dd9319fd812366e77c24a316aae
2015-12-13 14:02:34 -08:00
Chris Peterson
46bb7c80dd Bug 1228947 - Replace mfbt/Constants.h with math.h. r=roc
--HG--
extra : rebase_source : 4ab2c4a917ea90055e48bd6adcb53904f2266ee0
2015-11-27 20:49:55 -08:00
Nicholas Nethercote
757eb4ec8c Bug 1229202 (part 3) - Make gfxContextAutoDisableSubpixelAntialiasing take a DrawTarget instead of a gfxContext. r=mattwoodrow.
--HG--
extra : rebase_source : 63851ac1725451c7607c00b345ce3334ff749246
2015-12-02 15:32:16 -08:00
Robert Longson
e5adaf828f Bug 1145195 part 1 - Create a helper function for PrependLocalTransformsTo in SVGContentUtils r=dholbert 2015-12-02 22:36:23 +00:00
Bobby Holley
b83cc03bd2 Bug 773429 - Remove dom.disable_image_src_set. r=khuey 2015-11-23 14:08:34 -08:00
Bas Schouten
9c69abbb6c Bug 1224798: Do not produce a clip mask if our context is entirely clipped out anyway. r=jrmuizel 2015-11-17 16:27:17 +01:00
Nicholas Nethercote
489c83b1dd Bug 1223690 - Remove implicit Rect conversions. r=jrmuizel.
gfxRect can be implicitly constructed from IntRect, which hides a number of
implicit conversion points, makes Moz2Dification harder, and has some
surprising effects.

This patch removes the implicit constructor and replaces it with an explicit
conversion function:

  gfxRect ThebesRect(const IntRect&)

This is the obvious outcome of removing the constructor.

But there is also a second, less obvious outcome: currently we do a number of
IntRect-to-Rect conversions using ToRect(), which (surprisingly) works because
it turns into an implicit IntRect-to-gfxRect conversion (via the implicit
constructor) combined with an explicit gfxRect-to-Rect conversion (via
ToRect()). I.e. we do two conversions, going from a Moz2D type to a Thebes
type and back to a Moz2D type!

So this patch also changes these conversion. It moves this existing function:

  Rect ToRect(const IntRect&)

from gfx2DGlue.h -- where it doesn't really belong because it doesn't involve
any Thebes types -- to gfx/2d/Rect.h, templatifying and renaming it as
IntRectToRect() in the process.

The rest of the patch deals with fall-out from these changes. The call sites
change as follows:

- IntRect-to-gfxRect conversions:
  - old: implicit
  - new: ThebesRect()

- IntRect-to-Rect conversions:
  - old: ToRect()
  - new: IntRectToRect()

--HG--
extra : rebase_source : e4e4c2ad10b36ecad4d57d1630158f3374e403be
2015-11-11 14:23:14 -08:00
Robert Longson
b5484d8a9f Bug 1222812 - add a null check in case there is no old style. r=dholbert 2015-11-11 21:31:32 +00:00
Bas Schouten
36cd89f36b Bug 1210560 - Part 3: Convert more complex SVG usecases to PushGroupForBlendBack. r=jwatt r=jrmuizel 2015-11-11 16:15:39 +01:00
Bas Schouten
d4041dbed1 Bug 1210560 - Part 2: Convert some simple users to use PushGroupForBlendBack. r=jrmuizel 2015-11-11 16:15:39 +01:00
Nicholas Nethercote
0d79ed6fcd Bug 1223215 (part 2) - Remove a ToSize() call. r=jwatt.
--HG--
extra : rebase_source : 7a0d71f4e7637d7142efe1ef5fa34aa4dbd9f998
2015-11-08 20:23:54 -08:00
Botond Ballo
5bf85e9f9d Bug 1220923 - Make nsIntRegion a typedef for IntRegionTyped<UnknownUnits>. r=nical
--HG--
extra : source : 1f371f014048ed4c3c25095233fea927311a7e23
2015-11-04 11:49:49 -05:00
Xidorn Quan
a1dd9fc19e Bug 1216332 - Remove framearena helpers from abstract frame classes and stop them from being instantiated. r=dbaron
--HG--
extra : source : 9f59591f02706190e56db8ad89ff5a769b5c47dd
2015-11-04 20:57:35 +11:00
Robert Longson
6bb5c22f19 Bug 803562 - force -moz-appearance: none on foreignObject elements. r=dbaron 2015-11-02 19:17:48 +00:00
Ryan VanderMeulen
028dec7cc8 No bug - Various crashtest manifest cleanups.
--HG--
rename : dom/base/crashtests/713417.html => dom/base/crashtests/713417-1.html
rename : dom/workers/test/1158031.html => dom/workers/test/crashtests/1158031.html
rename : dom/workers/test/779707.html => dom/workers/test/crashtests/779707.html
rename : dom/workers/test/943516.html => dom/workers/test/crashtests/943516.html
rename : dom/workers/test/crashtests.list => dom/workers/test/crashtests/crashtests.list
rename : layout/generic/crashtests/812879.html => layout/generic/crashtests/812879-1.html
rename : layout/generic/crashtests/first-letter-638937.html => layout/generic/crashtests/first-letter-638937-1.html
extra : rebase_source : b9274dc6870030ed62bcee35350d566160502869
2015-10-31 19:35:27 -04:00
Kyle Huey
c7d3c4e21a Bug 1216401: Eviscerate nsIDOMWindow, move still needed methods to nsPIDOMWindow. r=bz 2015-10-26 14:37:32 -07:00
Ryan VanderMeulen
06b40aa156 Bug 950324 - Add crashtest.
--HG--
extra : rebase_source : c6a475460b05e74bab46a33bcec5c5605191bbbc
2015-10-25 16:20:16 -04:00
Ryan VanderMeulen
64ab517ea0 Bug 325427 - Add crashtest.
--HG--
extra : rebase_source : f80084102f752fc47b35d31929bbb2b351268f63
2015-10-24 15:03:19 -04:00
Nathan Froyd
01583602a9 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

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd
583afa0965 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
Nicholas Nethercote
0f5722f4da Bug 1211324 (part 5) - Remove GraphicsFilter and gfxGraphicsFilter. r=mattwoodrow. 2015-10-05 17:18:10 -07:00
Nicholas Nethercote
b4181c38e0 Bug 1208365 (part 3) - Change gfxPattern::mExtend from a GraphicsExtend to a gfx::ExtendMode. r=bas.
At this point, the relationship between GraphicsExtend and gfx::ExtendMode is
as follows.

- EXTEND_REPEAT matches up with REPEAT.
- EXTEND_REFLECT matches up with REFLECT.
- EXTEND_PAD matches up with CLAMP.
- EXTEND_NONE has no matching value in gfx::ExtendMode.

The only use of EXTEND_NONE is with nsSVGGradientFrame::mExtend. That field
gets assigned EXTEND_NONE in the various constructors, and other values via
SetExtend(). And all uses of that field go immediately into ToExtend() calls,
which convert EXTEND_NONE to CLAMP. So it's safe to change this field to
gfx::ExtendMode and initialize it to CLAMP.

--HG--
extra : rebase_source : 8873174223e77b341e046093d25b320a33f0582b
2015-09-25 00:58:23 -07:00
Tom Klein
e94a3e4be4 Bug 1209525 - Protect GetGeometryBounds from a singular non-scaling-stroke transform. r=longsonr 2015-09-30 08:05:00 +02:00
Nicholas Nethercote
d0c4a9db1b Bug 1208300 (part 4) - Remove gfxRGBA and some related things. r=jwatt.
Hooray!

--HG--
extra : rebase_source : d691b55eef5a8655aa98b81b5398452a5ebe860d
2015-09-24 19:24:16 -07:00
Nicholas Nethercote
25d52ffe9f Bug 1208283 (part 1) - Change gfxPattern's single-arg constructor to take a gfx::Color& instead of a gfxRGBA&. r=jwatt.
--HG--
extra : rebase_source : 09fece3af01326be1ea7a5c29d52266323f09ade
2015-09-24 17:50:46 -07:00
Nicholas Nethercote
342466f878 Bug 1208345 - Remove gfxContext::GraphicsOperator. r=jwatt.
Also...

- Rename various "operator" identifiers as "op" to match |CompositionOp|.

- Rename |nsBackgroundLayerState::mCompositingOp| as |mCompositionOp| to match
  |CompositionOp|.

- Remove some deprecated functions that are no longer needed.

--HG--
extra : rebase_source : 74e9b6eecf6f442e27cc18fd4ae6f668a45188aa
2015-09-24 22:38:58 -07:00
Matt Woodrow
55713b7206 Bug 1205087 - Make nsSVGIntegrationUtils paint frame continuations manually since combining them meant that our reference frame wasn't an ancestor of all painted frames. r=roc 2015-09-24 18:26:34 -04:00