Commit Graph

60 Commits

Author SHA1 Message Date
Birunthan Mohanathas
a29151dc87 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
Jan de Mooij
c6596c5fa8 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 23:22:11 +01:00
Phil Ringnalda
1a1c158706 Backed out changeset 0c030f97a04f (bug 1144366) for being on top of patches being backed out
CLOSED TREE
2015-03-28 10:39:56 -07:00
Jan de Mooij
369ef1b850 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 12:08:37 +01:00
Blake Kaplan
a2a346563e Bug 1145854 - Don't leak WrapperOwner::className's string. r=billm 2015-03-27 13:12:37 -07:00
Jason Orendorff
a62fc1c850 Bug 1142794 - Change 'receiver' argument to SetProperty functions and ProxyHandler::set methods to be a HandleValue. r=Waldo.
Also: Change signature of these functions and methods to all have the same arguments in the same order: (cx, obj, id, v, receiver). Also change v from MutableHandleValue to HandleValue.

There is no change in behavior.

In fact the new error message `JSMSG_SET_NON_OBJECT_RECEIVER` is
impossible to trigger from scripts for now, I think (after re-reading
the whole patch with this in mind). JS_ForwardSetPropertyTo is the only
way to get a non-object receiver into the engine, but no caller
currently does so.

We're installing new pipes here, and they should work, but for now it's
the same cold water flowing through as before. Actually hooking up the
hot water is left for another bug (one with tests, not to put too fine a
point on it).

Notes:

*   InvokeGetterOrSetter had to be split into two functions:
    InvokeGetter takes a MutableHandleValue out-param,
    InvokeSetter a HandleValue in-param.

*   Watchpoints can still tamper with values being assigned. So can
    JSSetterOps. I'm pleased we can support this craziness in a way that
    doesn't have to spread via the type system to encompass the entire
    codebase.

*   Change in GlobalObject::setIntrinsicValue is not really a change.
    Yes, it asserted before, but an exception thrown during self-hosting
    initialization is not going to go unnoticed either.

*   Since the receiver argument to js::SetProperty() is at the end now, it
    makes sense for it to be optional. Some callers look nicer.
2015-03-01 13:16:19 -06:00
Jason Orendorff
f8862424e5 Bug 1142784, part 2 - Change ProxyHandler::defineProperty() to make the desc argument a non-mutable handle. r=Waldo. 2015-02-17 11:58:43 -06:00
Phil Ringnalda
2b0920d57e Backed out 9 changesets (bug 1142775, bug 1139683, bug 1143810, bug 1142761, bug 1142784, bug 1142794, bug 1144819) for widespread bustage
CLOSED TREE

Backed out changeset 7613fc978d36 (bug 1142794)
Backed out changeset e5f0cb31263d (bug 1142784)
Backed out changeset dcd0af73ac84 (bug 1142784)
Backed out changeset 034f9c8e79ee (bug 1142784)
Backed out changeset ce0ee37e3ca9 (bug 1142775)
Backed out changeset 1519b8f2bbba (bug 1142761)
Backed out changeset 26fd55677841 (bug 1139683)
Backed out changeset 7ebc76a450c3 (bug 1144819)
Backed out changeset 92adb459d519 (bug 1143810)
2015-03-22 09:34:25 -07:00
Jason Orendorff
f3c165da67 Bug 1142794 - Change 'receiver' argument to SetProperty functions and ProxyHandler::set methods to be a HandleValue. r=Waldo.
Also: Change signature of these functions and methods to all have the same arguments in the same order: (cx, obj, id, v, receiver). Also change v from MutableHandleValue to HandleValue.

There is no change in behavior.

In fact the new error message `JSMSG_SET_NON_OBJECT_RECEIVER` is
impossible to trigger from scripts for now, I think (after re-reading
the whole patch with this in mind). JS_ForwardSetPropertyTo is the only
way to get a non-object receiver into the engine, but no caller
currently does so.

We're installing new pipes here, and they should work, but for now it's
the same cold water flowing through as before. Actually hooking up the
hot water is left for another bug (one with tests, not to put too fine a
point on it).

Notes:

*   InvokeGetterOrSetter had to be split into two functions:
    InvokeGetter takes a MutableHandleValue out-param,
    InvokeSetter a HandleValue in-param.

*   Watchpoints can still tamper with values being assigned. So can
    JSSetterOps. I'm pleased we can support this craziness in a way that
    doesn't have to spread via the type system to encompass the entire
    codebase.

*   Change in GlobalObject::setIntrinsicValue is not really a change.
    Yes, it asserted before, but an exception thrown during self-hosting
    initialization is not going to go unnoticed either.

*   Since the receiver argument to js::SetProperty() is at the end now, it
    makes sense for it to be optional. Some callers look nicer.
2015-03-01 13:16:19 -06:00
Jason Orendorff
0c2cf8be27 Bug 1142784, part 2 - Change ProxyHandler::defineProperty() to make the desc argument a non-mutable handle. r=Waldo. 2015-02-17 11:58:43 -06:00
Blake Kaplan
8716b0e94b Bug 1134006 - Avoid IPC for domElement.QueryInterface(nsISupports) and nsIClassInfo. r=billm 2015-03-10 14:36:01 -07:00
Carsten "Tomcat" Book
e2036990c0 Backed out changeset 6c7ebb2f5a92 (bug 1134006) for bustage 2015-03-10 12:37:24 +01:00
Blake Kaplan
1c37b8a905 Bug 1134006 - Avoid IPC for domElement.QueryInterface(nsISupports) and nsIClassInfo. r=billm 2015-03-09 15:01:00 +01:00
Jason Orendorff
7fdeaf63be Bug 1113369, part 7 - [[SetPrototypeOf]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect. 2015-02-05 16:36:50 -06:00
Jason Orendorff
6e6ba315a5 Bug 1113369, part 6 - [[PreventExtensions]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect. 2015-02-04 12:01:01 -06:00
Jason Orendorff
20beb2cc48 Bug 1113369, part 5 - [[Delete]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect. 2015-02-04 10:20:04 -06:00
Jason Orendorff
b180889659 Bug 1113369, part 4 - [[Set]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect. 2015-02-03 19:51:40 -06:00
Jason Orendorff
1d3bb8fb3d Bug 1113369, part 3 - [[DefineOwnProperty]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect.
Add an ObjectOpResult out-param for DefineProperty functions everywhere. We leave a few js::DefineProperty() convenience functions with no *result out-param. These have strict behavior: that is, they automatically check the result and throw if it is false. In bug 1125624 these strict signatures may end up being called DefinePropertyOrThrow, as that is what the spec calls it.
2015-01-30 11:37:07 -06:00
Tom Schuster
34ccb29137 Bug 1131003 - Move jsproxy.h to js/Proxy.h. r=efaust 2015-02-10 19:58:18 +01:00
Gabor Krizsanits
1f68802408 Bug 1090592 - GetPrototypeOf hook for CPOWProxyHandler. r=billm 2015-02-10 16:29:41 +01:00
Bill McCloskey
3fdc0539fb Bug 1123461 - Make a real interface for js/ipc (r=dvander) 2015-01-26 13:32:18 -08:00
Tom Schuster
147cbd415a Bug 783829 - Remove getEnumerablePropertyKeys. r=efaust,bholley 2014-12-17 00:28:38 +01:00
Tom Schuster
a3bf7d8937 Bug 783829 - Change from Proxy iterate to enumerate. r=efaust,bholley 2014-12-17 00:28:38 +01:00
Tom Schuster
892aa58156 Bug 783829 - Rename Proxy enumerate trap to getEnumerablePropertyKeys. r=efaust 2014-11-14 16:21:12 +01:00
Bill McCloskey
ad2449d2f1 Bug 1091970 - [e10s] Cache object tag in add-on shims for remote objects (r=mrbkap) 2014-11-04 17:40:08 -08:00
Bill McCloskey
e4c6f4d046 Bug 1091964 - [e10s] Cache isCallable and isConstructor for CPOWs (r=mrbkap) 2014-11-04 17:39:34 -08:00
Carsten "Tomcat" Book
7824d7d4a9 Backed out changeset 5992aea01aff (bug 1091964) 2014-11-05 10:03:06 +01:00
Carsten "Tomcat" Book
65ff9ec37a Backed out changeset 38ca6211d1d4 (bug 1091970) 2014-11-05 10:02:59 +01:00
Bill McCloskey
ee03351fcd Bug 1091970 - [e10s] Cache object tag in add-on shims for remote objects (r=mrbkap) 2014-11-04 17:40:08 -08:00
Bill McCloskey
8eeffe9d73 Bug 1091964 - [e10s] Cache isCallable and isConstructor for CPOWs (r=mrbkap) 2014-11-04 17:39:34 -08:00
Jeff Walden
33ab4b19be Bug 1052139 - Reorder the preventExtensions trap just after the [[Prototype]]-access traps. r=code-motion 2014-10-21 11:40:04 -07:00
Jeff Walden
7eab2a3226 Bug 1085566 - Make the preventExtensions hook return succeeded/failed rather than always indicate failure by reporting an error. r=efaust 2014-10-19 01:18:43 -07:00
Carsten "Tomcat" Book
77dee816cc Backed out changeset 9e900e87b4bb (bug 1085566) 2014-10-22 08:59:09 +02:00
Carsten "Tomcat" Book
6b7490c4d7 Backed out changeset 4eee647a5bd4 (bug 1052139) 2014-10-22 08:59:05 +02:00
Jeff Walden
5ca615d0c4 Bug 1052139 - Reorder the preventExtensions trap just after the [[Prototype]]-access traps. r=code-motion 2014-10-21 11:40:04 -07:00
Jeff Walden
58c90aac1c Bug 1085566 - Make the preventExtensions hook return succeeded/failed rather than always indicate failure by reporting an error. r=efaust 2014-10-19 01:18:43 -07:00
Jason Orendorff
74f6308ca4 Bug 1081280 - Rename BaseProxyHandler::keys -> getOwnEnumerablePropertyKeys. r=efaust. 2014-10-08 22:01:55 -05:00
Jason Orendorff
5fa7cf9d3a Bug 1081255 - Rewrite comments in jsproxy.h; reclassify the methods a bit. No change in behavior. r=efaust, r=bz, r=jwalden. 2014-10-08 12:09:08 -05:00
Tom Schuster
b22d3e39c2 Bug 1071177 - Support symbol keys and throw exception on unique symbols with CPOWs. r=billm 2014-10-16 18:39:38 +02:00
Jason Orendorff
6edb7ff2c9 Bug 1026918, part 3 - Rename mozilla::jsipc::PJavaScript::GetPropertyNames -> GetPropertyKeys. r=billm. 2014-09-26 19:52:45 -05:00
Jason Orendorff
5823a20a9a Bug 1026918, part 1 - Rename BaseProxyHandler::getOwnPropertyNames -> ownPropertyKeys to match the ES6 [[OwnPropertyKeys]] internal method. r=efaust, r=bz.
Also renamed in this patch:

ENUMERATE_IF_DEFINED -> ADD_KEYS_IF_DEFINED
XrayEnumerateAttributesOrMethods -> XrayAttributeOrMethodKeys
XrayEnumerateNativeProperties -> XrayOwnNativePropertyKeys
XrayEnumerateProperties -> XrayOwnPropertyKeys
WrapperOwner::getPropertyNames -> getPropertyKeys

These make sense because JSITER_* flags are involved; the functions in
question are not for finding enumerable properties only.
2014-09-26 15:16:36 -05:00
Bill McCloskey
e50f512e2a Bug 1049879 - Remove urgent and rpc message types and replace with message priorities (r=dvander,bent,ehsan) 2014-10-07 21:32:45 -07:00
Carsten "Tomcat" Book
bb279bb4db Backed out changeset e56bf4ea89fb (bug 1049879) for bustage in emulator debug builds on a CLOSED TREE 2014-10-08 08:03:57 +02:00
Bill McCloskey
17d3a90266 Bug 1049879 - Remove urgent and rpc message types and replace with message priorities (r=dvander,bent,ehsan) 2014-10-07 21:32:45 -07:00
Tom Schuster
37f7f44bd6 Bug 1071177 - Introduce JSIDVariant type for CPOWs. r=billm 2014-10-07 11:29:02 +02:00
Bobby Holley
4a24838d94 Bug 1067009 - Implement regexp_toShared for CPOWs. r=billm 2014-10-01 17:22:15 +02:00
Bobby Holley
c504a51772 Bug 1065811 - Stop statically computing callability/constructibility on CPOWs. r=billm 2014-09-25 13:13:29 +02:00
Jon Coppeard
35fa24ed09 Bug 650161 - Unify the finalization and moving GC callbacks into a weak pointer update callback r=terrence r=bholley 2014-09-24 12:54:11 +01:00
Bill McCloskey
1aca5bb6bc Bug 1060042 - CPOWs need a hasInstance hook (r=mrbkap) 2014-09-10 17:15:40 -07:00
Eric Faust
a75e6b2b4b Bug 966518 - Part 0: Make proxy callability into a trap, rather than a class check. (r=bholley, r=djvj, r=peterv) 2014-09-10 15:52:36 -07:00