Commit Graph

162 Commits

Author SHA1 Message Date
Cameron McCormack
2af45ab23d Bug 1273838 - Part 2: Add stylo bindings glue for refcounting nsIPrincipals and nsIURIs. r=bholley
--HG--
extra : rebase_source : 3feef1315c4c8716952f630a38a4802e118b44ed
2016-05-21 10:02:54 +10:00
Chris Peterson
c2fe3cc9ea Bug 1266295 - Remove unnecessary compiler version checks for gcc <= 4.8.0 in xpcom. r=froydnj 2016-04-17 17:10:00 -07:00
Jean-Yves Avenard
da166b0f2c Bug 1259706: Add NS_INLINE_DECL_THREADSAFE_VIRTUAL_REFCOUNTING macro. r=froydnj
Allow to generate virtual AddRef/Release methods.

MozReview-Commit-ID: I7xPupDEtr4

--HG--
extra : rebase_source : b4d0e2b2a254e0402bbe6543c5263da359efb640
2016-03-25 23:01:58 +11:00
Eric Rahm
4c23f5cd8d Bug 1251482 - Remove remaining references to MOZILLA_XPCOMRT_API from xpcom. r=froydnj 2016-02-26 18:10:56 -08:00
Wes Kocher
72d9604d91 Backed out 8 changesets (bug 1251482, bug 1251494, bug 1251473, bug 1239870) for gtest failures
Backed out changeset f064a5efbb8c (bug 1251494)
Backed out changeset 9e33adec1aa6 (bug 1251482)
Backed out changeset ab0347657e25 (bug 1251473)
Backed out changeset 1d385d4f195d (bug 1239870)
Backed out changeset ceb3e1ee7dda (bug 1239870)
Backed out changeset 8574075bf42f (bug 1239870)
Backed out changeset ba077a3afbc7 (bug 1239870)
Backed out changeset eb99ab06414d (bug 1239870)

MozReview-Commit-ID: 7r9SEk4VGNU
2016-02-26 17:14:57 -08:00
Eric Rahm
ae72b68e62 Bug 1251482 - Remove remaining references to MOZILLA_XPCOMRT_API from xpcom. r=froydnj 2016-02-26 15:31:19 -08:00
Aidin Gharibnavaz
99b2a37529 Bug 108603 - Remove NS_IMPL_QUERY_INTERFACE_INHERITED0. r=mccr8, r=froydnj
--HG--
extra : rebase_source : 98a86a1ff5d023aa74800de8feb1cfe1846edf03
2015-07-24 12:13:00 -04: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
Michael Layzell
fafaf07b01 Bug 1028132 - Remove mozilla::HasDangerousPublicDestructor<T>. r=mccr8 2015-07-07 18:45:00 -04:00
Gerald Squelart
f330df40d4 Bug 1153295 - Add mozilla::Declval. r=nfroyd 2015-04-27 18:11:00 -04:00
Randall Barker
c236b48231 Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC. r=nfroyd
--HG--
extra : rebase_source : 93f11457b16b344e148a6fcb924b286ef8a48051
2015-04-03 15:52:00 +02:00
Wes Kocher
e226c762ee Backed out changeset 0f5799df920b (bug 1093934) for various test failures CLOSED TREE
--HG--
extra : amend_source : 047ed43008cea68775c544cdf0df2819cfb24589
2015-04-02 13:42:34 -07:00
Randall Barker
683155c363 Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC r=froydnj 2015-04-02 12:12:37 -07:00
Andrew McCreight
2f48802ae0 Bug 1147572 - Remove implementation language field from DOM class info. r=jst 2015-03-30 10:45:39 -07:00
Andrew McCreight
46dfeaba0b Bug 1148070 - Change nsIClassInfo::getHelperForLanguage() to getScriptableHelper(). r=bholley 2015-03-29 07:52:54 -07:00
Andrea Marchesini
e6f385fb3d Bug 1148527 - Indentation fix after bug 1145631, r=ehsan 2015-03-27 18:52:19 +00:00
Ehsan Akhgari
883849ee32 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
Thomas Zimmermann
614234540f Bug 1137151: Enable test for non-public ref-counted destructors on gcc 4.8 and later, r=nfroyd 2015-03-10 13:44:02 +01:00
Birunthan Mohanathas
2f07a9ef3a Bug 1060696 - Remove NS_INIT_ISUPPORTS. r=froydnj 2015-01-16 07:34:46 +02:00
Ehsan Akhgari
4354953b4f Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -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_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Ehsan Akhgari
f32bb086bc Bug 1117035 - Mark virtual overridden functions as MOZ_OVERRIDE in XPCOM; r=froydnj 2015-01-05 11:25:41 -05:00
Daniel Holbert
c923bd8716 Bug 1108024: Add MOZ_OVERRIDE annotations to function-decls in NS_DECL_ISUPPORTS & its variants. r=froydnj 2014-12-05 12:49:05 -08:00
Nicholas Nethercote
f57e56e187 Bug 1058388 - Remove NS_COM_GLUE and IMETHOD_VISIBILITY. r=bsmedberg.
--HG--
extra : rebase_source : 250ec1323d4097101a8e0331a2bf7fab59f72b1d
2014-08-27 15:47:27 -07:00
Ralph Giles
ce4de52e2b Bug 1057224 - Disable MOZ_ASSERT_CLASSNAME on gcc < 4.7. r=ehsan
The new MOZ_ASSERT_CLASSNAME check in MOZ_COUNT_CTOR and friends
fails under gcc 4.4 on the B2G ICS emulator build, because
nsGonkCameraControl calls the COUNT macros from a local class.

This wasn't allowed in C++03, but that was changed in C++11, and
our more recent toolchains either don't reject the code or don't
encounter such a nested class name.

I picked gcc 4.7 as the minimum version because that's the version
used by the B2G JB Emulator build, which works. There's no restriction
on clang or msvc version.
2014-08-23 15:32:00 -07:00
Ralph Giles
6a76603421 Bug 1057224 - Assert that MOZ_COUNT_* are passed a class name. r=ehsan
This helps detect typos, which lead to undetected or spurious
leaks in the leak check.
2014-08-22 14:32:00 -07:00
Ralph Giles
68b266f440 Back out 2f60f94d4d3c and d06c2e71aca2 for cross-platform breakage. 2014-08-22 15:13:03 -07:00
Ralph Giles
35a20c876d Bug 1057224 - Assert that MOZ_COUNT_* are passed a class name. r=ehsan
This helps detect typos, which lead to undetected or spurious
leaks in the leak check.
2014-08-22 14:32:00 -07:00
Benoit Jacob
51673d1d22 Bug 1035394 - Add dangerous public destructor detection to _INHERITED refcounting macros - r=khuey 2014-07-08 17:23:18 -04:00
Benoit Jacob
c5347881cc Bug 1028588 - Make XPCOM refcounting assert against public destructors (leaving aside _INHERITED macros for now) - r=khuey 2014-07-07 14:27:32 -04:00
Birunthan Mohanathas
c9fb2c0d48 Bug 1022456 - Fix modelines in xpcom/{base,glue,io,string,threads}/. r=froydnj 2014-06-30 08:39:45 -07:00
Birunthan Mohanathas
6b53f3d634 Bug 1022456 - Convert xpcom/glue/ to Gecko style. r=froydnj 2014-06-26 18:35:39 -07:00
Benoit Jacob
5636a738e0 Bug 1028428 - clang+libc++ still doesn't provide a usable std::is_destructible, so just use the fallback implementation instead - no review, bustage fix 2014-06-21 15:46:27 -04:00
Kyle Huey
d46f3641a6 Bug 1027251: Disable destructor checking on Windows. r=me 2014-06-20 07:33:00 -07:00
Benoit Jacob
891264cd81 Bug 1027251 - Enforce that dangerous public destructors must be explicitly whitelisted - r=ehsan 2014-06-20 07:08:25 -04:00
Benoit Jacob
b468bd741b Bug 1027251 - Initial empty HasDangerousPublicDestructor whitelist - r=ehsan 2014-06-18 22:28:59 -04:00
Ehsan Akhgari
6011b07362 Bug 1015430 - Fix more XPCOM constructors to clarify whether they should be explicit; r=froydnj 2014-05-25 21:16:01 -04:00
Ehsan Akhgari
52accff3a3 Bug 1013664 - Fix bad implicit conversion constructors in XPCOM; r=froydnj
--HG--
extra : rebase_source : e3260a536292175cb1ad23a53dfe9e3f4bb8ff10
2014-05-21 21:33:28 -04:00
Neil Rashbrook
5b3f3e053a Bug 514280 Only use nsCOMPtr for interfaces r=bsmedberg 2014-05-11 10:47:11 +01:00
Neil Rashbrook
fac8c73779 Backout of bug 514280 changeset c738f7348dea for build failure on a CLOSED TREE 2014-05-08 20:35:09 +01:00
Neil Rashbrook
5b1f7b4a77 Bug 514280 Only use nsCOMPtr for interfaces r=bsmedberg 2014-05-08 20:08:38 +01:00
Birunthan Mohanathas
764bbc2196 Bug 900908 - Part 4: Remove numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h. r=froydnj 2014-04-27 03:07:00 -04:00
Birunthan Mohanathas
784f1fabb9 Bug 900908 - Part 1: Add variadic variants of numbered macros in nsISupportsImpl.h. r=froydnj
The old numbered macros are still present, but simply forward to the variadic
macro. They will be removed after all instances of the numbered macros have
been converted.
2014-04-24 11:20:00 +02:00
Ehsan Akhgari
187792e965 Improve the comment about MOZ_COUNT_CTOR/DTOR, text mostly by bent
no bug, DONTBUILD, landed on a CLOSED TREE
2014-04-11 15:41:22 -04:00
Ehsan Akhgari
bc39621b6b Add a comment to indicate that MOZ_COUNT_CTOR/DTOR should not be used in refcounted objects
no bug, DONTBUILD, landed on a CLOSED TREE
2014-04-11 15:12:38 -04:00
Steve Workman
0afcd538f0 Bug 925623 - Implement NS_IMPL_ISUPPORTS13 r=bsmedberg 2014-03-27 13:54:10 -07:00
Ehsan Akhgari
186680d83a Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
Nathan Froyd
4bb75e1989 Bug 984443 - get rid of #ifndef $OTHER_HEADER bits from xpcom/ as relics of a bygone era; r=ehsan 2014-03-17 12:20:47 -04:00
L. David Baron
03ba2e465b Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
Patrick McManus
0e9470feb7 bug 751465 - websockets dns and proxies r=jduell r=bsmedberg
--HG--
extra : rebase_source : ad2046a95f1ec9000577cc0f67aedc0766a51ed2
2014-01-06 13:52:42 -05:00
Nathan Froyd
fb3a3066d1 Bug 950882 - micro-optimize NS_TableDrivenQI calling sequence by reordering argument list; r=bsmedberg
For register-rich ABIs (e.g. x86-64 and ARM), QueryInterface's incoming
registers are going to look like:

arg register 1: |this|
arg register 2: the IID of interest
arg register 3: the outparam instance pointer

Most of our QI implementations call NS_TableDrivenQI, which expects
arguments like so:

arg register 1: |this|
arg register 2: the QITableEntry table
arg register 3: the IID of interest
arg register 4: the outparam instance pointer

So we're going to have to do a register shuffle of the IID and the
outparam to be able to load the QITableEntry pointer before calling into
NS_TableDrivenQI.

This patch reorders the argument list of NS_TableDrivenQI so that the
first three arguments match the order that QueryInterface receives them
in.  Then your typical QueryInterface implementation becomes:

- load local |table|
- tail-call NS_TableDrivenQI

Eliminating the register shuffling reduces text size by 12K on an
Android ARM build.
2013-12-13 19:50:02 -05:00