Граф коммитов

65 Коммитов

Автор SHA1 Сообщение Дата
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
Boris Zbarsky 30a5c69587 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