Commit Graph
40 Commits
Author SHA1 Message Date
Kris Maglione d4c75ce1c2 Bug 1773770: Part 12 - Remove XPCOM Module infrastructure. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D149439
2022-06-30 09:12:19 +00:00
Noemi Erli 4461eb9462 Backed out 11 changesets (bug 1773770) because shouldn't have been landed during a soft freeze CLOSED TREE
Backed out changeset ede55d570d1e (bug 1773770)
Backed out changeset d5374ef362c2 (bug 1773770)
Backed out changeset 26e47956508b (bug 1773770)
Backed out changeset c78f0c4c8f3f (bug 1773770)
Backed out changeset 9089a97bcb26 (bug 1773770)
Backed out changeset 17894f5b3b41 (bug 1773770)
Backed out changeset 986a64a9e6b4 (bug 1773770)
Backed out changeset 7a63d8676bf0 (bug 1773770)
Backed out changeset 38e7b99ffbed (bug 1773770)
Backed out changeset e9ad07c96ab2 (bug 1773770)
Backed out changeset 2a8f65417b66 (bug 1773770)
2022-06-24 20:03:43 +03:00
Kris Maglione d320790c75 Bug 1773770: Part 12 - Remove XPCOM Module infrastructure. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D149439
2022-06-24 07:10:19 +00:00
criss ac555d5ef5 Backed out 11 changesets (bug 1773770) for causing mochitest failures on test_bug466599.xhtml. CLOSED TREE
Backed out changeset d35762c3242d (bug 1773770)
Backed out changeset 0501c85d3f58 (bug 1773770)
Backed out changeset cdd28e0e3434 (bug 1773770)
Backed out changeset a48829529dd0 (bug 1773770)
Backed out changeset c3fcdd7e88e5 (bug 1773770)
Backed out changeset 8f334c5dc0cd (bug 1773770)
Backed out changeset 337e76b67647 (bug 1773770)
Backed out changeset 71f539b482ba (bug 1773770)
Backed out changeset b996cbbbc2f5 (bug 1773770)
Backed out changeset a6ddc3cdc9ba (bug 1773770)
Backed out changeset c8d7da3cf2ac (bug 1773770)
2022-06-24 08:12:40 +03:00
Kris Maglione e02008df5f Bug 1773770: Part 12 - Remove XPCOM Module infrastructure. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D149439
2022-06-24 00:47:46 +00:00
Marian-Vasile Laza 190cc26468 Backed out 11 changesets (bug 1773770) for causing bc failures on browser_xpcom_graph_wait.js. CLOSED TREE
Backed out changeset 72ace9ee39ae (bug 1773770)
Backed out changeset e8a3a040b4c4 (bug 1773770)
Backed out changeset 4ff5f4f0f5d1 (bug 1773770)
Backed out changeset f96e9664168d (bug 1773770)
Backed out changeset b6a696897ca8 (bug 1773770)
Backed out changeset 1b8ad6be2dce (bug 1773770)
Backed out changeset 7e3a1a32a88d (bug 1773770)
Backed out changeset 6dbe5fa1ad4f (bug 1773770)
Backed out changeset 86e09dcdadde (bug 1773770)
Backed out changeset 1ee8d852d9d5 (bug 1773770)
Backed out changeset c99e93023059 (bug 1773770)
2022-06-24 03:25:34 +03:00
Kris Maglione 3e2115688c Bug 1773770: Part 12 - Remove XPCOM Module infrastructure. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D149439
2022-06-23 23:05:38 +00:00
Marian-Vasile Laza 1feb20435c Backed out 11 changesets (bug 1773770) for causing bustages on nsComponentManager.obj.
Backed out changeset 3538e99dd668 (bug 1773770)
Backed out changeset 0862b3275742 (bug 1773770)
Backed out changeset 45dbd95d94bb (bug 1773770)
Backed out changeset 1d079a6ae89c (bug 1773770)
Backed out changeset ac4c4a143ff7 (bug 1773770)
Backed out changeset 0e3233868101 (bug 1773770)
Backed out changeset ac727812fd06 (bug 1773770)
Backed out changeset fe46df06e31a (bug 1773770)
Backed out changeset 51b89b344d7f (bug 1773770)
Backed out changeset 62e49ca3f288 (bug 1773770)
Backed out changeset 6df39588ec9a (bug 1773770)
2022-06-24 01:16:58 +03:00
Kris Maglione b82a07919d Bug 1773770: Part 12 - Remove XPCOM Module infrastructure. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D149439
2022-06-23 20:13:11 +00:00
Andrew McCreight 5cedd55c3f Bug 1514936, part 1 - Remove the outer argument to nsIFactory::createInstance. r=xpcom-reviewers,preferences-reviewers,nika,Gijs
This patch won't actually build, because a few bits of code are used
for both nsIFactory::createInstance and static components, and static
components are not fixed until the next patch.

The first place is nsLoadGroupConstructor, which uses an nsIFactory
macro to create a static component constructor. (This could be worked
around by expanding the macro to the state before this patch.)

The other issue is that nsAppShellConstructor is used in an nsIFactory
on OSX, but as a static component on all other platforms. This could
be worked around by wrapping nsAppShellConstructor in an adaptor that
passes in the extra null argument to nsAppShellConstructor.

Differential Revision: https://phabricator.services.mozilla.com/D146456
2022-05-17 20:24:19 +00:00
André Bargull 6cb8ad876e Bug 1625138 - Part 37: Replace mozilla::IsSame with std::is_same in xpcom/. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D68556
2020-03-28 13:57:21 +00:00
Emilio Cobos Álvarez 3ed9a0d131 Bug 1607595 - Remove uses of mozilla::IsBaseOf. r=froydnj
Automatically generated by:

$ rg 'IsBaseOf<' | cut -d : -f 1 | xargs sed -i 's/mozilla::IsBaseOf</std::is_base_of</g'
$ rg 'IsBaseOf<' | cut -d : -f 1 | xargs sed -i 's/IsBaseOf</std::is_base_of</g

Differential Revision: https://phabricator.services.mozilla.com/D59013
2020-01-08 14:52:10 +00:00
Sylvestre Ledru ad31adba4c Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

Differential Revision: https://phabricator.services.mozilla.com/D28956
2019-05-01 08:47:10 +00:00
Sylvestre Ledru e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Kris Maglione 375dfdb59d Bug 1409249: Require singleton constructors to return explicit already_AddRefed. r=froydnj
Right now, NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR expects singleton
constructors to return already-addrefed raw pointers, and while it accepts
constructors that return already_AddRefed, most existing don't do so.

Meanwhile, the convention elsewhere is that a raw pointer return value is
owned by the callee, and that the caller needs to addref it if it wants to
keep its own reference to it.

The difference in convention makes it easy to leak (I've definitely caused
more than one shutdown leak this way), so it would be better if we required
the singleton getters to return an explicit already_AddRefed, which would
behave the same for all callers.


This also cleans up several singleton constructors that left a dangling
pointer to their singletons when their initialization methods failed, when
they released their references without clearing their global raw pointers.

MozReview-Commit-ID: 9peyG4pRYcr
2017-10-16 21:08:42 -07:00
Benjamin Smedberg c2fd766056 Bug 1332631 part G - file moves from xpcom/glue to xpcom/components, and remove GenericModule which is no longer useful, r=froydnj
MozReview-Commit-ID: 5NvfKRAlZqs
2017-01-20 14:41:10 -05:00
Andrew McCreight c1500d0e69 Bug 1273190, part 1 - Fix indentation and mode lines for various xpcom/ files. r=froydnj 2016-05-24 14:45:44 -07: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
Andrew McCreight 611a90c797 Bug 1210463 - part 3 - Remove the very obsolete NS_IMPL_MOZILLA192_NSGETMODULE. r=froydnj 2015-10-01 15:53:38 -07:00
Andrew McCreight 046cd1d3cd Bug 1210463 - part 2 - Use some smart pointers in ModuleUtils.h. r=froydnj 2015-10-01 15:53:38 -07:00
Andrew McCreight f04ca9b20a Bug 1210463 - part 1 - Remove some unneeded null checks on new in ModuleUtils. r=froydnj 2015-10-01 15:53:38 -07:00
Ehsan Akhgari ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Birunthan Mohanathas deb82254d3 Bug 1046841 - Convert xpcom/components/ to Gecko style. r=froydnj 2014-08-02 13:44:06 -07:00
Ryan VanderMeulen c21ff0fd3b Backed out changeset ce357b802532 (bug 1046841) for merge conflicts with bug 977026. 2014-08-01 16:00:35 -04:00
Birunthan Mohanathas cd1757025b Bug 1046841 - Convert xpcom/components/ to Gecko style. r=froydnj 2014-08-01 09:43:23 -07:00
Ehsan Akhgari 6084be21ce Bug 1045436 - Fix more bad implicit constructors in XPCOM; r=froydnj 2014-07-29 20:43:56 -04:00
Benoit Jacob fcd3b40972 Bug 1028588 - Fix dangerous public destructors in xpcom/ - r=bsmedberg,khuey,nfroyd 2014-06-30 18:11:53 -04:00
Wes Kocher 8d34dc1b3b Backed out 4 changesets (bug 1028588) for build bustage
Backed out changeset 13a8bae671ca (bug 1028588)
Backed out changeset 19a19833f1d6 (bug 1028588)
Backed out changeset d5fae80054de (bug 1028588)
Backed out changeset 5942ad3859b8 (bug 1028588)
2014-06-30 15:50:19 -07:00
Benoit Jacob 6d0ba9e6eb Bug 1028588 - Fix dangerous public destructors in xpcom/ - r=bsmedberg,khuey,nfroyd 2014-06-30 18:11:53 -04:00
Kyle Huey ea94e7d568 Bug 967364: Rename already_AddRefed::get to take. r=bsmedberg 2014-03-15 12:00:15 -07:00
Birunthan Mohanathas 52e24d677b Bug 784739 - Switch from NULL to nullptr in xpcom/ (1/3); r=ehsan 2013-10-10 16:41:00 -04:00
Joshua Cranmer 1c073a2540 Bug 884061 - Part 3y: Use NS_DECL_THREADSAFE_ISUPPORTS in xpcom/, r=bsmedberg 2013-07-18 21:31:26 -05:00
Gervase Markham cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Jeff Walden 9354a10e6d Bug 711799 - Add MOZ_FINAL a bunch of places to silence Clang warnings. r=dbaron 2011-12-17 22:47:45 -05:00
Matt Brubeck 1e157aab17 Back out bcf9ce858829 and a3bade82ac92 (bug 711799) for build failures 2011-12-19 10:43:08 -08:00
Jeff Walden ad5d4d0a05 Bug 711799 - Add MOZ_FINAL a bunch of places to silence Clang warnings. r=dbaron 2011-12-17 22:47:45 -05:00
Saint Wesonga a4601a3177 Bug 562387 - Convert NS_NEWXPCOM/NS_DELETEXPCOM to new/delete. r=bsmedberg 2010-07-05 11:42:18 +02:00
Benjamin Smedberg c0b20a13c4 Merge mozilla-central, including the Electrolysis changes, into the branch for bug 568691. 2010-07-01 11:55:57 -04:00
Benjamin Smedberg 63e9dc5132 Implement compatibility wrapper so that binary components can be compatible with both Firefox 3.6 and Firefox 4, as a result of registration changes from bug 568691. 2010-06-24 16:36:27 -04: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