Commit Graph

534 Commits

Author SHA1 Message Date
Nathan Froyd
1e312fab5b Bug 1220189 - use UniquePtr<T[]> instead of delete[] calls in mozglue/android/; r=darchons
We can do better than use raw new[]/delete[] calls all over this file:
we can factor out the code for APK library loading into a separate
function, and use UniquePtr there.  This refactoring will also
centralize the code for determining the path to a library within the
APK.
2015-10-30 11:16:24 -04:00
James Willcox
d77269ffa2 No bug, add missing include to StackWalk.cpp, DONTBUILD 2015-10-28 14:10:29 -05:00
Andrew McCreight
41ea309bd5 Bug 1216354 - Disable LSan leak checking by default in mozglue. r=glandium 2015-10-22 09:33:43 -07:00
Jim Chen
aacb32b312 Bug 1207642 - Work around Dalvik bug by realigning stack on JNI entry. r=snorp
Use the force_align_arg_pointer attribute to force realigning stack at JNI entry points.
2015-10-21 08:27:00 -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
Wes Kocher
f5286df813 Backed out changeset a67ea3f24678 (bug 1205987) for not working as well as originally thought
CLOSED TREE
2015-10-14 09:51:35 -07:00
Carsten "Tomcat" Book
0ecf764867 merge mozilla-inbound to mozilla-central a=merge 2015-10-14 12:46:09 +02:00
Reuben Morais
5fcd0fe0cf Bug 1213170 - Always generate JNI stubs for GeckoSmsManager. r=nalexander 2015-10-13 21:51:50 -03:00
Nathan Froyd
d8393ccd5b Bug 1207245 - part 2 followup - add more mozilla/RefCounted.h includes where appropriate; r=me 2015-10-12 22:24:05 -04:00
philipp
4ea84cc590 Bug 1205987 - Add freecorder dll to Windows blocklist. r=dmajor
CLOSED TREE
2015-10-13 13:03:12 -07:00
Chris Peterson
71920a9550 Bug 1207030 - Enable -Wshadow flag in more directories that have no -Wshadow warnings. r=glandium 2015-09-22 21:39:03 -07:00
Brian Birtles
8b804f721d Bug 1202556 - Detect underflow in TimeStamp addition/subtraction operators; r=froydnj 2015-09-14 09:47:09 +09:00
Michael Layzell
0097c41e01 Bug 1201190 - Part 3: Mark every consumer of GUARD_OBJECT as MOZ_RAII, r=ehsan 2015-09-12 16:53:33 -04:00
Nicholas Nethercote
c2f5ed5ccd Bug 1203553 - Fix an MSVC warning in mozglue. r=glandium.
This lets us remove the ALLOW_COMPILER_WARNINGS=True flag.
2015-09-10 16:52:30 -07:00
Brian Birtles
28d213f8f6 Bug 1203350 - Unify arithmetic operators in TimeStamp; r=froydnj 2015-09-11 15:02:04 +09:00
Ted Mielczarek
6be16c3688 bug 1198226 - Move HOST_{C,CXX}FLAGS to moz.build HOST_{CFLAGS,CXXFLAGS,DEFINES}. r=mshal
As part of this move, HOST_NSPR_MDCPUCFG needed to be changed to get the quoting right.

--HG--
extra : commitid : J26MhSiPq9g
extra : rebase_source : 81c5b98371042803741ddace8d01b0097757dff3
2015-09-08 11:35:43 -04:00
Aaron Klotz
bb8087dd4c Bug 1194890 - Ensure that any user32 imports to mozglue are delay loaded; r=glandium
--HG--
extra : rebase_source : d7ca03797406cf836c7eee59328e21847d3d927b
2015-08-14 16:27:03 -06:00
Nicholas Nethercote
f44287005f 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.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Cervantes Yu
3c09a9761d Bug 1166207 - Load preload.js in the Nuwa process. r=khuey
--HG--
extra : rebase_source : 292c5e5dbee5fa49a78fd1997d97094ef2190143
2015-08-28 17:57:44 +08:00
Ryan VanderMeulen
3e3e1cbd1d Merge m-c to fx-team. a=merge 2015-08-26 14:34:15 -04:00
Gijs Kruitbosch
e9327aa06b Bug 1198186 - increase limit used to detect int values passed as first argument to LdrLoadDll, r=dmajor
--HG--
extra : commitid : IzZuAsCM2Ig
extra : rebase_source : 97d9b32401035eee618a6c3e06a8890b6b96860f
extra : amend_source : 1fb3e721469dc68e287fd5e1c8a74c7b3f184a78
2015-08-25 12:07:39 +01:00
David Major
464e664e73 Bug 1196859 - Block Roboform binaries written against old SDK. r=bsmedberg 2015-08-20 12:27:00 -04:00
Gerald Squelart
f4b3f4ca3e Bug 1197145 - Added BaseTimeDuration::IsZero(), BaseTimeDuration::operator bool(), TimeStamp::operator bool(). r=nfroyd 2015-08-21 05:36:00 -04:00
Jim Chen
ee3de3a3c3 Bug 1192082 - Iniialize/deinitialize JNI in nsAppShell; r=snorp
First we need to set the Gecko thread JNIEnv* in nsAndroidStartup, but
after that we can initialize and deinitialize the rest of JNI, including
AndroidBridge, in GeckoAppShell. This makes nsAppShell control the
AndroidBridge lifetime. Over time, parts of the AndroidBridge
functionality will be migrated to nsAppShell.
2015-08-13 00:53:40 -04:00
Jim Chen
1d42b8bea5 Bug 1192082 - Get rid of GeckoAppShell.nativeInit; r=snorp
Instead of letting AndroidBridge be constructed separately, we'll let
Gecko construct AndroidBridge.
2015-08-13 00:53:39 -04:00
Mike Hommey
08629a86a5 Bug 1168291 - Install mozcrt.lib instead of mozglue.lib in the SDK. r=mshal
When building with MOZ_CRT (which is more or less the default when
building on Windows with MSVC2013), building e.g. XPCOM components
requires linking against mozcrt.lib, so it needs to be shipped in
the SDK. On the other hand, mozglue.lib, which is currently shipped,
is not useful because it lacks the necessary hacks from mozcrt.lib
avoiding crashes for memory allocator mismatch.
2015-08-11 07:20:20 +09:00
Richard Newman
ed125365e0 Bug 1135281 - Correctly bind null parameters in SQLiteBridge.cpp. r=sebastian
--HG--
extra : commitid : 70D2n3Pv2Jv
2015-08-07 21:43:47 -07:00
Jim Chen
8739443257 Bug 1186467 - Update generated JNI bindings; r=me 2015-08-04 17:47:28 -04:00
Jim Chen
29b2279606 Bug 1182641 - Update autogenerated code; r=me 2015-07-29 15:11:15 -04:00
Mark Capella
9140fbf240 Bug 1174922 - NativeZip does not null-terminate zip entry comparisons correctly, r=nchen 2015-07-29 01:03:26 -04:00
Jacek Caban
971197c94b Bug 1176731 - Don't mark static inline functions as MFBT_API in TimeStamp.h. r=Waldo 2015-07-28 17:47:33 +02:00
David Major
94b062677a Bug 1170141 - Block RealNetworks Browser Record Plugin due to startup crashes. r=ehan 2015-07-22 13:27:00 +02:00
Birunthan Mohanathas
a8939590de 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
Ehsan Akhgari
9ff1fc8e87 Bug 1111415 - Null check the base pointer in FramePointerStackWalk before dereferencing it; r=BenWa 2015-07-10 15:49:54 -04:00
Robert O'Callahan
84a1b0dd5a Bug 1143575. Android's screenshotting code should invalidate the LayerManagerComposite to ensure composition will actually happen. r=nical
There is some ambiguity about whether ScheduleComposite will necessarily
trigger a composite all the way to nsWindow::DrawWindowUnderlay. Android
robocop tests assume it will, because they rely on DrawWindowOverlay
being called so they can take a screenshot and make progress,
but this is a very fragile assumption. They also rely on the entire
window being painted, which is also a fragile assumption.

This patch improves the situation by explicitly invalidating the current
window area when Android Java code needs to trigger a composite. This avoids
regressions from future patches in this series which make composition bail
out when there is nothing invalid.

The resulting setup is still a bit fragile for my taste but I'm not sure
what the ideal solution would be.

--HG--
extra : commitid : 3t3xqRdZs24
extra : rebase_source : b23749613663ca805484776ccf5e36b4ff00e3fe
2015-06-12 03:20:04 +12:00
Gabriele Svelto
17358b10b8 Bug 858928 - Switch XRE_StartupTimelineRecord() from PRTime to TimeStamp. r=froydnj
--HG--
extra : rebase_source : b39bf19f68a124cefaf5ceac2adccb20e05bf279
2015-07-06 18:01:09 +02:00
Benoit Girard
83020c6467 Bug 1179550 - Always terminate the str buffer. r=erahm
--HG--
extra : commitid : AC005vzf2I6
2015-07-02 16:30:58 -04:00
Nathan Froyd
974d8120f2 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
Daniel Holbert
e23e519586 Bug 1176266: In TimeStamp_posix.cpp, check for XP_LINUX instead of LINUX, and add missing #include, to allow strrchr usage. r=BenWa
Landing on a CLOSED TREE with RyanVM's permission.
2015-06-19 10:39:20 -07:00
Benoit Girard
8d6a67f6d3 Bug 1172216 - Move nsStackwalk to mozglue. r=glandium
--HG--
rename : xpcom/base/nsStackWalk.cpp => mozglue/misc/StackWalk.cpp
rename : xpcom/base/nsStackWalk.h => mozglue/misc/StackWalk.h
extra : commitid : EMbWGfjKvdq
extra : rebase_source : b7308eb569cc1a019d3b7a92aaff0de7a49b5682
2015-06-10 16:32:45 -04:00
Benoit Girard
2c6df6a9a9 Bug 858927 - Move the mozilla::TimeStamp into mozglue. r=glandium
--HG--
rename : xpcom/ds/TimeStamp.cpp => mozglue/misc/TimeStamp.cpp
rename : xpcom/ds/TimeStamp.h => mozglue/misc/TimeStamp.h
rename : xpcom/ds/TimeStamp_darwin.cpp => mozglue/misc/TimeStamp_darwin.cpp
rename : xpcom/ds/TimeStamp_posix.cpp => mozglue/misc/TimeStamp_posix.cpp
rename : xpcom/ds/TimeStamp_windows.cpp => mozglue/misc/TimeStamp_windows.cpp
rename : xpcom/ds/TimeStamp_windows.h => mozglue/misc/TimeStamp_windows.h
extra : commitid : 2MSXRaRzXEd
extra : rebase_source : 45ded19677e8557deb3b9203777656f5a13f6c04
2015-06-05 16:03:11 -04:00
Mike Hommey
68221d7d35 Bug 1172668 - Unbreak DMD on OS X after bug 1168719. r=gps
Bug 1168719 added a generic replace malloc library which name happened to be
the same as the existing dummy library used to link replace malloc on OSX.
Change the name of that dummy library.
2015-06-10 10:49:22 +09:00
David Major
34c895a6c7 Bug 763395 - Add nlsp.dll to blocklist. r=bsmedberg 2015-06-05 11:49:00 -04:00
Julian Seward
f9dcb50ea7 Bug 1125091 - Make Nuwa be Valgrind-friendly. r=njn. 2015-06-01 12:18:00 +02:00
Nathan Froyd
db188ea282 Bug 1160485 - remove implicit conversion from RefPtr<T> to TemporaryRef<T>; r=ehsan
Having this implicit conversion means that we can silently do extra
refcounting when it's completely unnecessary.  It's also an obstacle to
making RefPtr more nsRefPtr-like, so let's get rid of it.
2015-05-01 09:14:16 -04:00
Nathan Froyd
3e13ec018f Bug 1116905 - part 1 - remove dependence on implicit conversion from T* to TemporaryRef<T>, non-gfx changes; r=ehsan 2015-04-30 15:17:08 -04:00
Mike Hommey
c917606f95 Bug 1043692 - Move DIST_INSTALL to moz.build. r=gps 2015-05-12 07:55:22 +09:00
Mike Hommey
fe90037862 Bug 1043692 - Add a DIST_INSTALL variable to moz.build, and replace NO_DIST_INSTALL with it. r=gps 2015-05-12 07:55:21 +09:00
David Major
feedc37548 Bug 1160148: Also block AVX2 in Win7RTM, and move the code to mozglue. r=froydnj
--HG--
extra : rebase_source : b956777750a2fea7dc6f436e8540bec782ce4d2a
2015-05-11 16:12:45 -04:00