Commit Graph

31 Commits

Author SHA1 Message Date
Phil Ringnalda
8a89e647fd 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
60373a960b 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
e218a3988f 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
3322381e4f 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
d1204e0adb 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
e065e5cceb 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
f43c96af4d 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
Gabor Krizsanits
df3314aad3 Bug 1090592 - GetPrototypeOf hook for CPOWProxyHandler. r=billm 2015-02-10 16:29:41 +01:00
Kyle Huey
591c252165 Bug 1121673: Use move references in IPDL. r=bent 2015-01-16 11:58:52 -08:00
Bill McCloskey
169b2f071b Bug 1091964 - [e10s] Cache isCallable and isConstructor for CPOWs (r=mrbkap) 2014-11-04 17:39:34 -08:00
Carsten "Tomcat" Book
efe4af0c06 Backed out changeset 5992aea01aff (bug 1091964) 2014-11-05 10:03:06 +01:00
Bill McCloskey
7260811c53 Bug 1091964 - [e10s] Cache isCallable and isConstructor for CPOWs (r=mrbkap) 2014-11-04 17:39:34 -08:00
Jeff Walden
63e44a7975 Bug 1085566 - Make the preventExtensions hook return succeeded/failed rather than always indicate failure by reporting an error. r=efaust
--HG--
extra : rebase_source : 487b569d23ce18f39fc53697e5f25cc789885803
2014-10-19 01:18:43 -07:00
Carsten "Tomcat" Book
983ab2d153 Backed out changeset 9e900e87b4bb (bug 1085566) 2014-10-22 08:59:09 +02:00
Jeff Walden
7f782a5fda Bug 1085566 - Make the preventExtensions hook return succeeded/failed rather than always indicate failure by reporting an error. r=efaust
--HG--
extra : rebase_source : 3b61c22efe8b5b2b3135b11556b6b329479d3dcd
2014-10-19 01:18:43 -07:00
Tom Schuster
b0d84b1425 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
150ebfa3c4 Bug 1026918, part 3 - Rename mozilla::jsipc::PJavaScript::GetPropertyNames -> GetPropertyKeys. r=billm.
--HG--
extra : rebase_source : 53d0aae8df524ffc9dfc9657908adf00fc9c89a8
extra : amend_source : 13d71e9a8b830e5ecc74586f6e4b616703cfd305
2014-09-26 19:52:45 -05:00
Bill McCloskey
b030bd8399 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
f107ebbec3 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
f70f11163a 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
0d0cd99d30 Bug 1071177 - Introduce JSIDVariant type for CPOWs. r=billm 2014-10-07 11:29:02 +02:00
Bobby Holley
ec9f41d32b Bug 1067009 - Implement regexp_toShared for CPOWs. r=billm 2014-10-01 17:22:15 +02:00
Bobby Holley
ecd6e25975 Bug 1065811 - Clean up ObjectId handling with static type checking. r=billm
While adding the CPOW flag for xray waivers, I discovered a bunch of
inconsistency and sloppiness with respect to our handling of object ids,
and a general lack of clarity about when the id included flags or not. Given
the fact that I'm removing static callability for CPOWs, we _could_ just get
rid of the flags, and store the xray waiver state on the answer-side only. But
I eventually decided that these kinds of flags (which are accessible to both
the Answer _and_ the Owner) had enough potential utility that they were worth
cleaning up.

It's worth noting that that utility comes with the large caveat that the flags
can't be trusted for security-sensitive decisions (at least in the parent->child
case), since they could be forged by a compromised child.
2014-09-25 13:13:29 +02:00
Bobby Holley
b4b92fa4cc Bug 1065811 - Stop statically computing callability/constructibility on CPOWs. r=billm 2014-09-25 13:13:29 +02:00
Bill McCloskey
59d062f9a1 Bug 1060042 - CPOWs need a hasInstance hook (r=mrbkap) 2014-09-10 17:15:40 -07:00
Ehsan Akhgari
17c1e053f0 Bug 1060988 - Fix more bad implicit constructors in JS IPC code; r=billm 2014-08-31 21:10:16 -04:00
Bill McCloskey
1a5d21d731 Bug 1017109 - Add construct hook for CPOWs (r=mrbkap) 2014-06-30 17:50:58 -07:00
Bill McCloskey
da6ed6a9d6 Bug 1029202 - Allow CPOW receivers to be non-CPOWs (r=mrbkap) 2014-06-30 17:48:09 -07:00
Bill McCloskey
f080a0f66d Bug 996785 - Bidirectional CPOWs (r=mrbkap) 2014-05-16 16:40:37 -07:00
Bill McCloskey
ce0b3770fa Bug 996785 - Move CPOW wrapper answering code (r=mrbkap) 2014-05-16 16:40:36 -07:00
Bill McCloskey
ed734e4635 Bug 996785 - Move CPOW wrapper owner code (r=mrbkap) 2014-05-16 16:40:36 -07:00