Commit Graph

87 Commits

Author SHA1 Message Date
Jeff Gilbert
b34c316584 Bug 1182369 - Remove js/Class.h include from nsWrapperCache.h. - r=bz 2015-07-09 12:32:04 -07:00
Andrew McCreight
92010d3e4c Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Andrea Marchesini
26e004fd3c Bug 1156632 - Remove unused forward class declarations - patch 1 - dom/base, r=ehsan 2015-04-22 08:29:15 +02:00
Boris Zbarsky
3a822d99b4 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
Bill McCloskey
b359a97797 Bug 1133594 - Add support for message manager process scripts (r=smaug) 2015-02-19 17:13:02 -08:00
Jon Coppeard
5b6d36441e Bug 650161 - Relocate global objects (browser changes) r=bholley 2014-10-20 09:07:43 +01:00
Peter Van der Beken
3467274091 Bug 1078744 - Replace SetIsDOMBinding with SetIsNonDOMBinding, remove nsWrapperCache::SetIsDOMBinding. r=bz. 2014-10-07 11:44:49 +02:00
Peter Van der Beken
84abe1432d Bug 1078744 - Replace SetIsDOMBinding with SetIsNonDOMBinding, invert the flag for dom bindings in nsWrapperCache and add SetIsNotDOMBinding. r=bz. 2014-10-07 11:44:48 +02:00
Peter Van der Beken
0cd87df26e Bug 808856 - Make not overriding WrapObject fail to build. r=ehsan. 2014-10-07 11:44:48 +02:00
Jon Coppeard
8f840ee612 Bug 650161 - Allow for the possibility that the wrapper cache hasn't been initialized yet when updating it r=bz 2014-10-03 10:04:19 +01:00
Jon Coppeard
779d611cee Bug 650161 - We don't need an objectMoved hook for global objects r=terrence 2014-09-29 09:50:17 +01:00
Jon Coppeard
935d549a5a Bug 650161 - Use the object moved hook to update the wrapper cache r=terrence r=bz r=bholley
* * *
Add exception for objectMoved hook as we do for finalize hook
2014-09-17 15:35:11 +01:00
Johnny Stenback
b8395846bb Bug 798188. Add table version of NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY, and add an else at the end of NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY to avoid this breaking QI maps if used at the end of a map. r=peterv
---
 dom/base/nsWrapperCache.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
2014-08-25 16:21:35 -07:00
Jon Coppeard
04b6fb5783 Bug 1052388 - Rename JS_CallHeapFooTracer() functions to JS_CallFooTracer() r=terrence r=smaug 2014-08-13 10:05:22 +01:00
L. David Baron
b298861489 Bug 996798 - Add a typedef to make it easier to change the size of nsWrapperCache/nsINode flags. r=bzbarsky 2014-06-18 17:07:26 -07:00
Birunthan Mohanathas
75e8b06441 Bug 1001966 - Part 3: Remove numbered NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE macros. r=smaug 2014-04-29 04:57:00 -04:00
Birunthan Mohanathas
0a166a643e Bug 1001966 - Part 1: Add variadic NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE macro. r=smaug 2014-04-29 04:56:00 -04:00
Terrence Cole
f705d32ae7 Bug 807168 - Make JSTracer into a real C++ class and kill the macro accessors; r=jonco,mccr8 2014-04-11 15:19:05 -07:00
Boris Zbarsky
b95c359828 Bug 991742 part 8. Remove the "aScope" argument of WebIDL/nsWrapperCache WrapObject() methods. r=bholley
This patch was mostly generated with the following command:

find . -name "*.h" -o -name "*.cpp" | xargs sed -e '/WrapObject(JSContext/ {; N; s/\(WrapObject(JSContext *\* *a\{0,1\}[Cc]x\),\n\{0,1\} *JS::Handle<JSObject\*> a\{0,1\}[sS]cope/\1/ ; }' -i ""

and then reverting the changes that made to
dom/bindings/BindingUtils.h, since those WrapObject methods are not
the ones we're trying to change here, plus a bunch of manual fixups
for cases that this command did not catch (including all the callsites
of WrapObject()).
2014-04-08 18:27:18 -04:00
Peter Van der Beken
67b4e82263 Bug 990158 - Make inner windows use their wrapper cache. r=bz. 2013-11-09 11:20:22 +01:00
Bobby Holley
60d1981574 Bug 825392 - Remove SOWs. r=bz 2014-03-19 13:35:45 -03:00
Olli Pettay
4ecffccb67 Bug 942240 - Improve the skippability of nsGlobalWindow, r=mccr8 2013-11-24 21:35:34 +02:00
Kyle Huey
d5105d151b Bug 928312: Convert the worker global object and all remaining EventTargets to new DOM bindings. r=bent,peterv,smaug 2013-11-05 22:16:26 +08:00
Benoit Jacob
87807625e2 Bug 912255 - traverse/unlink mDefaultVertexArray - r=smaug 2013-09-04 11:29:36 -04:00
Nicholas Nethercote
d0f640378a Bug 911020 - Introduce js/TypeDecls.h, which holds very commonly used type declarations from the JS engine. r=luke. 2013-08-27 19:59:14 -07:00
Nicholas Nethercote
38dd8e6485 Bug 909178 (part 1) - Move |jsid| from jsapi.h into js/Id.h. r=luke. 2013-08-21 22:26:56 -07:00
Nicholas Nethercote
9fc605b8f3 Bug 905017 (part 1) - Minimize inclusions of JS engine headers in .h and .idl files. r=billm. 2013-08-17 15:50:18 -07:00
Guillaume Abadie
8b0c74cb64 bug 903480 - [WebGL 2.0] implement TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN - r=jgilbert 2013-08-21 21:11:03 -04:00
Guillaume Abadie
c9d0d22c76 bug 903481_- step 3 - [WebGL 2.0] implement TRANSFORM_FEEDBACK_BUFFER - r=jgilbert 2013-08-20 11:36:20 -04:00
Ms2ger
29d6d162dc Merge m-c to inbound. 2013-08-02 11:07:57 +02:00
Ms2ger
05eabee20f Bug 886408 - Move nsContentUtils::ReleaseWrapper into nsWrapperCache; r=mccr8 2013-08-02 09:04:01 +02:00
Mike Hommey
0dc9c0ef85 Bug 881323 - Re-implement CycleCollectorParticipant with actual vtables, with constexpr to avoid static initializers. r=mccr8 2013-08-02 10:29:05 +09:00
Ms2ger
bbc41074ac Bug 884268 - Part b: Move nsContentUtils::PreserveWrapper to nsWrapperCache; r=smaug 2013-06-23 09:15:42 +02:00
Ms2ger
ffee045184 Bug 884268 - Part a: Move nsContentUtils::CheckCCWrapperTraversal to nsWrapperCache; r=smaug 2013-06-23 09:15:10 +02:00
Olli Pettay
04e0ce6c09 Bug 847611 - Paris bindings for autogenerated events, r=peterv 2013-06-18 21:48:45 +03:00
Jon Coppeard
52bf2277ee Bug 877762 - GC: Post-barrier cycle collector participants - 7 Convert most JSObect to use Heap<T> (ex. XBL) r=bz 2013-06-18 11:00:38 +01:00
Jon Coppeard
326d11d5a2 Bug 860573 - Part 1 - Store wrapper cache flags separately to the object pointer r=smaug 2013-06-08 09:53:21 +01:00
Jon Coppeard
048b511f81 Bug 874691 - Make CC participant tracing indirect r=mccr8 r=smaug r=bz 2013-05-27 12:50:49 +01:00
Terrence Cole
afa7e6700f Bug 777548 - Make non-cc-participant tracing indirect; r=smaug,billm,jst 2013-03-28 13:37:22 -07:00
Boris Zbarsky
ebafdd1727 Bug 864727 part 5. Make all the WrapObject methods take a handle for the scope object. r=ms2ger 2013-04-25 12:29:54 -04:00
Masatoshi Kimura
7878ea38fd Bug 848339 - Remove the vestigial boolean outparam from nsWrapperCache::WrapObject. r=bz 2013-03-12 08:03:47 +09:00
Masatoshi Kimura
a4628bcb9a Bug 841289 - Remove prefable option from WebIDL codegen. r=bz 2013-03-06 07:09:38 +09:00
Boris Zbarsky
ec363fb17a Bug 824589. Convert XULElement to WebIDL. r=peterv
The assertions in nsINode and nsWrapperCache are to eagerly catch
failures to override those methods.

The classinfo change for XULTreeBuilder is needed because one of those
is returned via an nsIXULTemplateBuilder attribute on XULElement.
Alternately, I could mark it notflattened in Bindings.conf, but Enn
said he prefers this anyway.

The change to the QI impl in BindingUtils is needed because when
XPConnect converts an IID from C++ to JS it makes is an nsJSID, not an
nsJSIID.  We've run into this before, sadly.

I removed "id" from nsIDOMXULElement because it's already on Element.
I suppose I could have left it there, but this seems cleaner.

The nsJSIID::HasInstance changes are needed to support XBL-implemented
interfaces.  Sadly, this does mean that if the underlying object QIs
to something but we didn't put those props on the WebIDL we'll end up
testing true for instanceof but not exposing the props.  I don't see
an obviously better way.  We should work on killing off uses of
"instanceof someinterface".

The browser.js change is needed to avoid throwing exceptions during
browser-chrome tests that are now getting reported because our
swapFrameLoaders is no longer an XPConnect method.
2013-01-29 12:51:55 -05:00
Boris Zbarsky
c1ef2bf3e1 Back out bug 824589 (rev 22695cac3896) on suspicion of Ts regression 2013-01-29 17:18:06 -05:00
Boris Zbarsky
2ce431d578 Bug 824589. Convert XULElement to WebIDL. r=peterv
The assertions in nsINode and nsWrapperCache are to eagerly catch
failures to override those methods.

The classinfo change for XULTreeBuilder is needed because one of those
is returned via an nsIXULTemplateBuilder attribute on XULElement.
Alternately, I could mark it notflattened in Bindings.conf, but Enn
said he prefers this anyway.

The change to the QI impl in BindingUtils is needed because when
XPConnect converts an IID from C++ to JS it makes is an nsJSID, not an
nsJSIID.  We've run into this before, sadly.

I removed "id" from nsIDOMXULElement because it's already on Element.
I suppose I could have left it there, but this seems cleaner.

The nsJSIID::HasInstance changes are needed to support XBL-implemented
interfaces.  Sadly, this does mean that if the underlying object QIs
to something but we didn't put those props on the WebIDL we'll end up
testing true for instanceof but not exposing the props.  I don't see
an obviously better way.  We should work on killing off uses of
"instanceof someinterface".

The browser.js change is needed to avoid throwing exceptions during
browser-chrome tests that are now getting reported because our
swapFrameLoaders is no longer an XPConnect method.
2013-01-29 12:51:55 -05:00
Steve Fink
ed62b6f44e Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence 2012-12-31 12:40:21 -08:00
Steve Fink
27634e6f07 Backed out changeset fce4e0f8a553 (bug 828753) for breaking windows warnings-as-errors (stop adding JSObject forward decls, please!) 2013-01-18 13:20:21 -08:00
Steve Fink
466f61a3c6 Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence 2012-12-31 12:40:21 -08:00
Trevor Saunders
c55a85644c bug 822289 - remove NS_IMPL_CYCLE_COLLECTION_CLASS and friends r=mccr8 2013-01-12 07:40:33 -05:00
Boris Zbarsky
3e638a0838 Bug 830553. Make the asserts in nsWrapperCache.h fatal. r=mccr8 2013-01-15 14:04:24 -05:00