Commit Graph

481 Commits

Author SHA1 Message Date
Phil Ringnalda
d871b9515f 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
245cd6a02f Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Nicholas Nethercote
241b89e77e Bug 1239864 (part 4) - Use the new rect iterators in gfx/. r=nical. 2016-01-18 17:20:58 -08:00
Jeff Muizelaar
a7813522cf Bug 1228641. Add a initializer_list constructor to nsTArray. r=froydnj
This also adds a couple of users of the new pattern.
2016-01-17 22:11:25 -05:00
Botond Ballo
4cd217e380 Bug 1236750 - Add typed getters for layer transform matrices. r=kats 2016-01-06 18:56:58 -05:00
Nicholas Nethercote
6a634f5d75 Bug 1237151 (part 3) - Remove ignored qualifiers in all remaining code. r=froydnj. 2016-01-05 17:08:45 -08:00
Bas Schouten
2ad97d694d Bug 1220629 - Part 4: Allow gfxContext to use the native pushlayer implementations based on a pref. r=jrmuizel 2016-01-06 00:04:42 +01:00
Kearwood (Kip) Gilbert
2773eeacb8 Bug 1182048 - Part 2: Implement e10s support for WebVR,r=vlad 2015-09-17 14:23:13 -07:00
Sunny Sidhu
2ba69faae0 Bug 1220873 - Make Layer::mVisibleRegion a LayerIntRegion. r=botond 2015-11-29 02:07:55 -05:00
Matt Woodrow
8a960d1c72 Bug 1168263 - Add a flags parameter to GetResultingTransformMatrix instead of using bools. r=roc 2015-11-26 22:32:35 +13:00
Botond Ballo
e26ba97449 Bug 1168263 - Annotate layers with a perspective transform. r=mattwoodrow 2015-11-02 17:38:08 -05:00
Kartikaya Gupta
ee94aac396 Bug 1214267 - Followup to fix missing propagation of 'fixedPositionSides' to the compositor, and add it to the layers dump. r=mattwoodrow
DONTBUILD because this is a backout/reland to fix bug number.
2015-11-13 09:38:57 -05:00
Kartikaya Gupta
85e1877b24 Back out cset 7529d41e6f1b for landing with an incorrect bug number. r=me 2015-11-13 09:37:53 -05:00
Kartikaya Gupta
69f5a2b7d9 Bug 1224209 - Fix missing propagation of 'fixedPositionSides' to the compositor, and add it to the layers dump. r=mattwoodrow 2015-11-13 09:35:40 -05:00
Botond Ballo
0b673c5e79 Bug 1222661 - Replace ToUnknown(obj) and FromUnknown(obj) with obj.ToUnknown*() and FromUnknown*(obj). r=nical 2015-11-09 17:49:46 -05:00
Botond Ballo
db5d15db66 Bug 1222661 - Replace ToUntyped(obj) calls with obj.ToUnknown*(). r=nical 2015-11-06 22:13:40 -05:00
Nicholas Nethercote
47614279a7 Bug 1223215 (part 4) - Remove a ToSize() call. r=jrmuizel. 2015-11-08 21:04:42 -08:00
Thinker K.F. Li
31d944f459 Bug 1211360 - Don't snap for non-translation 3D transform. r=roc 2015-10-25 22:05:00 -04:00
Nicholas Nethercote
4980c57e44 Bug 1219476 (part 3) - Replace PRLogModuleInfo usage with LazyLogModule in gfx/. r=erahm. 2015-10-29 15:44:31 -07:00
Markus Stange
eb4d35b052 Bug 1217168 - Respect layer clip rects during plugin visibility computation. r=jimm 2015-10-27 21:06:57 +01:00
Milan Sreckovic
8feec0d950 Bug 1214802 - gfxEnv - consolidate environment variables used by the graphics code in one place. r=botond 2015-10-28 14:31:00 +01:00
Nathan Froyd
d67e8ef562 Bug 1217662 - part 4 - move {LayerManager,Layer}::RemoveUserData out-of-line; r=mattwoodrow
Having these out-of-line means that we don't have to have
LayerUserData's destructor in scope for the destruction of the local
nsAutoPtr.  This change will enable us to forward-declare LayerUserData
in Layers.h and thereby encourage people to use the correct header for
LayerUserData.
2015-10-22 16:57:29 -04:00
Nathan Froyd
56087bfff0 Bug 1217662 - part 1 - make LayerManagerUserDataDestroy a static function of LayerManager; r=mattwoodrow
LayerManagerUserDataDestroy is a static function in Layers.h that we
only ever take a pointer to, to use it as a destruction function for
gfx::UserData.  It's *possible* the compiler is smart enough to call it
directly, rather than through the function pointer stored in
gfx::UserData, but that seems highly unlikely.  And
LayerManagerUserDataDestroy does a virtual call anyway, so it's not as
though it being inlined is particularly important.

All of this is to say that we don't need to define
LayerManagerUserDataDestroy in Layers.h; defining it out-of-line will be
just as effective.  Defining it out-of-line also means that we don't
need the definition of LayerUserData anywhere in Layers.h, and we can
move LayerUserData to a separate header.
2015-10-22 15:39:30 -04:00
Nathan Froyd
4e6d8f6705 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
bf7f6dda03 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
Morris Tseng
8ce8403338 Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer. r=roc 2015-10-12 11:21:03 +08:00
Morris Tseng
5d262e4409 Bug 709490 - Part 1: Let ImageBridge transfer CanvasClient async. r=nical
Thanks Jon Morton [:jmorton] (jonanin@gmail.com) for polishing patches.
2015-10-12 11:21:02 +08:00
Nicholas Nethercote
69ab754504 Bug 1211324 (part 5) - Remove GraphicsFilter and gfxGraphicsFilter. r=mattwoodrow. 2015-10-05 17:18:10 -07:00
Nicholas Nethercote
e04159e24b 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
Nicholas Nethercote
0fe83f7ab7 Bug 1211324 (part 3) - Remove GraphicsFilter::FILTER_FAST and replace it with FILTER_BEST. r=mattwoodrow.
This may sound like an odd change but it's what the current code effectively
already does due to the way ToFilter() and ThebesFilter() are defined.
2015-10-05 16:59:32 -07:00
Nicholas Nethercote
989be11d81 Bug 1211324 (part 1) - Remove BILINEAR and GAUSSIAN filter constants.
These aren't used meaningfully.
2015-10-04 20:05:28 -07:00
Jim Mathies
da50b850c2 Bug 1196539 - Apply plugin config using AutoResolveRefLayers during composition. r=matt.woodrow 2015-10-06 14:23:24 -05:00
Wes Kocher
bbd458236d Backed out 11 changesets (bug 709490) for webgl-color-test.html failures a=backout
Backed out changeset fc04c5d43550 (bug 709490)
Backed out changeset cd8f9410d335 (bug 709490)
Backed out changeset 6e687c9143c1 (bug 709490)
Backed out changeset 9b20f2c833c4 (bug 709490)
Backed out changeset f9d130aea88e (bug 709490)
Backed out changeset fc513b410949 (bug 709490)
Backed out changeset acf6220b431a (bug 709490)
Backed out changeset 9bceaf913791 (bug 709490)
Backed out changeset 37fba20111e2 (bug 709490)
Backed out changeset 2285ce1596b8 (bug 709490)
Backed out changeset fb4e09920569 (bug 709490)
2015-10-05 08:28:25 -07:00
Morris Tseng
c17e9b2c66 Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer. r=roc 2015-10-05 10:50:16 +08:00
Morris Tseng
f3a9959ded Bug 709490 - Part 1: Let ImageBridge transfer CanvasClient async. r=nical
Thanks Jon Morton [:jmorton] (jonanin@gmail.com) for polishing patches.
2015-10-05 10:50:15 +08:00
Thinker K.F. Li
150f786210 Bug 1206418 - Fix origin of animations and scissors for preserves3d. r=roc 2015-09-28 03:43:00 -04:00
David Anderson
a59cdae5ec Treat mix-blend-mode layers as transparent for occlusion culling. (bug 1207041, r=mstange) 2015-09-30 00:02:00 -07:00
Botond Ballo
0012791e42 Bug 1208661 - Remove some no-longer-used debugging code. r=BenWa 2015-09-28 15:20:03 -04:00
Botond Ballo
48ca7899ae Bug 1208661 - Show display list and layer textures in-line in the HTML paint dump. r=BenWa 2015-09-28 15:22:05 -04:00
Botond Ballo
da7180842d Bug 1208661 - Dump client-side layer textures. r=BenWa 2015-09-28 17:06:35 -04:00
Wes Kocher
20f2b1dd4d Backed out 13 changesets (bug 709490) for android webgl-color-test.html failures
Backed out changeset 5be7514914b6 (bug 709490)
Backed out changeset 04b6f94fbe8a (bug 709490)
Backed out changeset 00c0e85dd8cd (bug 709490)
Backed out changeset 221385b7b81a (bug 709490)
Backed out changeset ecc38c18734f (bug 709490)
Backed out changeset 22878c936384 (bug 709490)
Backed out changeset 0edcbb60eee3 (bug 709490)
Backed out changeset 5feceec2014b (bug 709490)
Backed out changeset 835b655cb873 (bug 709490)
Backed out changeset 6fbb4a3f8cf7 (bug 709490)
Backed out changeset a5f8646fa156 (bug 709490)
Backed out changeset 2ae1386916b3 (bug 709490)
Backed out changeset 6b29a2a0a8fb (bug 709490)
2015-09-29 08:57:36 -07:00
Morris Tseng
a0c3fca880 Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer, r=roc 2015-09-29 11:51:25 +01:00
Morris Tseng
276c20ec9e Bug 709490 - Part 1: Let ImageBridge transfer CanvasClient async, r=nical 2015-09-29 11:51:23 +01:00
Cameron McCormack
bce6e5658b Bug 1198708 - Part 1: Store exact timing-function type on nsTimingFunction and ComputedTimingFunction. r=birtles
Since Keyframe.easing should reflect the {transition,animation}-timing-
function value relevant to each keyframe, we'll need to store on
nsTimingFunction the specific timing function value that was used, and
copy it down into ComputedTimingFunction for
KeyframeEffectReadOnly.getFrames() to access.  This includes storing
whether the optional start/end keyword in a steps() function was
specified.
2015-09-29 12:20:13 +10:00
Botond Ballo
7bcef4b705 Bug 1206915 - Move dumping of compositor textures under its own environment variable. r=mattwoodrow
The rationale is that it's broken at least on some platforms (e.g.
TextureHost::GetAsSurface() is not implemented), and moving it under its own
environment variable allows us to use the client-side parts of paint dumping
without crashing while attempting to do the compositor-side parts.
2015-09-21 18:27:27 -04:00
Nicholas Nethercote
c279a5c60e Bug 1208283 (part 2) - Change ColorLayer::mColor, ColorLayerProperties::mColor, ReadbackLayer::mBackgroundColor from gfxRBGA to gfx::Color. r=jwatt.
This avoids some gfxRGBA-to-Color conversions.
2015-09-24 18:16:45 -07:00
Nicholas Nethercote
10141da023 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.
2015-09-24 22:38:58 -07:00
Thinker K.F. Li
af80f65bac Bug 1097464 - Part 6: Handle preserves-3d by compositor. r=roc
Remove WrapPreserve3DList() and replaced it by creating a
nsDisplayTransform item for each transformed frame.

 - Add an additional item for each top frame extending 3D context to
   separate consequence contexts.

 - Effective transform of a layer is the accumulation of ancestors in
   the same 3D context.

 - The layers creating new context and extended by children need a
   temporary buffer if it's effective transform is not 2D.

 - Clip rects are accumulated along the context chain.

 - Visible rects of items are computed from dirty regions of the frame
   creating the context and accumulated transforms.

 - Bounds of items are computed from accumulated transforms and
   accumulated bounds of the descent frames.

 - Backface hidden is handled by compositor and BasicLayerManager.
2015-09-17 03:31:00 +02:00
Thinker K.F. Li
0b12679603 Bug 1097464 - Part 4: Fix preserve3d wording for layer flags. r=roc 2015-09-17 03:31:00 +02:00
Thinker K.F. Li
59f6f5d316 Bug 1097464 - Part 2 - Snap translation for 3d transforms. r=roc 2015-09-17 03:31:00 +02:00