Commit Graph

305 Commits

Author SHA1 Message Date
Botond Ballo
db5d15db66 Bug 1222661 - Replace ToUntyped(obj) calls with obj.ToUnknown*(). r=nical 2015-11-06 22:13:40 -05:00
Thinker K.F. Li
d017721a47 Bug 1210784 - Layer tree invalidation with Preserves3D. r=roc 2015-11-02 18:28:00 +01:00
Nicholas Nethercote
c3c2a5bf71 Bug 1223310 (part 2) - Use LayoutDeviceIntRect for bounds-related functions in nsIWidget. r=kats.
The patch renames the existing functions (GetBounds(), GetClientBounds(), etc)
by adding an |Untyped| suffix. It then adds typed equivalents, and uses those
typed equivalents in all the call sites where it's easy to do so. The trickier
remaining call sites are converted to use the Untyped-suffix version.
2015-11-09 21:37:32 -08:00
Markus Stange
0ea07d8a44 Bug 1216248 - Recomposite when the window overlay changes. r=mattwoodrow 2015-10-30 11:49:07 +01:00
David Anderson
443cc623b2 Compute the compositor's damage region before composites, rather than layers updates. (bug 1217560, r=mattwoodrow) 2015-10-27 10:15:02 -07:00
Benoit Girard
6b94eb5be5 Bug 1216287 - Properly invalidate the debug overlay. r=mattwoodrow 2015-10-19 18:03:48 -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
David Anderson
89329365b2 Remove the static compositor backend variable. (bug 1211109 part 2, r=mattwoodrow) 2015-10-05 23:39:00 -07: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
Wes Kocher
0bd994a5f7 Backed out changeset 1da385d6c46b (bug 1021845) for b2g r3 and r7 permafail CLOSED TREE 2015-09-24 12:06:03 -07:00
Markus Stange
3d4c82fb4e Bug 1021845 - Before compositing, clip the visible region of a layer to the layer's clip rect. r=mattwoodrow 2015-09-23 16:18:29 +02:00
Kearwood (Kip) Gilbert
0cac799a77 Bug 1157984 - Part 3: Correct bounding box transformations to support projections and correct clipping when transforming behind the camera,r=vlad
- Update callsites of Matrix4x4::TransformBounds to use
  Matrix4x4::TransformAndClipBounds.
2015-08-06 17:26:09 -07:00
Benoit Girard
cc791c72d2 Backout d4985245dfd55ba44e0417c42c956e03d094b0df (bug 1136766) for talos regression 2015-08-27 18:29:37 -04:00
Benoit Girard
612667bf7d Bug 1136766 - Don't allow more draw calls after culling. r=mattwoodrow 2015-02-27 14:17:35 -05:00
Sotaro Ikeda
3066a490bc Bug 1192352 - Fix fence handling of display mirroring r=nical 2015-08-13 06:52:49 -07:00
Sotaro Ikeda
f44c65df53 Bug 1186000 - Support screen mirroring to HDMI display on gonk r=mwu,mattwoodrow 2015-08-08 13:50:47 -07:00
Benoit Girard
e79f7eae67 Bug 1150552 - Fix partial present bug with FPS counter. r=mattwoodrow 2015-08-07 14:11:18 -04:00
Sotaro Ikeda
1d9488ae94 Bug 1191457 - Revert SetDispAcquireFence() calling change r=nical 2015-08-06 06:50:02 -07:00
Bobby Holley
710865df63 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07:00
Kearwood (Kip) Gilbert
d3ad55b783 Bug 1181240 - Part 3: Replace gfx3DMatrix with Matrix4x4 in gfx,r=vlad
- Refactored code to use Matrix4x4 instead of gfx3DMatrix.
- There is not expected to be any functional effect.
2015-07-10 17:06:35 -07:00
Sotaro Ikeda
5a097124d1 Bug 1186031 - Fix SetDispAcquireFence() calling r=nical 2015-07-21 09:56:17 -07:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Robert O'Callahan
4651b3417f Bug 1181303. Set composition time earlier so that computing invalid regions works properly. r=mattwoodrow 2015-07-08 08:50:29 +12:00
Robert O'Callahan
dde5877bd6 Bug 1143575. Exit composition early if nothing is invalid. r=mattwoodrow
We need this change so that when ImageHost has a next image to display
more than one composition-interval in the future, we skip the actual
compositing work in those intermediate composition(s) if nothing else
has changed.

This change is a little bit scary since it breaks any code that was
previously assuming ScheduleComposition would actually update the screen.
However, that code was already broken for BasicCompositor.
2015-05-15 18:27:04 +12:00
Robert O'Callahan
9f4cb7cc5b Bug 1143575. Store composition time in Compositor. r=nical
We'll need this later so ImageHost can select the correct image to use.

Adding a TimeStamp parameter to BeginFrame is a bit annoying since BeginFrame
is overridden by every subclass. It's a bit more convenient to just call a
separate non-virtual method just before we call BeginFrame.
2015-07-07 15:38:38 +12:00
Robert O'Callahan
f40b869e9c Bug 1143575. LayerManagerComposite can't get END_NO_COMPOSITE. r=mattwoodrow 2015-05-15 18:33:20 +12:00
David Anderson
2511c6ca59 Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow 2015-06-21 12:27:31 -04:00
Nicolas Silva
fb6854370b Bug 1170189 - Remove the TiledLayerComposer interface. r=BenWa 2015-07-01 13:51:03 +02:00
Markus Stange
3000f6c8eb Back out bug 1148582 for static analysis bustage. 2015-07-01 01:20:59 -04:00
David Anderson
38a60e1411 Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow 2015-06-21 12:27:31 -04:00
Nathan Froyd
92a8124fef Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Shelly Lin
ff08c27b91 Bug 1138287 - Part 2: Support multi-screen on Gonk platform. r=mwu, r=sotaro, r=jgilbert, r=mattwoodrow 2015-06-05 11:29:30 +08:00
David Anderson
e4bdc9d5b3 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-06-04 16:51:10 -04:00
Ethan Lin
a56559f78a Bug 1166165 - Check if the timestamp is null to prevent assertion. r=nical 2015-05-20 17:01:34 -04:00
Ryan VanderMeulen
3d9f67ecb8 Backed out changeset bcc398de6eda (bug 1166165) for suspicion of causing test_NuwaProcessCreation.html permatimeouts. 2015-05-20 13:52:23 -04:00
Ethan Lin
33eb69166c Bug 1166165 - Check if the timestamp is null to prevent assertion. r=nical 2015-05-19 00:37:00 -04:00
Phil Ringnalda
cba9d4deed Back out 530555a2d6d4 (bug 1162064) for debug b2g emulator assertions and failure to thrive
CLOSED TREE
2015-05-17 22:42:05 -07:00
David Anderson
b1d8e813e1 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-05-17 23:11:44 -04:00
David Anderson
e61045e917 Backout changeset e5d045d49b40 for bustage on an a=CLOSED TREE 2015-05-17 21:46:30 -04:00
David Anderson
d5f5fe7d8b Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-05-17 20:44:43 -04:00
Kartikaya Gupta
cb5c22758d Bug 1160566 - Make FrameMetrics.mCompositionBounds private and add a getter/setter for it. r=botond 2015-05-07 14:44:03 -04:00
Thibaud Backenstrass
253b857733 Bug 1158122 - Remove all occurences of nsIntRect in gfx/layers/composite. r=nical 2015-05-07 11:07:42 +02:00
Sotaro Ikeda
d9d7ee9afb Bug 1152370 part 3 - Use DisplaySurface r=mwu 2015-04-23 06:49:40 -07:00
Sotaro Ikeda
0afc17b2f3 Bug 1152135 - Split EGLSurface buffer swap and HWC buffer swap r=mwu,nical,jgilbert 2015-04-17 09:28:41 -07:00
Carsten "Tomcat" Book
7bb0b237fe Backed out changeset abe6234be8a3 (bug 1152135) for Android 4 opt/debug perma failure 2015-04-17 12:04:55 +02:00
Sotaro Ikeda
ca5c89c607 Bug 1152135 - Split EGLSurface buffer swap and HWC buffer swap r=mwu,nical,jgilbert 2015-04-16 18:15:26 -07:00
Sotaro Ikeda
021d29fd43 Bug 1154313 - Move sUsingHwc to gfxPrefs r=mwu,nical 2015-04-15 06:39:44 -07:00
Wes Kocher
21a71e4e4b Merge m-c to fx-team a=merge CLOSED TREE 2015-04-14 15:40:46 -07:00
Randall Barker
c2f98c668e Bug 1148149 - Support Android Presentation API. r=snorp, r=jgilbert 2015-04-10 22:14:00 -04:00