Commit Graph

411 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
8bd603a950 Bug 1177892 part 3 - Remove OBJECT_TO_JSVAL. r=evilpie 2015-06-30 21:09:46 -07:00
Jan de Mooij
ab9663a611 Bug 1177892 part 2 - Remove PRIVATE_TO_JSVAL. r=evilpie 2015-06-30 11:20:58 -07:00
Ryan VanderMeulen
4bb610cee0 Backed out changesets ad58c270ce87 and 849151330d60 (bug 1177892) for B2G bustage.
CLOSED TREE
2015-06-30 15:48:11 -04:00
Jan de Mooij
2cf73cec53 Bug 1177892 part 2 - Remove PRIVATE_TO_JSVAL. r=evilpie 2015-06-30 11:20:58 -07:00
Jan de Mooij
987140de6f Bug 1177825 - Remove JSVAL_* constants. r=evilpie 2015-06-29 18:36:44 -07:00
Bobby Holley
b8e8b68b32 Bug 1174971 - Introduce two variants of getOwnPropertyFromTargetIfSafe. r=gabor,r=arai 2015-06-16 09:00:41 -07:00
Tom Schuster
71babb2450 Bug 1165722 - Replace JS_GetPropertyDescriptor usage in Xray code. r=bholley 2015-06-02 23:27:39 +02:00
Terrence Cole
3ffd505617 Bug 1164602 - Replace js::NullPtr and JS::NullPtr with nullptr_t; r=sfink 2015-05-13 14:07:34 -07:00
Tooru Fujisawa
8875df104f Bug 861219 - Part 0: Make ClassSpec be able to delegate to another ClassSpec. r=bholley 2015-05-14 13:03:14 +09:00
Carsten "Tomcat" Book
a6c465f3f8 Backed out changeset 3841e37b0e2f (bug 861219) for JS Crashes on a CLOSED TREE 2015-05-12 12:27:52 +02:00
Tooru Fujisawa
a79e21c812 Bug 861219 - Part 0: Make ClassSpec be able to delegate to another ClassSpec. r=bholley 2015-05-12 18:05:38 +09:00
Jan de Mooij
960e7c935d Bug 1155946 part 1 - Add a mayResolve class hook to optimize objects with resolve hooks better. r=bhackett 2015-04-23 15:51:28 +02:00
Bobby Holley
90da1ebeed Bug 1150771 - Let ArrayBuffer through object Xrays. r=gabor 2015-04-07 15:10:00 -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
Nick Fitzgerald
1f9f9949f7 Bug 1038238 - Part 1: Make Error instances use SavedFrame objects for their
stacks; r=jorendorff
2015-03-27 13:08:46 -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
Tooru Fujisawa
bead7ebbe6 Bug 1079919 - Part 1: Support RegExp in Xray. r=bholley 2015-03-18 18:22:05 +09:00
Jason Orendorff
495d3b16a3 Bug 1133081, part 5 - Remove non-asserting PropertyDescriptor accessors in favor of the new PropDesc-inspired asserting accessors. r=efaust.
value() can't assert hasValue() because too many places have plausible reasons for calling it on a PropertyDescriptor they basically know nothing about. One such place is CompartmentChecker::check(Handle<JSPropertyDescriptor>). Another is DefinePropertyByDescriptor. Maybe this will change with time.

In some cases we do things like `desc.hasWritable() && desc.writable() != existing_desc.writable()`. It is OK to write it this way, even though we have not checked existing_desc.hasWritable(), because in these cases we already know existingDesc is a complete property descriptor.
2015-02-15 06:18:30 -06:00
Boris Zbarsky
f66e854256 Bug 1140573 part 2. Drop the parent argument from JS_NewFunctionById. r=waldo 2015-03-09 12:50:05 -04:00
Boris Zbarsky
c30fbd4b93 Bug 1140573 part 1. Drop the parent argument from JS_NewFunction. r=waldo 2015-03-09 12:50:03 -04:00
Boris Zbarsky
f424c4b3e3 Bug 1131802 part 2. Allocate functions with reserved slots for DOM Xrays so we can store the Xray wrapper reference in those slots instead of as the function parent. r=peterv 2015-03-06 16:33:31 -05: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
Jason Orendorff
c9cc21f96d Bug 1130576 - Rename JSPropertyOp -> JSGetterOp and JSStrictPropertyOp -> JSSetterOp. r=efaust. 2015-01-30 13:56:15 -06:00
L. David Baron
4af4cfed3a Back out bug 1131802 (changesets 80e90f586329 and 35c268f162db) and patch 2 from bug 1131805 (changeset 4139522bf814) on a CLOSED TREE for assertion failures.
Assertion failure: (ptrBits & 1) == 0, at ../../dist/include/js/Value.h
:871
called from XrayCreateFunction
2015-03-06 15:14:52 -08:00
Boris Zbarsky
8d927838b6 Bug 1131802 part 2. Allocate functions with reserved slots for DOM Xrays so we can store the Xray wrapper reference in those slots instead of as the function parent. r=peterv 2015-03-06 16:33:31 -05:00
Jon Coppeard
a8ac736f3f Bug 1138874 - Generalise assertion that source object has a preserved wrapper r=bholley 2015-03-06 10:19:07 +00:00
Jon Coppeard
1ebfefb607 Bug 1138874 - Change ReparentWrapper() to avoid multiple JS objects pointing to the same native r=bholley 2015-03-05 13:39:53 +00:00
Jan de Mooij
b3f1ff13a2 Bug 1137523 - Unprefix most js_* functions. r=bhackett CLOSED TREE 2015-02-27 16:08:15 +01:00
Boris Zbarsky
4b467fe204 Bug 1136520. Stop parenting Xray expando objects to a non-global. r=bholley 2015-02-26 09:40:08 -05:00
Boris Zbarsky
2ccb0732a6 Bug 1136345. Drop the parent arg from JS_NewObjectWithGivenProto and introduce a JS_DeprecatedNewObjectWithGivenProtoAndParent for the few cases that still pass in a custom parent. r=waldo 2015-02-26 09:40:08 -05:00
Boris Zbarsky
e24ae7c499 Bug 1136292 part 5. Stop passing a global as the parent arg to JS_NewObjectWithGivenProto in XPConnect. r=peterv 2015-02-26 09:40:07 -05:00
Nick Fitzgerald
86849557af Bug 1117242 - SavedFrame objects should do principal checks for every accessor; r=jimb,jandem,bz 2015-02-13 09:21:50 -08:00
Ryan VanderMeulen
a9b5048637 Backed out 7 changesets (bug 1117242) for mochitest failures.
Backed out changeset 694f7ac58964 (bug 1117242)
Backed out changeset b3f8122dd990 (bug 1117242)
Backed out changeset 442d41779bd8 (bug 1117242)
Backed out changeset ccf6dfe1ac75 (bug 1117242)
Backed out changeset 86421767cd26 (bug 1117242)
Backed out changeset 2f996950fb2f (bug 1117242)
Backed out changeset 4414e9d0b66b (bug 1117242)

CLOSED TREE
2015-02-06 13:40:53 -05:00
Nick Fitzgerald
06a2084505 Bug 1117242 - Part 5: Implement xray support for SavedFrame; r=bholley 2015-02-06 09:15:01 -08:00
Jason Orendorff
2e2ce24f6f Bug 1112778, part 2 - Rename js::DefaultValue -> js::OrdinaryToPrimitive. r=Waldo. 2014-12-18 05:02:30 -06: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
Jason Orendorff
ddde8586c6 Bug 1103368, part 5 - Make Class::getProperty and setProperty nullable instead of needing stub functions. Never store stub functions in JSPropertyDescriptors. r=bhackett. 2014-11-22 12:23:39 -06:00
Jason Orendorff
6c66fe3b7e Bug 1103152 - Remove JS_DeletePropertyStub, JS_EnumerateStub, JS_ResolveStub, and JS_ConvertStub. Make five mandatory JSClass hooks optional (nullable). r=bhackett. 2014-12-02 16:56:35 -06:00