Jason Orendorff
d28f3fee83
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
Brian Hackett
1a5b452e6a
Bug 1143256 - Store object metadata using a weak map, r=luke.
2015-03-25 09:07:51 -07:00
Terrence Cole
ef0a198902
Bug 1135985 - Split callback and marking tracers completely; r=jonco, r=mccr8
2015-02-25 13:11:37 -08:00
Jason Orendorff
56c8d75dff
Bug 1143810 - Remove some XPConnect JSClass::setProperty hooks that are not needed anymore. r=bholley.
2015-03-13 14:43:48 -05:00
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
6b90d382df
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
Jason Orendorff
5d6634efc1
Bug 1143810 - Remove some XPConnect JSClass::setProperty hooks that are not needed anymore. r=bholley.
2015-03-13 14:43:48 -05:00
Ehsan Akhgari
33bb32f549
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
Ryan VanderMeulen
909711667c
Backed out changeset d3c9b899f7d2 (bug 1143256) for frequent browser_perf-refresh.js leaks.
2015-03-20 16:07:42 -04:00
Brian Hackett
3729221e19
Bug 1143256 - Store object metadata using a weak map, r=luke.
2015-03-20 06:33:33 -07:00
Boris Zbarsky
985513ef44
Bug 1144743 part 3. Set hasPollutedGlobalScope when we're compiling scripts we know will be executed with a non-global scope without cloning them. r=luke
2015-03-20 00:34:07 -04:00
Tom Schuster
308ff4d0ec
Bug 837630 - Stop hiding __proto__ from O.getOwnPropertyNames. r=Waldo,peterv,past
2015-03-19 17:42:15 +01:00
Boris Zbarsky
0202d1a774
Bug 1143793 part 6. Drop the obj argument of JS::Compile. r=luke
...
This is technically a behavior change for the shell's disfile() function, but
I really doubt anyone is doing disfile.call(someObj).
2015-03-19 10:13:34 -04:00
Boris Zbarsky
f0a4481730
Bug 1143793 part 4. Stop supporting load.call(somerandomobj) in xpcshell. r=bholley
...
I guess I should have done this in bug 1097987.
2015-03-19 10:13:34 -04:00
Boris Zbarsky
3550ddd74e
Bug 1143793 part 1. Remove the obj argument of JS_CompileScript. r=luke
2015-03-19 10:13:33 -04:00
Boris Zbarsky
54c64f20a9
Bug 1117172 part 3. Change the wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv
...
The only manual changes here are to BindingUtils.h, BindingUtils.cpp,
Codegen.py, Element.cpp, IDBFileRequest.cpp, IDBObjectStore.cpp,
dom/workers/Navigator.cpp, WorkerPrivate.cpp, DeviceStorageRequestChild.cpp,
Notification.cpp, nsGlobalWindow.cpp, MessagePort.cpp, nsJSEnvironment.cpp,
Sandbox.cpp, XPCConvert.cpp, ExportHelpers.cpp, and DataStoreService.cpp. The
rest of this diff was generated by running the following commands:
find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'
find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'
find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'
find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'
find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObject\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'
find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(Binding(?:_workers)?::Wrap\((?:aCx|cx|aContext|aCtx|js), [^,)]+)\)/\1, aGivenProto)/g'
2015-03-19 10:13:33 -04:00
Andrew McCreight
4e3fcea818
Bug 1143760 - Do a tiny amount of code duplication to avoid a goto in XPCVariant::VariantDataToJS(). r=bholley
2015-03-18 11:36:04 -07:00
Andrew McCreight
f0b7c05cd7
Bug 1142717, part 5 - Eliminate XPC_WRAPPED_NATIVE_TEAROFFS_PER_CHUNK. r=bholley
...
This has been 1 since the what looks like the initial landing in 2001, so clearly we don't need this generality.
2015-03-18 11:36:04 -07:00
Andrew McCreight
57d42f4866
Bug 1142717, part 4 - Add MOZ_COUNT_CTOR/DTOR for XPCWrappedNativeTearOff. r=bholley
2015-03-18 11:36:03 -07:00
Andrew McCreight
f66e0a7b52
Bug 1142717, part 3 - Make XPCWrappedNativeTearOff::mNative a smart pointer. r=bholley
2015-03-18 11:36:03 -07:00
Andrew McCreight
f471f5ff55
Bug 1142717, part 2b - Rename obj to qiResult in InitTearOff. r=bholley
2015-03-18 11:36:03 -07:00
Andrew McCreight
c797fd39b0
Bug 1142717, part 2 - Use nsRefPtr for obj in XPCWrappedNative::InitTearOff. r=bholley
2015-03-18 11:36:03 -07:00
Andrew McCreight
2461682a28
Bug 1142717, part 1 - Remove unused forward declaration of xpc_GetJSPrivate. r=bholley
2015-03-18 11:36:03 -07:00
Andrew McCreight
c34850707a
Bug 1137536, part 3 - Move the top level DeferredFinalize functions into their own file. r=smaug
2015-03-18 11:36:03 -07:00
Andrew McCreight
fa747a90b0
Bug 1137536, part 2 - Make sure every file that uses an nsCycleCollector_ function includes nsCycleCollector.h. r=smaug
...
This will let us remove it from headers after we split out DeferredFinalize into its own header.
2015-03-18 11:36:03 -07:00
Andrew McCreight
0f7082e12b
Bug 1137536, part 1 - Move DeferredFinalize out of the cyclecollector namespace. r=smaug
2015-03-18 11:36:03 -07:00
Andrew McCreight
46d0306d6d
Bug 1143938 - Add listener argument to Components.utils.forceCC. r=smaug
2015-03-18 11:36:03 -07:00
Tooru Fujisawa
08010485eb
Bug 1079919 - Part 4: Add Xray test for RegExp.prototype.toString. r=bholley
2015-03-18 18:22:05 +09:00
Tooru Fujisawa
2cd1c1bfda
Bug 1079919 - Part 1: Support RegExp in Xray. r=bholley
2015-03-18 18:22:05 +09:00
Boris Zbarsky
f8e0ebdf55
Bug 1097987 part 7. Require callers of JS::Evaluate to either use the global as the scope or pass in an explicit scopechain. r=waldo
2015-03-14 01:36:16 -04:00
Boris Zbarsky
9bdcb642ba
Bug 1097987 part 6. Require callers of JS_ExecuteScript to either use the global as the scope or pass in an explicit scopechain. r=waldo
2015-03-14 01:36:16 -04:00
Boris Zbarsky
5988272640
Bug 1097987 part 5. Change XPCShellImpl to use the scopechain version of JS_ExecuteScript as needed. r=bholley
2015-03-14 01:36:16 -04:00
Boris Zbarsky
24cd3ff0d2
Bug 1097987 part 4. Change mozJSSubScriptLoader to use the scopechain version of JS_ExecuteScript as needed. r=bholley
2015-03-14 01:36:16 -04:00
Jason Orendorff
3c188fc686
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
Jonathan Griffin
84011a87cc
Bug 1116187 - Disable failing mochitest-chrome tests for B2G, r=gbrown
2015-02-06 16:30:37 -08:00
Jason Orendorff
69a35609b0
Bug 1133294 - Object.getOwnPropertyDescriptor(obj, key) must always return either undefined or a complete property descriptor, even if obj is a proxy. r=efaust.
2015-02-15 02:49:42 -06:00
Hiroyuki Ikezoe
dc9e8a7592
Bug 751387 - Fix crash caused by out-of-bounds accesses in command line options handling. r=bholley
2015-03-12 01:37:00 -04:00
Yoshi Huang
44ca356ca2
Bug 1138886 - Structured Clone for MozNDEFRecord. r=smaug
...
From 9b1bdef0b25b41d0448662ec689a961ae4e8fcd2 Mon Sep 17 00:00:00 2001
---
dom/base/StructuredCloneTags.h | 2 +
dom/base/nsJSEnvironment.cpp | 29 +++++++++
dom/nfc/MozNDEFRecord.cpp | 122 ++++++++++++++++++++++++++++++++++---
dom/nfc/MozNDEFRecord.h | 20 ++++--
js/xpconnect/src/ExportHelpers.cpp | 36 ++++++++++-
5 files changed, 193 insertions(+), 16 deletions(-)
2015-01-30 15:36:42 +08:00
Boris Zbarsky
845c6d397f
Bug 1140573 part 4. Drop the parent argument from js::NewFunctionByIdWithReserved. r=waldo
2015-03-09 12:50:08 -04:00
Boris Zbarsky
add82dfc14
Bug 1140573 part 2. Drop the parent argument from JS_NewFunctionById. r=waldo
2015-03-09 12:50:05 -04:00
Boris Zbarsky
7f7b76aa0c
Bug 1140573 part 1. Drop the parent argument from JS_NewFunction. r=waldo
2015-03-09 12:50:03 -04:00
Boris Zbarsky
8ece71391b
Bug 1140582. Remove the parent argument from JS_NewObjectWithUniqueType. r=waldo
2015-03-09 12:49:50 -04:00
Phil Ringnalda
12408373d5
Merge f-t to m-c, a=merge
2015-03-07 19:38:53 -08:00
Paolo Amadini
70e5ec26ad
Bug 1140435 - Part 2 - Allow JS code to provide an async stack when calling a function. r=bz
2015-03-07 13:30:34 +00:00
Boris Zbarsky
a94ca36434
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
dc04a20f73
Bug 1138874 - Generalise assertion that source object has a preserved wrapper r=bholley
2015-03-06 10:19:07 +00:00
Boris Zbarsky
458e969f4e
Bug 1139964 part 1. Factor out the guts of BackstagePass::Resolve and BackstagePass::Enumerate to allow reuse for other globals that want to opt in to Exposed=System WebIDL annotations. r=smaug
2015-03-06 01:08:06 -05: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