Commit Graph

60 Commits

Author SHA1 Message Date
Nicholas Nethercote
29b25cc007 Bug 1409598 - Change nsIXPCScriptable::className and nsIClassInfo::{contractID,classDescription} from string to AUTF8String. r=froydnj.
This lets us replace moz_xstrdup() of string literals with AssignLiteral(),
among other improvements.
2017-10-18 13:17:26 +11:00
Jan de Mooij
5dd2b18671 Bug 1389510 part 1 - Remove getProperty/setProperty hooks from XPConnect. r=mrbkap 2017-08-25 10:10:56 +02:00
Jan de Mooij
777018ee7b Bug 1390159 - Remove throw-on-set setProperty hooks on WrappedNatives. r=mrbkap 2017-08-16 09:01:56 +02:00
Nicholas Nethercote
8207e5343f Bug 1332172 - Remove XPC_MAP_WANT_*. r=mccr8.
nsIXPCScriptable flags handling in xpc_map_end.h is a bit of a mess.

- Half the flags relate to whether various functions are defined (PreCreate,
  GetProperty, etc). These are set using the XPC_MAP_WANT_* macros;
  for each one xpc_map_end.h  inserts the corresponding flag using the
  preprocessor (see XPC_MAP_CLASSNAME::GetScriptableFlags()).

- The other half of the flags relate to other things (IS_GLOBAL_OBJECT,
  DONT_REFLECT_INTERFACE_NAMES, etc). These are set using the XPC_MAP_FLAGS
  macro.

Having two similar but different mechanisms to set the flags for a class is
confusing. (Indeed, until recently we had some classes where a single flag was
redundantly specified via both mechanisms.) Note also that the classes done in
dom/base/nsIDOMClassInfo.h also specify all the flags in a single value,
similar to how XPC_MAP_FLAGS works.

This patch removes the XPC_MAP_WANT_* macros. All flags are now set
via XPC_MAP_FLAGS. This is a significant simplification to xpc_map_end.h and
all the places that use it.

The downside of this change is that I had to change the flag constants from
class constants (i.e. nsIXPCScriptable::FOO) to macros (i.e.
NSIXPCSCRIPTABLE_FOO) because they need to be used in #if statements like this
in xpc_map_end.h:

  #if !((XPC_MAP_FLAGS) & NSIXPCSCRIPTABLE_WANT_PRECREATE)

and you can't use a '::'-qualified name inside a #if. I think this downside is
outweighed by the simplification described above.

Overall the patch removes 80 lines of code.
2017-01-23 13:33:58 +11:00
Nicholas Nethercote
18f63503a5 Bug 1329846 (part 1) - Remove XPCNativeScriptableInfo. r=mccr8.
XPCNativeScriptableInfo is now a very thin wrapper around nsIXPCScriptable, and
it uses manual memory management. Removing it simplifies things quite a bit.

In particular, when setting XPCWrappedNative::mScriptable in
XPCWrappedNative::WrapNewGlobal() and XPCWrappedNative::Init() we no longer
have to worry about sharing the XPCNativeScriptableInfo object with the proto.
And XPCWrappedNative::{Init,Destroy}() have similar simplifications.
2017-01-10 12:47:57 +11:00
Nicholas Nethercote
5b7be1e1bb Bug 1324330 (part 6) - Streamline nsIXPCScriptable flags. r=mccr8.
This patch adjusts the values so there are no skipped bits, and removes the
no-longer-used RESERVED flag.
2016-12-23 08:30:45 +11:00
Nicholas Nethercote
da86eb97ae Bug 1325542 - Remove XPCNativeScriptableFlags. r=mccr8.
WantFoo() and the similar methods remain, but they've been moved from
XPCNativeScriptableFlags to nsIXPCScriptable.

One consequence of this change is that in places where we used to get the flags
from an XPCNativeScriptableCreateInfo we now need a null check on the
nsIXPCScriptable. (This isn't true when getting flags from
XPCNativeScriptableInfo, however, because nsIXPCScriptable is always non-null
within that type.)
2016-12-23 16:14:32 +11:00
Nicholas Nethercote
331b61b868 Bug 1321374 - Simplify js::Class handling relating to nsIXPCScriptable. r=mccr8, sr=bholley.
This patch removes XPCNativeScriptableShared and XPCNativeScriptableSharedMap,
which results in a net reduction of ~100 lines of code.
2016-12-14 08:33:46 +11:00
Nicholas Nethercote
c5a2d8a1ee Bug 1322080 (part 3, attempt 2) - Remove nsIXPCScriptable::addProperty. r=peterv. 2016-12-02 17:37:55 +11:00
Carsten "Tomcat" Book
25e9f800cb Backed out changeset 9356d8836ca8 (bug 1322080) 2016-12-12 12:15:49 +01:00
Nicholas Nethercote
0b87c9c92d Bug 1322080 (part 3) - Remove nsIXPCScriptable::addProperty. r=peterv.
The only non-trivial implementation of this method is in nsEventTargetSH, but
it's never called, so no point keeping it around. (Similar methods were removed
in bug 1132184 and bug 1132187.)
2016-12-02 17:37:55 +11:00
Ms2ger
6ef287b6d4 Bug 1250917 - Remove NS_SUCCESS_I_DID_SOMETHING; r=bholley
It hasn't been used for a while now.
2016-02-25 09:28:06 +01: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
Tom Schuster
6910bcc31c Bug 1147005 - Change JSAddPropertyOp signature. r=jorendorff,peterv 2015-03-28 14:47:02 +01:00
Phil Ringnalda
529df7748d Backed out changeset d72144153749 (bug 1147005) for being on top of a patch on top of a patch being backed out
CLOSED TREE
2015-03-28 10:39:09 -07:00
Tom Schuster
023b3ef599 Bug 1147005 - Change JSAddPropertyOp signature. r=jorendorff,peterv 2015-03-28 14:47:02 +01: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
Boris Zbarsky
2ded43ac51 Bug 1132187 part 3. Remove the WANT_CONVERT bit. r=peterv 2015-02-13 14:34:54 -05:00
Boris Zbarsky
9e248b89ba Bug 1132187 part 2. Remove the WANT_DELPROPERTY bit. r=peterv 2015-02-13 14:34:54 -05:00
Boris Zbarsky
bfb5522d2a Bug 1132187 part 1. Remove the totally unused WANT_CREATE bit. r=peterv 2015-02-13 14:34:54 -05:00
Boris Zbarsky
f456caa314 Bug 1132184. Remove the nsIXPCScriptable postCreate and postTransplant hooks. r=peterv 2015-02-13 14:34:54 -05:00
Wes Kocher
c8ec162f8a Backed out changeset 6d9547a55557 (bug 1132184) 2015-02-13 13:25:36 -08:00
Wes Kocher
69504134de Backed out changeset e5479c58d966 (bug 1132187) 2015-02-13 13:25:35 -08:00
Wes Kocher
9a42c2833a Backed out changeset 70b09a891a37 (bug 1132187) 2015-02-13 13:25:33 -08:00
Wes Kocher
8684084f59 Backed out changeset 9017975d0201 (bug 1132187) 2015-02-13 13:25:32 -08:00
Boris Zbarsky
5c6937e630 Bug 1132187 part 3. Remove the WANT_CONVERT bit. r=peterv 2015-02-13 14:34:54 -05:00
Boris Zbarsky
8c56333098 Bug 1132187 part 2. Remove the WANT_DELPROPERTY bit. r=peterv 2015-02-13 14:34:54 -05:00
Boris Zbarsky
839c93da4e Bug 1132187 part 1. Remove the totally unused WANT_CREATE bit. r=peterv 2015-02-13 14:34:54 -05:00
Boris Zbarsky
3a5562927a Bug 1132184. Remove the nsIXPCScriptable postCreate and postTransplant hooks. r=peterv 2015-02-13 14:34:54 -05:00
Trevor Saunders
a0c27273f6 bug 1122100 - more MOZ_OVERRIDE in xpcomish stuff r=froydnj 2015-01-19 17:41:12 -05:00
Tom Schuster
d1eef8aeb8 Bug 1097267 - Change the enumerate hook usage in XPC and browser. r=bholley 2014-12-11 19:31:10 +01:00
Tom Schuster
1d20d06638 Bug 1097267 - Remove the DONT_ENUM_STATIC_PROPS flag from XPC. r=bholley 2014-12-11 19:31:10 +01:00
Tom Schuster
dc4f3b2fd7 Bug 993026 - Change XPIDLScriptable NewResolve to simpler Resolve. r=bholley 2014-11-08 01:07:12 +01:00
Boris Zbarsky
fe22a79b0a Bug 1019191 part 14. Remove the now-unused HasBitInInterfacesBitmap and all the interfaces bitmap machinery that ends up unused as a result. r=peterv 2014-10-22 11:40:49 -04:00
Boris Zbarsky
796c3ff34c Bug 1063521. Remove the WANT_OUTER_OBJECT classinfo flag, since it's now unused. r=bholley 2014-09-08 10:05:11 -04:00
Jason Orendorff
0a84c925b7 Bug 1023109 - Update nsIXPCScriptable.idl UUID. (Interface changed in rev a470806c3553.) r=Waldo.
"[...] nothing can go wrong with this" --Jeff Walden.
2014-06-10 12:20:11 -05:00
Jason Orendorff
f2f8b6fca8 Bug 547140, part 4 - Remove flags argument from resolve hooks. r=Waldo. 2014-04-25 16:11:02 -05:00
Ehsan Akhgari
7ce1aa5eb8 Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
Bobby Holley
226a30ed5a Bug 957688 - Remove checkAccess nsIXPCScriptable hook. r=mrbkap 2014-01-24 16:08:25 -08:00
Ehsan Akhgari
d26b7725c2 Bug 913830 - Remove more unneeded #includes from the xpconnect IDL files; r=bholley 2013-09-09 22:37:37 +02:00
Ehsan Akhgari
2d1cc87337 Bug 913531 - Remove the unnecessary #includes from nsIXPConnect.idl; r=bholley 2013-09-06 13:50:24 -04:00
Tom Schuster
b419003d07 Bug 865410 - Use CallArgs for XPConnect Call and Construct hooks. r=bholley. 2013-05-04 19:25:15 +02:00
Jeff Walden
356abe8832 Bug 858677 - Fix up code not built by SpiderMonkey to use the newly-changed deletion signatures. r=bholley, r=billm 2013-04-05 21:22:55 -07:00
Bobby Holley
0333a7377c Bug 812669 - Remove XPConnect equality hooks. r=mrbkap 2013-02-08 10:39:01 +00:00
Boris Zbarsky
54e6aae188 Bug 807226 part 0.5. More undefs to stop Windows headers from messing with our GetClassName. r=peterv 2012-11-09 07:59:41 -08:00
Ehsan Akhgari
e91c80d60b Backed out 2 changesets (bug 579517)
Backed out changeset 5298adc70963
Backed out changeset 86ccf7c918ce (bug 579517)
2012-10-25 12:32:24 -04:00
Ehsan Akhgari
d766300da5 Code hygiene: don't use PR_TRUE and PR_FALSE, and use stdint types instead of PRInt types (no bug really, but you could say bug 579517) 2012-10-25 11:48:19 -04: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
Aryeh Gregor
691ef24b2a Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Bobby Holley
fa1a2a5a9f Bug 771202 - Add a PostTransplant nsIXPCScriptable hook. r=peterv 2012-07-13 10:55:14 +02:00