Commit Graph

101 Commits

Author SHA1 Message Date
Mike Hommey
5965802718 Bug 1333081 - Avoid using the STL in nsXPCOMGlue.cpp to avoid allocator mismatch on Windows. r=froydnj 2017-01-24 08:44:42 +09:00
Mike Hommey
46f514d8b8 Bug 1332523 - Make GetBootstrap take the path to an arbitrary file next to libxul. r=bsmedberg
The FileExists check can be removed because the code loading the library
will handle that case already.
2017-01-13 09:27:39 +09:00
Mike Hommey
e8fdec5f55 Bug 1332523 - Remove nsXPCOMGlue.h. r=bsmedberg 2017-01-13 07:56:05 +09:00
Mike Hommey
f6f80c236e Bug 1306327 - Remove everything related to frozen functions from the XPCOM glue. r=bsmedberg
Now that nothing is using those functions, we can remove them and limit
the scope of the standalone glue to initialize the new Bootstrap API.
2017-01-10 17:12:43 +09:00
Mike Hommey
345dc19c04 Bug 1306327 - Use the new XRE Bootstrap API in Firefox for Android. r=bsmedberg
Here, we also modify APKOpen to use the XPCOM glue loading process
instead of custom symbol resolution, so that the Bootstrap API can be
used in a more straightforward manner.
2016-12-17 06:48:01 +09:00
Mike Hommey
858b08f1a2 Bug 1306327 - Add a new XRE Bootstrap API that wraps all the XRE methods. r=bsmedberg
This is the first step towards changing how nsBrowserApp and other current
XPCOM glue users start up Gecko.

The goal here is to expose the same API via a single object with a
VTable instead of the current XPCOM glue machinery. Instead of creating
an entirely new API and changing everything to use it, we go forward
with smaller steps for a more comprehensible transition.
2016-12-15 16:46:18 +09:00
Mike Hommey
772b6a862b Bug 1306327 - Remove XPCOMGlueEnablePreload. r=froydnj
Back in bug 632404, when the function was added, preloading was
conditional. But after some A/B testing, the conclusion in bug 771745
was that we would just do preloading unconditionally.

Which means in practice, we don't need to have a function to enable it
manually anymore, since we're always enabling it.
2016-12-15 17:37:53 +09:00
Andi-Bogdan Postelnicu
21662ed9ae Bug 1317954 - Use auto type specifier where aplicable for variable declarations to improve code readability and maintainability in xpcom/. r=froydnj
MozReview-Commit-ID: EZZrYF1W81B
2016-11-16 14:24:59 +02:00
Tom Schuster
1b6fc2bed7 Bug 1302163 - Change code to use SprintfLiteral instead of snprintf. r=ehsan 2016-10-04 17:57:51 +02:00
Nils Ohlmeier [:drno]
92241d584d Bug 1305159: replace NSAddImage with dlopen on OSX. r=froydnj
MozReview-Commit-ID: FHZthgRxPha
2016-09-23 15:31:39 -07:00
Chris Peterson
9591260fc7 Bug 1277155 - Part 1: Remove snprintf() polyfills for VS2013 in Sprintf.h and #defines. r=froydnj r=mhowell 2016-06-27 20:45:03 -07:00
Gregory Szorc
e2e6750628 Bug 1257331 - Use LPWSTR instead of LPVOID to prevent C4477 warning; r=froydnj
MozReview-Commit-ID: 2rJdKhlLtXr
2016-03-17 20:36:06 -07:00
Mike Hommey
ca49d7244e Bug 833117 - Replace g_slice_set_config() with G_SLICE environment variable. r=nfroyd,r=karlt
Using g_slice_set_config() fails with newer glib because the slice allocator
now has a static constructor that runs when glib is loaded, consequently
emitting a noisy error message which confuses people into believing it's the
root of their problems.

The only way left to force the slice allocator to use "system" malloc (in
practice, jemalloc) is to set the G_SLICE environment variable to
always-malloc, and that needs to happen before glib is loaded.

Fortunately, the firefox and plugin-container executables don't depend on
glib. Unfortunately, webapprt does, so the problem remains for web apps
running through it. xpcshell and other executables that depend on libxul
directly (as opposed to loading it dynamically) are not covered either.
2015-07-10 09:56:05 +09:00
Mike Hommey
391b2ba4e7 Backout changeset f70b74488807 (bug 833117) for gtest bustage on Linux 2015-07-01 16:41:20 +09:00
Mike Hommey
8bb7a57753 Bug 833117 - Replace g_slice_set_config() with G_SLICE environment variable. r=nfroyd,r=karlt
Using g_slice_set_config() fails with newer glib because the slice allocator
now has a static constructor that runs when glib is loaded, consequently
emitting a noisy error message which confuses people into believing it's the
root of their problems.

The only way left to force the slice allocator to use "system" malloc (in
practice, jemalloc) is to set the G_SLICE environment variable to
always-malloc, and that needs to happen before glib is loaded.

Fortunately, the firefox and plugin-container executables don't depend on
glib. Unfortunately, webapprt does, so the problem remains for web apps
running through it. xpcshell and other executables that depend on libxul
directly (as opposed to loading it dynamically) are not covered either.
2015-07-01 15:29:46 +09:00
Ted Mielczarek
d35e7fb5d6 bug 1171574 - XPCOMGlue doesn't need LEADING_UNDERSCORE for iOS. r=froydnj 2015-02-10 15:36:37 -05:00
Ganesh Sahukari
8f20474a84 Bug 1155643 - Removed nsIDebug.idl, moved methods of nsIDebug to nsIDebug2. r=paolo 2015-05-07 10:58:37 +05:30
Brian Smith
ebf74f4fbc Bug 1119776, Part 7: Avoid defining snprintf when MSVC provides it (other), r=bsmedberg 2015-01-08 22:35:33 -08:00
Nicholas Nethercote
dceb4f2bc9 Bug 1014341 (part 1) - Remove trace-malloc. r=dbaron,glandium. 2015-01-07 16:13:03 -08:00
Ehsan Akhgari
07e3df49c8 Bug 1082576 - Fix the XPCOM library loading error reporting code; r=froydnj
We build without UNICODE, so we end up calling the ANSI version
of the function, and then we would attempt to interpret the
resulting narrow char buffer as a wide char buffer.
2014-10-14 19:28:24 -04:00
Mark Banner
99013b0fbd Bug 1081906 Fix unable to start Firefox due to 'Couldn't load XPCOM'. r=bsmedberg 2014-10-14 10:06:20 +01:00
Stephen Pohl
02f02f988a Mac v2 signing - Bug 1048687 - Read dependentlibs.list from Contents/Resources due to the new .app bundle structure. r=bsmedberg 2014-09-29 11:51:00 -07:00
Birunthan Mohanathas
bbc0387ed0 Bug 1046841 - Convert remaining files in xpcom/{ds,glue,sample}/ to Gecko style. r=froydnj 2014-08-25 12:17:28 -07:00
Birunthan Mohanathas
8a4a4c8465 Bug 1022456 - Fix modelines in xpcom/{base,glue,io,string,threads}/. r=froydnj 2014-06-30 08:39:45 -07:00
L. David Baron
7fd67e4a98 Bug 975295 patch 2: Remove the nsITraceRefcnt interface and any instantiation of the nsTraceRefcntImpl object. r=bsmedberg 2014-02-24 15:27:53 -08:00
Ehsan Akhgari
860f2c1f29 Bug 969757 - Remove the dead code in our tree which pretends to support OS/2; r=roc,mcmanus,gps,jorendorf,bsmedberg sr=bsmedberg 2014-02-10 17:57:01 -05:00
Ehsan Akhgari
68bfe70f09 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Olli Pettay
b734d7bc01 bug 789919, (snow-white) make addref/release of CCable objects faster by removing indirect refcnt increase/decrease, r=mccr8, test changes r=ehsan 2013-07-09 13:30:58 -04:00
Benoit Girard
c5c9d9bf7c Bug 844288 - Dual link libxul.so and libxul-unit.so and replace enable-gtest by enable-test r=ted,glandium
- Remove enable GTest
- Add a general target to create gtestxul
- Update mach target
- Run GTest from make check
2013-03-11 14:47:40 -04:00
Phil Ringnalda
17aa693ddc Back out dc76402b8471 (bug 844288) on suspicion of breaking dep builds
CLOSED TREE
2013-05-31 07:39:56 -07:00
Benoit Girard
8e01dd9fbf Bug 844288 - Dual link libxul.so and libxul-unit.so and replace enable-gtest by enable-test r=ted,glandium
- Remove enable GTest
- Add a general target to create gtestxul
- Update mach target
- Run GTest from make check
2013-03-11 14:47:40 -04:00
Phil Ringnalda
8e89c78e28 Back out 816311e43409 (bug 844288) on suspicion of causing dep OS X universal builds to fail in packaging
CLOSED TREE
2013-05-29 23:42:20 -07:00
Benoit Girard
5f0f708090 Bug 844288 - Dual link libxul.so and libxul-unit.so and replace enable-gtest by enable-test r=ted,glandium
- Remove enable GTest
- Add a general target to create gtestxul
- Update mach target
- Run GTest from make check
2013-03-11 14:47:40 -04:00
Mike Hommey
6f93e3a983 Bug 852950 - Kill libxpcom. r=bsmedberg
Also refactored the xpcom standalone glue to reside in a single file and
removed its use of realpath().
2013-03-20 14:56:41 +01:00
Benoit Girard
2018142588 Bug 761135 - Remove XPCOMGlueShutdown. r=benjamin 2013-01-07 16:19:39 -05:00
Andrew McCreight
ea5722baee Bug 750570, part 2 - Add purple buffer support for non-nsISupports classes. r=smaug
We add a new field to purple buffer entries, to store the participant for
non-nsISupports classes. For nsISupports, we store NULL instead. The participant
has to be passed into Suspect2.

In the cycle collector itself, we generalize canonicalization to handle the
possibility that we can just grab the participant directly from a field,
rather than needing to QI something.

Most of the patch is just routing around this extra pointer.
2012-08-24 09:50:06 -07:00
Ehsan Akhgari
243c878d26 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Ms2ger
e2c8d25ff9 Bug 780387 - Part e: Stop using PRSize; r=bsmedberg 2012-08-09 09:10:11 +02:00
Aryeh Gregor
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Geoff Lankow
7a64448b03 Bug 749930 - Replace uses of nsILocalFile with nsIFile (compiled code only); r=bsmedberg 2012-06-06 14:08:30 +12:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Ehsan Akhgari
478ad1a412 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
0fe7772ece Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
Mike Hommey
35c16cc403 Bug 632404 - Preload dependent libraries at startup. r=tglek,r=bsmedberg 2011-05-16 10:25:05 +02:00
Matt Brubeck
542052b358 Back out 6b23b52e68d6 - e92f98e8a335 (bug 632404, 552864, 658995) because of Tp4 regression. 2011-06-15 09:00:28 -07:00
Mike Hommey
b0ea5c727b Bug 632404 - Preload dependent libraries at startup. r=tglek,r=bsmedberg 2011-05-16 10:25:05 +02:00
Benjamin Smedberg
0e824d90bb Bug 568691 part A - register static and binary components using data tables rather than programmatic nsIComponentRegistrar methods. This part contains the important needs-review bits of the change: part B contains the mechanical changes to each module in order to actually get a working build. Part C will contain changes necessary to register JS components from .manifest files 2010-06-10 14:11:11 -04:00
Hiroyuki Ikezoe
856131348e Bug 494412 – Make error message more clear when we can't load xpcom due to lack of memory; (XPCOM part); r=benjamin 2009-06-26 09:46:09 +09:00
Hiroyuki Ikezoe
c0e2bf96e1 Bug 488157. Use UTF8 instead of native codepages during startup. r=bsmedberg 2009-05-13 22:16:45 +12:00
L. David Baron
f0f03193a6 Make cycle collector's purple buffer consist of entries that the objects in the purple buffer can point to, and remove the notion of scan delay (which was previously set to 0). (Bug 490695) r+sr=peterv r=bsmedberg 2009-05-06 13:46:04 -07:00