Phil Ringnalda
c4745d28b1
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
735dca6f1b
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.
--HG--
extra : rebase_source : 68cd15627a62728061e663706cb1ff8c7bb292a0
2015-03-01 13:16:19 -06:00
Jason Orendorff
db04193771
Bug 1142784, part 2 - Change ProxyHandler::defineProperty() to make the desc argument a non-mutable handle. r=Waldo.
...
--HG--
extra : rebase_source : 92dd18b10e100e7e2537c151a21d4f3be37e1c08
2015-02-17 11:58:43 -06:00
Ehsan Akhgari
3684011d00
Bug 1145631 - Part 2: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the WebIDL codegen; r=froydnj
2015-03-21 12:28:16 -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
Boris Zbarsky
d0ebde3bb7
Bug 1117172 part 2. Change the non-wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv
...
The only manual changes here are to BindingUtils.h, Codegen.py, and
StructuredClone.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/WrapObject\((JSContext *\* *(?:aCx|cx)),(\s*)(JS::MutableHandle<JSObject\*> aReflector)/WrapObject(\1,\2JS::Handle<JSObject*> aGivenProto,\2\3/g'
find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(Binding(?:_workers)?::Wrap\((?:aCx|cx)), this, aReflector/\1, this, aGivenProto, aReflector/'
2015-03-19 10:13:32 -04:00
Boris Zbarsky
41e04c02b0
Bug 1117172 part 1. Allow passing an optional aGivenProto to binding Wrap methods. r=peterv
2015-03-19 10:13:32 -04:00
Ms2ger
656b9c4d5a
No bug - Add an explanatory message to the multiple-inheritance assertion in DOM bindings; rs=bz
...
Review was granted in
<http://logs.glob.uno/?c=mozilla%23content&s=5+Dec+2013&e=5+Dec+2013#c162605 >.
2015-03-13 13:01:28 +01: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
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
Boris Zbarsky
8346b9dfaf
Bug 928336. Make defining unforgeable properties on objects faster by just copying them from an unforgeable holder object. r=peterv
2015-03-03 21:01:58 -05:00
Boris Zbarsky
1884c1aea6
Bug 1136896. Speed up fill() and dedent() by memoizing some of the work they currently end up doing on each call. r=jorendorff
2015-03-03 07:12:00 -05:00
Boris Zbarsky
30f7932607
Bug 1135810. Add more explicit checks for whether a descriptor wants Xrays or not instead of assuming that Xrays are desired if and only if descriptor.workers is false. r=peterv
2015-02-26 09:40:08 -05:00
Boris Zbarsky
1de627093f
Bug 1136292 part 1. Stop passing a parent to BindingJSObjectCreator methods, since it's always the global anyway. r=peterv
2015-02-26 09:40:07 -05:00
Boris Zbarsky
746d0e6061
Bug 1133760 part 2. Get rid of unforgeable holders; just store unforgeable properties for DOM proxies directly on the expando object. r=peterv
2015-02-26 09:40:07 -05:00
Boris Zbarsky
92822b6be2
Bug 1133760 part 1. The ownPropNames hook can't be called via Xrays, so stop trying to handle that case. r=peterv
2015-02-26 09:40:07 -05:00
Boris Zbarsky
a9831518b7
Bug 1134730. DOM proxy finalizers should not assume that the JS object has an actual reference to the DOM object (and in particular that the slot it's stored in is a private slot). r=peterv
2015-02-26 09:40:07 -05:00
Boris Zbarsky
05d3e6df24
Bug 1135803. Take out the bits that try to handle interface types mapping to JSObject* in worker descriptors, since we never do that anymore. r=smaug
2015-02-24 16:04:22 -05:00
Boris Zbarsky
0417f5bf22
Bug 1135792. Stop assuming that every binding for a global with a non-worker descriptor is a binding for Window. r=smaug
2015-02-24 16:04:22 -05:00
Boris Zbarsky
b864faa155
Bug 1134112 part 2. When doing dictionary init, if we have a non-optional union member just go ahead and uninit it before we try initing it. That way even if it's already been initialized (e.g. because we default-initialized at some point) things will still work correctly. r=peterv
2015-02-19 14:36:35 -05:00
Boris Zbarsky
fc8317f7a4
Bug 1134112 part 1. When doing fast-init of a Web IDL dictionary, do fast-init of its dictionary members and its ancestors too. r=peterv
2015-02-19 14:36:26 -05:00
Boris Zbarsky
a12c99976e
Bug 1131096. Use IDLExposureMixins for IDLInterfaceMember. r=peterv
2015-02-13 14:34:54 -05:00
Wes Kocher
9d8054d6eb
Backed out changeset 6e0973b390f5 (bug 1131096)
2015-02-13 13:25:31 -08:00
Tom Schuster
797b78de4b
Bug 1124934 - Add a HasProperty ObjectOp. r=jorendorff
2015-02-13 12:20:02 +01:00
Boris Zbarsky
fd45968faa
Bug 1131096. Use IDLExposureMixins for IDLInterfaceMember. r=peterv
2015-02-13 14:34:54 -05:00
Boris Zbarsky
1dcfd471fc
Bug 1132252. An interface with an interface object should not inherit from one that's [NoInterfaceObject]. r=smaug
2015-02-12 18:39:26 -05:00
Tom Schuster
43324bd36f
Bug 1125437 - Get rid of SetPropertyAttributes and use DefineProperty to follow ES6 specification. r=efaust
2015-02-11 23:40:47 +01:00
Boris Zbarsky
efe41d396b
Bug 1127501. Treat external interfaces as only being exposed in Window in Web IDL bindings. r=peterv
2015-02-09 11:42:27 -05:00
Boris Zbarsky
ff62f8c4c5
Bug 1130364. Fix the handling of nestingLevel to actuall increment it more than once. r=peterv
2015-02-09 11:42:27 -05:00
Boris Zbarsky
a5d07f87ac
Bug 1127341. If we make our codegen for a binding depend on the exposure set of an interface argument to one of the binding's methods, we need to adjust the dependency set of the binding accordingly, so we'll regenerate if the exposure set changes. r=khuey
2015-02-09 11:42:26 -05:00
Jason Orendorff
8f9fef2147
Bug 1127121 - Remove property key type splitting in ObjectOps. r=bhackett.
...
--HG--
extra : rebase_source : dab65791e3efc9fc625365b6aa5dc26d5cad19fb
2015-01-28 17:12:44 -06:00
Ehsan Akhgari
866d758e54
Bug 1069719 - Abort the execution of scripts when a prerendered page calls an IDL blacklisted function; r=bzbarsky
2015-01-26 11:02:56 -05:00
Masatoshi Kimura
6cc5dabbee
Bug 1111290 - Part 3: Remove TypedEnum.h and fold TypedEnumInternal.h into TypedEnumBits.h. r=waldo
2015-01-26 07:22:11 +09:00
Boris Zbarsky
a98237e46b
Bug 1123541. Make sure to assign to resultVar in the binding call generator even if resultVar is predeclared, as long as we have a result to assign. r=peterv
2015-01-24 22:40:53 -05:00
Phil Ringnalda
760b4604b1
Back out 2 changesets (bug 1125351, bug 1069719) for m-oth bustage
...
CLOSED TREE
Backed out changeset fb315ec11af4 (bug 1125351)
Backed out changeset 0ab33c2362cf (bug 1069719)
2015-01-24 14:52:07 -08:00
Ehsan Akhgari
e2812f5ac3
Bug 1069719 - Abort the execution of scripts when a prerendered page calls an IDL blacklisted function; r=bzbarsky
2015-01-24 15:13:28 -05:00
Tom Schuster
7f95393f87
Bug 1122619 - Remove getPropertyAttributes object ops. r=jorendorff
2015-01-24 16:38:08 +01:00
Tom Schuster
66ad9a2e49
Bug 1125356 - Use JS_NewPlainObject in the browser. r=bz
2015-01-24 16:38:08 +01:00
Tom Schuster
269e651092
Bug 1122552 - Introduce [[GetOwnProperty]] object op. r=jorendorff,bz
2015-01-22 17:17:26 +01:00
Boris Zbarsky
d68bc247c4
Bug 1121688. Filter out overloads with non-worker-exposed arguments when generating worker bindings. r=peterv
2015-01-20 16:44:14 -05:00
Boris Zbarsky
0221e36996
Bug 1118978 part 3. Add support for DependsOn=DeviceState. r=peterv
2015-01-15 17:39:01 -05:00
Boris Zbarsky
cb9b43858f
Bug 1118978 part 1. Introduce "Affects" and "DependsOn" state for IDL attributes and operations and desugar [Pure] and [Constant] into that state. r=peterv
...
This does not change the generated binding code in any way for our existing IDL files.
2015-01-15 17:39:01 -05:00
Wes Kocher
7777c308be
Backed out 4 changesets (bug 1118978) for b2g build bustage on a CLOSED TREE
...
Backed out changeset e0ecb643aa2b (bug 1118978)
Backed out changeset bf31c6661b2c (bug 1118978)
Backed out changeset 5a4839c2fd53 (bug 1118978)
Backed out changeset 40b84c88ed16 (bug 1118978)
2015-01-15 15:52:41 -08:00
Boris Zbarsky
1b79c3c8c8
Bug 1107953 part 2. Change codegen to output an aCompartment argument on all callbacks that have an aExceptionHandling argument. r=peterv
2015-01-15 17:39:02 -05:00
Boris Zbarsky
7d49fcea6d
Bug 1118978 part 3. Add support for DependsOn=DeviceState. r=peterv
2015-01-15 17:39:01 -05:00
Boris Zbarsky
cad2943fbf
Bug 1118978 part 1. Introduce "Affects" and "DependsOn" state for IDL attributes and operations and desugar [Pure] and [Constant] into that state. r=peterv
...
This does not change the generated binding code in any way for our existing IDL files.
2015-01-15 17:39:01 -05:00
Ms2ger
b83d21c58c
Bug 914067 - Remove JSVAL_VOID from dom/; r=jst
2015-01-14 08:59:06 +01:00
Peter Van der Beken
dc3a33aa88
Bug 1096328 - Remove nativeOwnership from Bindings.conf, make rooting analysis happy. r=bz.
...
--HG--
extra : rebase_source : 54a1e408aec6c7485152f18693047b2992251aff
2015-01-08 22:56:42 +01:00
Peter Van der Beken
6bf82f2628
Bug 1096328 - Remove nativeOwnership from Bindings.conf, change a python check for a refcounted type to a static_assert. r=bz.
...
--HG--
extra : rebase_source : 3b9396921576b07ae3e6403ecb562502d75e5f16
2014-11-01 15:20:23 +01:00
Peter Van der Beken
cff93906c9
Bug 1096328 - Remove nativeOwnership from Bindings.conf, make example code spit out a refcounted class always. r=bz.
...
--HG--
extra : rebase_source : 0b4ec833f40a8593283554b53626a1d8fed97282
2014-11-01 15:15:42 +01:00