Commit Graph

4457 Commits

Author SHA1 Message Date
Ryan VanderMeulen
6fa51cb894 Backed out changeset d3c9b899f7d2 (bug 1143256) for frequent browser_perf-refresh.js leaks.
--HG--
extra : rebase_source : d8872879f2e6bec248ac3a5fc8b254be437abea0
2015-03-20 16:07:42 -04:00
Brian Hackett
73cf6b02a1 Bug 1143256 - Store object metadata using a weak map, r=luke. 2015-03-20 06:33:33 -07:00
Boris Zbarsky
948d4ebefa 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
2de182147c Bug 837630 - Stop hiding __proto__ from O.getOwnPropertyNames. r=Waldo,peterv,past 2015-03-19 17:42:15 +01:00
Boris Zbarsky
58ae84cfe1 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
8fc7f0cf64 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
5529d8327d Bug 1143793 part 1. Remove the obj argument of JS_CompileScript. r=luke 2015-03-19 10:13:33 -04:00
Boris Zbarsky
dc24477d79 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
aeaa4ed4f6 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
63b1441eef 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
4b0504854b Bug 1142717, part 4 - Add MOZ_COUNT_CTOR/DTOR for XPCWrappedNativeTearOff. r=bholley 2015-03-18 11:36:03 -07:00
Andrew McCreight
8d859f353e Bug 1142717, part 3 - Make XPCWrappedNativeTearOff::mNative a smart pointer. r=bholley 2015-03-18 11:36:03 -07:00
Andrew McCreight
724707b79a Bug 1142717, part 2b - Rename obj to qiResult in InitTearOff. r=bholley 2015-03-18 11:36:03 -07:00
Andrew McCreight
fb9de9d231 Bug 1142717, part 2 - Use nsRefPtr for obj in XPCWrappedNative::InitTearOff. r=bholley 2015-03-18 11:36:03 -07:00
Andrew McCreight
d7800e90bf Bug 1142717, part 1 - Remove unused forward declaration of xpc_GetJSPrivate. r=bholley 2015-03-18 11:36:03 -07:00
Andrew McCreight
468e063778 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
fa1e69dd93 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
fc0fb081b0 Bug 1137536, part 1 - Move DeferredFinalize out of the cyclecollector namespace. r=smaug 2015-03-18 11:36:03 -07:00
Andrew McCreight
24b97f86af Bug 1143938 - Add listener argument to Components.utils.forceCC. r=smaug 2015-03-18 11:36:03 -07:00
Tooru Fujisawa
0990b62287 Bug 1079919 - Part 4: Add Xray test for RegExp.prototype.toString. r=bholley 2015-03-18 18:22:05 +09:00
Tooru Fujisawa
7029f1c38c Bug 1079919 - Part 1: Support RegExp in Xray. r=bholley 2015-03-18 18:22:05 +09:00
Boris Zbarsky
fe0f33e72f 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
d1e4959752 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
5ac546abf3 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
65cc333846 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
f45ce06bc8 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.

--HG--
extra : rebase_source : 3ec090ea79908eb5e7b5ea8ad1d702229f5cc3b1
2015-02-15 06:18:30 -06:00
Jonathan Griffin
d1c61bc9b6 Bug 1116187 - Disable failing mochitest-chrome tests for B2G, r=gbrown 2015-02-06 16:30:37 -08:00
Jason Orendorff
24e0838e6f Bug 1133294 - Object.getOwnPropertyDescriptor(obj, key) must always return either undefined or a complete property descriptor, even if obj is a proxy. r=efaust.
--HG--
extra : rebase_source : 6f68a9607d1a3f8c5a589bd51aa737d601b00e16
extra : amend_source : b4afc4ecede67f806e2b00adfa004ee72e3bfd91
2015-02-15 02:49:42 -06:00
Hiroyuki Ikezoe
36fdba3e1a 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
38c3210ae5 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
5d2ae0a555 Bug 1140573 part 4. Drop the parent argument from js::NewFunctionByIdWithReserved. r=waldo 2015-03-09 12:50:08 -04:00
Boris Zbarsky
8a4d4838fb Bug 1140573 part 2. Drop the parent argument from JS_NewFunctionById. r=waldo 2015-03-09 12:50:05 -04:00
Boris Zbarsky
dcb007a0d8 Bug 1140573 part 1. Drop the parent argument from JS_NewFunction. r=waldo 2015-03-09 12:50:03 -04:00
Boris Zbarsky
5d69db0b28 Bug 1140582. Remove the parent argument from JS_NewObjectWithUniqueType. r=waldo 2015-03-09 12:49:50 -04:00
Phil Ringnalda
d5d934be28 Merge f-t to m-c, a=merge 2015-03-07 19:38:53 -08:00
Paolo Amadini
f638425f9d 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
f0ef2a86aa 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
186408ba66 Bug 1138874 - Generalise assertion that source object has a preserved wrapper r=bholley 2015-03-06 10:19:07 +00:00
Boris Zbarsky
19d83a360f 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
f9c659ca6c Bug 1113369, part 7 - [[SetPrototypeOf]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect.
--HG--
extra : rebase_source : e712f5faf1463a447e52153c556605bb9552e990
2015-02-05 16:36:50 -06:00
Jason Orendorff
29bfe274bb Bug 1113369, part 6 - [[PreventExtensions]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect.
--HG--
extra : rebase_source : 08631a46c776f6d9e60794ad61308240dde3d94d
2015-02-04 12:01:01 -06:00
Jason Orendorff
cc85989b86 Bug 1113369, part 5 - [[Delete]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect.
--HG--
extra : rebase_source : 64b0e44bbb7673d139fab920243566db4844b517
2015-02-04 10:20:04 -06:00
Jason Orendorff
9a17368e8e Bug 1113369, part 4 - [[Set]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect.
--HG--
extra : rebase_source : ee44b9a7c933addd7f26643443900843b984587b
2015-02-03 19:51:40 -06:00
Jason Orendorff
de9e3b99dc 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.

--HG--
extra : rebase_source : 36439a8fa433c453f63b02c93fceaf0d8b9e9626
2015-01-30 11:37:07 -06:00
Jason Orendorff
18470d8d6a Bug 1138059 - Tweak XPCOMUtils.defineLazyGetter behavior to avoid weird behavior in weird cases. r=mak.
--HG--
extra : rebase_source : 40887fe2375350b3b183aff2a24e17053b02d349
2015-02-28 09:17:43 -06:00
Jason Orendorff
85abad51f2 Bug 1130576 - Rename JSPropertyOp -> JSGetterOp and JSStrictPropertyOp -> JSSetterOp. r=efaust.
--HG--
extra : rebase_source : 44edb174028da6dbd637975e6358112060de535b
extra : amend_source : dd79490550af1370dac037057bdc2c06cb4c71f5
2015-01-30 13:56:15 -06:00
L. David Baron
8de963d8ad 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
05aaddd360 Bug 1131805 part 1. Remove remaining JS_GetParent and js::GetObjectParent uses in Gecko. r=bholley 2015-03-06 16:33:31 -05:00
Boris Zbarsky
6523d4990f 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
0edff16cda Bug 1138874 - Change ReparentWrapper() to avoid multiple JS objects pointing to the same native r=bholley 2015-03-05 13:39:53 +00:00