Commit graph

66 commits

Author SHA1 Message Date
Yoshi Cheng-Hao Huang
222255214e Bug 1534967 - Part 1: use RootedIdVector. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D25042
2019-04-08 10:46:53 +08:00
Nika Layzell
7059a8ac77 Bug 1501910 - Pass enumerableOnly into nsIXPCScriptable::NewEnumerate, r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D9749
2018-10-25 10:24:36 -04:00
Andrew McCreight
7637c6c2a1 Bug 1490503 - Mark more XPConnect classes builtinclass r=peterv
Also, make nsIXPCWrappedJSObjectGetter not scriptable to save a tiny amount of binary size.

Differential Revision: https://phabricator.services.mozilla.com/D5613

--HG--
extra : moz-landing-system : lando
2018-09-14 17:52:36 +00:00
Peter Van der Beken
d73809b86f Bug 1453011 - Remove PostCreatePrototype. r=bz.
--HG--
extra : rebase_source : 6c096b964e43a3460a092b0f0b1ed9b512fd98c9
2018-03-22 11:31:05 +01:00
Peter Van der Beken
33304e70f6 Bug 1453011 - Remove some unused nsIXPCScriptable flags. r=bz.
--HG--
extra : rebase_source : bd116870762e7b9b0fcae558039c3522acb30009
2018-03-22 10:37:43 +01:00
Peter Van der Beken
1cd3ab60da Bug 1453011 - Remove nsXPCClassInfo. r=bz.
--HG--
extra : rebase_source : 4f137f69ad8613c149a25260c3ceeb029b823117
2018-03-22 09:42:21 +01:00
Nicholas Nethercote
78030c0e7b 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.

--HG--
extra : rebase_source : 9994d8ccb4f196cf63564b0dac2ae6c4370defb4
2017-10-18 13:17:26 +11:00
Jan de Mooij
599d67d484 Bug 1389510 part 1 - Remove getProperty/setProperty hooks from XPConnect. r=mrbkap 2017-08-25 10:10:56 +02:00
Jan de Mooij
9a7bf50e92 Bug 1390159 - Remove throw-on-set setProperty hooks on WrappedNatives. r=mrbkap 2017-08-16 09:01:56 +02:00
Nicholas Nethercote
bf48aecf29 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.

--HG--
extra : rebase_source : 6d5c341d0deba8f1529d81c17bb8819e09620b05
2017-01-23 13:33:58 +11:00
Nicholas Nethercote
e3685c4266 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.

--HG--
extra : rebase_source : e58eb28f1574224a8e8badf25fcfa25e5a5b8ad8
2017-01-10 12:47:57 +11:00
Nicholas Nethercote
7fad269a06 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.

--HG--
extra : rebase_source : 88a50110d66ad85c1277213afea7e08f7aa9538a
2016-12-23 08:30:45 +11:00
Nicholas Nethercote
c7018d9f7d 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.)

--HG--
extra : rebase_source : 3d1e1d1c313b4629bb2e337cc2fb7c0d1092ed99
2016-12-23 16:14:32 +11:00
Nicholas Nethercote
df925b776c 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
f81fa28212 Bug 1322080 (part 3, attempt 2) - Remove nsIXPCScriptable::addProperty. r=peterv.
--HG--
extra : rebase_source : af5d98e2d84bd7592b499134e06c98821302f488
2016-12-02 17:37:55 +11:00
Carsten "Tomcat" Book
5f2a9e53a6 Backed out changeset 9356d8836ca8 (bug 1322080) 2016-12-12 12:15:49 +01:00
Nicholas Nethercote
d307e2a3a9 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
5ed06a1f77 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
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
Tom Schuster
ac250f9d73 Bug 1147005 - Change JSAddPropertyOp signature. r=jorendorff,peterv 2015-03-28 14:47:02 +01:00
Phil Ringnalda
70731646e2 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
8a5dbf7c06 Bug 1147005 - Change JSAddPropertyOp signature. r=jorendorff,peterv 2015-03-28 14:47:02 +01: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
Boris Zbarsky
aa57107ef2 Bug 1132187 part 3. Remove the WANT_CONVERT bit. r=peterv 2015-02-13 14:34:54 -05:00
Boris Zbarsky
0605bcb783 Bug 1132187 part 2. Remove the WANT_DELPROPERTY bit. r=peterv 2015-02-13 14:34:54 -05:00
Boris Zbarsky
ebbad0e9f4 Bug 1132187 part 1. Remove the totally unused WANT_CREATE bit. r=peterv 2015-02-13 14:34:54 -05:00
Boris Zbarsky
580807c19b Bug 1132184. Remove the nsIXPCScriptable postCreate and postTransplant hooks. r=peterv 2015-02-13 14:34:54 -05:00
Wes Kocher
cb7d8da562 Backed out changeset 6d9547a55557 (bug 1132184) 2015-02-13 13:25:36 -08:00
Wes Kocher
84682654cd Backed out changeset e5479c58d966 (bug 1132187) 2015-02-13 13:25:35 -08:00
Wes Kocher
cd6057f164 Backed out changeset 70b09a891a37 (bug 1132187) 2015-02-13 13:25:33 -08:00
Wes Kocher
4e40a28a6e Backed out changeset 9017975d0201 (bug 1132187) 2015-02-13 13:25:32 -08:00
Boris Zbarsky
a352d5c69e Bug 1132187 part 3. Remove the WANT_CONVERT bit. r=peterv 2015-02-13 14:34:54 -05:00
Boris Zbarsky
26bee4f820 Bug 1132187 part 2. Remove the WANT_DELPROPERTY bit. r=peterv 2015-02-13 14:34:54 -05:00
Boris Zbarsky
1c8e7c2015 Bug 1132187 part 1. Remove the totally unused WANT_CREATE bit. r=peterv 2015-02-13 14:34:54 -05:00
Boris Zbarsky
6a08acbbd1 Bug 1132184. Remove the nsIXPCScriptable postCreate and postTransplant hooks. r=peterv 2015-02-13 14:34:54 -05:00
Trevor Saunders
6c486b0407 bug 1122100 - more MOZ_OVERRIDE in xpcomish stuff r=froydnj 2015-01-19 17:41:12 -05:00
Tom Schuster
9dfe5c2fd4 Bug 1097267 - Change the enumerate hook usage in XPC and browser. r=bholley 2014-12-11 19:31:10 +01:00
Tom Schuster
5dd32b3dd5 Bug 1097267 - Remove the DONT_ENUM_STATIC_PROPS flag from XPC. r=bholley 2014-12-11 19:31:10 +01:00
Tom Schuster
bc28949aec Bug 993026 - Change XPIDLScriptable NewResolve to simpler Resolve. r=bholley 2014-11-08 01:07:12 +01:00
Boris Zbarsky
170752efc2 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
12857de707 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
94981132ff Bug 1023109 - Update nsIXPCScriptable.idl UUID. (Interface changed in rev a470806c3553.) r=Waldo.
"[...] nothing can go wrong with this" --Jeff Walden.

--HG--
extra : rebase_source : 95640f61aae830080c96ff6db849b9da36ad4bcf
2014-06-10 12:20:11 -05:00
Jason Orendorff
4740c9dea6 Bug 547140, part 4 - Remove flags argument from resolve hooks. r=Waldo. 2014-04-25 16:11:02 -05: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
Bobby Holley
63ace2357b Bug 957688 - Remove checkAccess nsIXPCScriptable hook. r=mrbkap 2014-01-24 16:08:25 -08:00
Ehsan Akhgari
354328adc4 Bug 913830 - Remove more unneeded #includes from the xpconnect IDL files; r=bholley 2013-09-09 22:37:37 +02:00
Ehsan Akhgari
82b9523028 Bug 913531 - Remove the unnecessary #includes from nsIXPConnect.idl; r=bholley 2013-09-06 13:50:24 -04:00
Tom Schuster
79e64357e4 Bug 865410 - Use CallArgs for XPConnect Call and Construct hooks. r=bholley. 2013-05-04 19:25:15 +02:00
Jeff Walden
763718651b 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
65c0eb0358 Bug 812669 - Remove XPConnect equality hooks. r=mrbkap 2013-02-08 10:39:01 +00:00