Commit Graph

6673 Commits

Author SHA1 Message Date
Sotaro Ikeda
d7e0a22d6a Bug 1210182 - Implement GrallocTextureHostBasic r=nical 2015-10-26 22:43:07 -07:00
Chris Lord
e31fb8cd6d Bug 1177842 - Introduce separate friction for fling-snap. r=botond
--HG--
extra : rebase_source : 1ce9d27b5208622a9ba14be4b684116adbc6c453
2015-10-26 18:04:02 +00:00
Kartikaya Gupta
3f91f07360 Bug 1218160 - Fix a build error with some compiler versions on OS X. r=froydnj
--HG--
extra : commitid : ESxduyz6cYH
2015-10-26 13:25:25 -04:00
Sotaro Ikeda
29259a9e77 Bug 1215364 - Implement BasicCOmpositor::EndFrameForExternalComposition r=nical 2015-10-25 22:41:57 -07:00
Bas Schouten
df2cb10dd3 Bug 1216349: Upload the old valid region as well if our texture host changed. r=nical 2015-10-25 16:00:59 +01:00
Botond Ballo
e2037b8b38 Bug 1217251 - In TaskThrottler, dispatch the timeout task correctly from the Java UI thread on Android. r=kats
--HG--
extra : source : 4d35b236cec7651049af00eac2dd38ba868c6cdd
2015-10-22 16:46:11 -04:00
Botond Ballo
534b661e0d Bug 1217251 - Add APZThreadUtils::RunDelayedTaskOnCurrentThread(). r=kats
--HG--
extra : source : 2f201dbbe6417bd41d616a5dcebc7a72f6918a6a
2015-10-22 16:45:26 -04:00
Thinker K.F. Li
fd72ecbc34 Bug 1214212 - Remove clips from separator transform items. r=roc 2015-10-22 23:29:00 -04:00
Nathan Froyd
9f16f39c05 Bug 1217662 - part 6 - remove Layers.h #include from FrameListBuilder.h; r=mattwoodrow
This change necessitates a few other header changes around the tree:
either places that we relying on FrameLayerBuilder.h to #include
ImageLayers.h for them, or places that were bootlegging headers from
ImageLayers.h.
2015-10-22 17:02:14 -04:00
Nathan Froyd
6ce5981d38 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
735e488da3 Bug 1217662 - part 2 - move mozilla::layers::LayerUserData to a separate header; r=mattwoodrow
Having to include all of Layers.h just to get at the definition of
LayerUserData is inconvenient, especially as most of the interesting
things in Layers.h can be forward-declared.  Let's move LayerUserData to
its own header, so clients can include a small header for that,
forward-declare anything else they need from Layers.h, and reduce header
bloat.
2015-10-22 16:04:35 -04:00
Nathan Froyd
7699d5d9c4 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
Milan Sreckovic
dd6aa8383f Bug 1217192 - Use gfxCriticalNote where we're already using the non-default construction parameter. r=mchang 2015-10-21 14:34:00 +02:00
Phil Ringnalda
0f3cf4490c Back out changeset 02d17c84afff (bug 1214212) for (mostly) transform-3d reftest failures
CLOSED TREE
2015-10-21 20:22:45 -07:00
Thinker K.F. Li
517b105b08 Bug 1214212 - Remove clips from separator transform items. r=roc 2015-10-21 03:35:00 -04:00
Jim Mathies
176b60b4a8 Bug 1213671 - CompositorParent::UpdatePluginWindowState should always return an accurate result indicating when an ipc request for plugin geometry updates was sent. r=roc 2015-10-21 17:27:48 -05:00
Wes Kocher
312565be9b Backed out changeset 2bc866307e4b (bug 1189159) for browser_animation_* permafail 2015-10-21 13:42:05 -07:00
Jamie Nicol
65912b35e8 Bug 1210444 - Set DEALLOCATE_CLIENT flag for EGLImage SharedSurfaceTextureClients. r=nical
SharedSurface_EGLImages are deallocated on the client side and are
unable to be recycled. This led to a race condition where CanvasClient
would free a TextureClient, destroying its underlying data, but
ImageHost might attempt to composite the corresponding TextureHost
before receiving a replacement to use instead.

Give SharedSurface an interface for its backends to specify any texture
flags that they require a TextureClient to set, and ensure that
DEALLOCATE_CLIENT is set for SharedSurface_EGLImage
SharedSurfaceTextureClients. This ensures that texture data is destroyed
synchronously and, importantly, after any outstanding ipdl messages have
been delivered. This guarantees that ImageHost has received a new
TextureHost to composite before the previous TextureHost's data is
destroyed.
2015-10-19 17:26:26 +01:00
David Anderson
7c417e6071 Layer tree invalidation should use the effective clip rect, not the base clip rect. (bug 1189159, r=mattwoodrow)
--HG--
extra : rebase_source : 46b7f5e0e8c7116577f541d82a2c58ce0743262c
2015-10-20 22:59:10 -07:00
David Anderson
fb84bcaa55 Fix scrollbars on subframes not directing APZ events to the correct scrollframe. (bug 1213324, r=tn) 2015-10-20 02:39:34 -07:00
Jeremy Chen
5633e63929 Bug 1205521 - Part4: (v2) Align LayerScopePacket to fit changes in Bug 1211324. r=dglastonbury 2015-10-18 20:37:00 +02:00
Jeremy Chen
1665f755fd Bug 1205521 - Part3: (v3) Dump texture/mask attributes on layerscope viewer. r=dglastonbury 2015-10-20 02:05:00 +02:00
Jeremy Chen
9863e0ecbd Bug 1205521 - Part2: (v3) Generated file diffs from patched LayerScopePacket.proto. r=dglastonbury 2015-10-18 20:32:00 +02:00
Jeremy Chen
75ecd3c095 Bug 1205521 - Part1: (v3) Add texture/mask attribute fields in LayerScopePacket.proto. r=dglastonbury 2015-10-18 20:31:00 +02:00
Botond Ballo
b73c1c58f3 Bug 1213273 - Use a chromium Task instead of an nsITimer for the timeout in TaskThrottler. r=mstange
--HG--
extra : rebase_source : 2ddc7714fff1d62aa394332fdafd8c2e5c97b065
extra : source : 00f7757e184487dc77e1be0e07ef7c4e9360e6c3
2015-10-16 19:00:15 -04:00
Carsten "Tomcat" Book
65d8ab26f0 Backed out 4 changesets (bug 1205521) for bustage
Backed out changeset 2a3c00d122c5 (bug 1205521)
Backed out changeset e8769c3e5d4f (bug 1205521)
Backed out changeset 1ff444636fbd (bug 1205521)
Backed out changeset 4ae51f091661 (bug 1205521)

--HG--
extra : rebase_source : cf4f338aa3043706c9fec37d2194b967d65ecaff
2015-10-20 10:45:31 +02:00
Botond Ballo
c132f32fc8 Bug 1213762 - Clear AsyncCompositionManager::mIsFirstPaint on non-Android platforms, too. r=mstange
--HG--
extra : rebase_source : 86e4c9b185c9d5a0b57cc12099326008a5b08a55
extra : source : 84dbb629686454ce74c7cdf1ea18866f703a0b4d
2015-10-16 18:33:35 -04:00
Sotaro Ikeda
10f1bcce89 Bug 1206763 - Enable SkiaGL canvas on gonk r=mattwoodrow 2015-10-20 01:35:00 -07:00
Jeremy Chen
b6f12e730b Bug 1205521 - Part4: (v2) Align LayerScopePacket to fit changes in Bug 1211324. r=dglastonbury
--HG--
extra : rebase_source : b26b76d31d3b4f3892269ae3741e73c6228e99d9
2015-10-18 20:37:00 +02:00
Jeremy Chen
0c5e2a9391 Bug 1205521 - Part3: (v3) Dump texture/mask attributes on layerscope viewer. r=dglastonbury
--HG--
extra : rebase_source : b89af8a8a1386b39ef872cbd0c4e2e9ef41e507a
2015-10-18 20:36:00 +02:00
Jeremy Chen
8906d8f27b Bug 1205521 - Part2: (v3) Generated file diffs from patched LayerScopePacket.proto. r=dglastonbury
--HG--
extra : rebase_source : 55a852d755a487c83b01710d20c97fbfbb67e2b5
2015-10-18 20:32:00 +02:00
Jeremy Chen
ab22c82587 Bug 1205521 - Part1: (v3) Add texture/mask attribute fields in LayerScopePacket.proto. r=dglastonbury
--HG--
extra : rebase_source : 7f9910527bcf69682e2687eac460a2c28caf3001
2015-10-18 20:31:00 +02:00
Benoit Girard
6b9d783414 Bug 1216287 - Properly invalidate the debug overlay. r=mattwoodrow
--HG--
extra : commitid : 7FvAQbZecjW
2015-10-19 18:03:48 -04:00
Ehsan Akhgari
ecda739d3e Bug 1216177 - Remove the remaining nsRefPtr forward declarations; r=froydnj 2015-10-19 12:02:14 -04:00
Jim Mathies
e0c25a9459 Bug 1213758 - Aquire the inderect layer trees data lock during plugin window update calculations. r=matt.woodrow 2015-10-19 10:38:42 -05:00
Carsten "Tomcat" Book
b4d42f370a merge mozilla-inbound to mozilla-central a=merge 2015-10-19 11:38:22 +02:00
Cervantes Yu
42c0446d71 Bug 1213795, Part 2: Fix protocol cloning of actor CrossProcessCompositorParent. r=khuey 2015-10-19 14:32:47 +08:00
Chris Peterson
7aaa6c74c3 Bug 1215892 - Fix clang's -Wimplicit-fallthrough warnings in gfx. r=BenWa
gfx/gl/GLBlitHelper.cpp:395:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels

gfx/layers/apz/src/AsyncPanZoomController.cpp:1087:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
gfx/layers/apz/src/AsyncPanZoomController.cpp:1196:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
gfx/layers/apz/src/GestureEventListener.cpp:411:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
gfx/layers/apz/util/APZEventState.cpp:292:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
gfx/layers/apz/util/APZEventState.cpp:295:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels

widget/GfxInfoBase.cpp:1015:9 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
2015-10-17 22:57:38 -07: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
Botond Ballo
e235e119a9 Bug 1211506 - Respect the APZ lock ordering in AsyncPanZoomController::OnScrollWheel(). r=mstange
--HG--
extra : source : af0360acd0fa65d7bd526339212a909884afa40c
2015-10-16 16:33:41 -04:00
Nathan Froyd
fe57e31ffe Bug 1212027 - part 7 - modify IPDL codegen to store sub-protocols in a hashtable rather than an array; r=jld,nical,cpearce,billm 2015-10-07 14:30:33 -04:00
JerryShih
66c7ddec13 Bug 1215050 - Make layerscope support TiledPaintedLayer when using HWC. r=mattwoodrow, r=cjku
--HG--
extra : rebase_source : 3a606457d9c7cd630b6c9ab38941e2619b03943e
2015-10-15 06:03:00 -04:00
Aniket Vyas
95a17ea52c Bug 1197315 - remove PR_snprintf calls in gfx/; r=froydnj 2015-10-12 14:06:19 -07:00
Nicolas Silva
bbb1b9b970 Bug 1205559 - WError build fix on a CLOSED TREE 2015-10-16 15:22:06 +02:00
Jean-Yves Avenard
70773dbaa0 Bug 1205559: Make TextureChild/TextureClient thread-safe. r=nical 2015-10-16 14:46:33 +02:00
Sotaro Ikeda
33e9987516 Bug 1215027 - Fix EndFrameForExternalComposition() r=nical 2015-10-15 17:53:44 -07:00
Ting-Yu Lin
b136d8801b Bug 1214662 - Fix compile error for enabling APZES_LOG. r=botond
I got this error: use of undeclared identifier 'Stringify'. Add the
necessary header.

--HG--
extra : commitid : 9Ro5V20eFmP
extra : rebase_source : 11a46af1c8d3576fd4e30b17f788e62b4d69c92d
2015-10-15 10:49:26 +08:00
Bas Schouten
d7e5ec0950 Bug 1211615: Upload the full texture on the first upload for component alpha textures. r=nical 2015-10-14 17:00:42 +02:00
Jamie Nicol
2e1135737e Bug 1209801 - Part 2: Do not allow big image textures to be used with TiledLayerBuffers. r=mattwoodrow
Big-image textures (where multiple textures are tiled together to act as
a single larger texture, e.g. TiledTextureImage) were in some cases
being used to back the TextureSources associated with each Tile in a
TiledLayerBuffer. CompositorOGL was unaware of this, so when compositing
would only render the first tile in each big image, stretching it to the
size of the entire big image.

It doesn't make much sense to allow tiling-within-tiling, so set the
DISALLOW_BIGIMAGE flag for textures created for use with TiledLayerBuffers.

--HG--
extra : histedit_source : 7783b2132cb2037dda2a736b1497dc13231b4dee
2015-10-14 11:32:44 +05:30