Commit Graph

45 Commits

Author SHA1 Message Date
Boris Zbarsky
27b20c21af 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
66e49b02aa Back out bug 824589 (rev 22695cac3896) on suspicion of Ts regression 2013-01-29 17:18:06 -05:00
Boris Zbarsky
8231be64a0 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
57a2c2471b 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
380ecf9335 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
01f8a5b4d8 Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence
--HG--
extra : rebase_source : c8806b27677594925ad0e6b54c47af5cf17e1153
2012-12-31 12:40:21 -08:00
Trevor Saunders
9f0ad48b28 bug 822289 - remove NS_IMPL_CYCLE_COLLECTION_CLASS and friends r=mccr8 2013-01-12 07:40:33 -05:00
Boris Zbarsky
23fd150afe Bug 830553. Make the asserts in nsWrapperCache.h fatal. r=mccr8 2013-01-15 14:04:24 -05:00
Peter Van der Beken
b208a08d09 Fix for bug 815149 (Add support for SOWs and XBL bindings in new DOM bindings). r=bz.
--HG--
extra : rebase_source : c24544fd3d1c99651e279e687a07a02c5b994323
2012-09-12 22:29:30 +02:00
Andrew McCreight
312e1c18f0 Bug 814752 - Make NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER work for native CC classes. r=smaug,ehsan 2012-11-27 15:08:22 -08:00
Benoit Jacob
cc8ee2b8fb Bug 806279 - CC macros refactoring: part 4: update CC helper macros - r=mccr8,smaug 2012-11-15 02:32:39 -05:00
Benoit Jacob
d2969fa2d5 Bug 806279 - CC macros refactoring: part 2: generic BEGIN_ macros folding in the NATIVE case - r=mccr8,smaug 2012-11-15 02:32:39 -05:00
Peter Van der Beken
12f507617a Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - fix CC traversal and wrapper preservation. r=bz.
--HG--
rename : dom/tests/mochitest/chrome/file_bug800817.xul => dom/tests/mochitest/chrome/file_bug799299.xul
rename : dom/tests/mochitest/chrome/test_bug800817.xul => dom/tests/mochitest/chrome/test_bug799299.xul
extra : rebase_source : bed68ffa15fe5933994c33fbd94ad2b597b5b1b9
2012-09-26 20:12:15 +02:00
Ms2ger
8c3cbade76 Bug 793314 - Remove PtrBits; r=mounir,roc 2012-10-02 10:24:11 +02:00
Olli Pettay
28eedfbe35 Bug 794694 - Make sure to trace all the gray GCthings, not only wrapper, r=mccr8 2012-09-29 01:29:37 +03:00
Makoto Kato
d5c93adaee Bug 785321 - Replace PRUptrdiff with uintptr_t, prtdiff_t or etc; r=ehsan,jrmuizel 2012-09-14 16:09:52 -04:00
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Ehsan Akhgari
8483016620 Bug 749101 - Move window.performance to the new DOM bindings; r=bzbarsky 2012-07-16 21:42:18 -04:00
Boris Zbarsky
a20f0507aa Bug 750297 part 2. Switch WebGLUniformLocation to Paris bindings. r=peterv, bjacob 2012-06-15 16:25:51 -04:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Andrew McCreight
a3d49f791d Bug 754151 - add macros for basic wrappercached cycle collected classes. r=smaug 2012-05-14 08:24:03 -07:00
Peter Van der Beken
c2e642fbcc Fix for bug 740069 (Generate JS bindings in C++ with a python script for DOM objects on the main thread and in workers. Infrastructure and new bindings for XMLHttpRequest). Patch by bent/bz/bholley/jst/khuey/peterv, r=bent/bz/bholley/jlebar/khuey/peterv/sicking/smaug.
--HG--
rename : js/xpconnect/tests/mochitest/test_bug462428.html => dom/bindings/test/test_lookupGetter.html
2012-03-30 21:42:20 -07:00
Peter Van der Beken
6fd0c1b877 Bug 738593 - Rename IsProxy to IsDOMBinding; r=mrbkap 2012-03-16 16:44:09 +01:00
Peter Van der Beken
526e189372 Fix for bug 736229 (Stop storing expando objects in the wrapper cache, store the proxy instead). r=jst. 2012-03-14 15:22:10 +01:00
Blake Kaplan
7a4eeff601 Bug 727884 - Make nsWrapperCache::WrapObject take a JSObject scope instead of XPCWrappedNativeScope. r=peterv 2012-03-14 16:25:40 +01:00
Olli Pettay
fac187a287 Bug 713462, don't traverse black content lists, r=mccr8 2011-12-29 23:21:33 +02:00
Peter Van der Beken
34fc1ec4a5 Fix for bug 693258 (Fixes for test failures when turning off new list DOM bindings). r=bz/Waldo.
--HG--
extra : rebase_source : f0b6f8443cc29098ce75c114ff5a343597d9f38c
2011-10-13 15:36:09 +02:00
Peter Van der Beken
73320506a0 Bug 648801 (new DOM list bindings) - Add comments. r=bz/jst/mrbkap.
--HG--
extra : rebase_source : ff9a4b51856ab57229f39c9670f56ca36c017e83
2011-10-05 12:22:26 +02:00
Peter Van der Beken
10dce9197f Bug 648801 (new DOM list bindings) - Add a pref (dom.new_bindings) to enable/disable new bindings. r=bz/jst/mrbkap.
--HG--
extra : rebase_source : 055a7bdac534147baa29d8735794970234c98145
2011-06-29 19:17:37 +02:00
Peter Van der Beken
e7f3e00980 Bug 648801 (new DOM list bindings) - Support expandos on the new proxy-based DOM bindings. r=bz/jst/mrbkap.
--HG--
extra : rebase_source : 367af99c154271aca19f24244be7b5adeffd8a36
2011-05-26 21:58:35 +02:00
Andreas Gal
ed242eb6a7 Bug 648801 (new DOM list bindings) - Cache prototypes and pick up function value from the proto slot instead of caching it locally. r=bz/jst/mrbkap.
--HG--
extra : rebase_source : 56a04a93973f479998d40eb22b015e940419c5e5
2011-05-24 12:45:39 +02:00
Boris Zbarsky
f80fe81f2d Bug 648801 (new DOM list bindings) - Hook up the new code so we actually create the proxy wrappers. r=bz/jst/mrbkap.
--HG--
extra : rebase_source : 5e79a3cb63231502880e380740d0d935c8d0c78d
2011-05-23 17:39:52 +02:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Ben Turner
9af6c69d00 Bug 614347 - 'XPConnect-wrapped JSObjects must clear their gray bit when they are handed out'. r=peterv+gal, a=blocking. 2011-02-16 12:47:08 -08:00
Ben Turner
e29dc44bff Backout 10ebc5ea11ac due to test failures. 2011-02-09 15:29:31 -08:00
Ben Turner
3fb884d2a6 Bug 614347 - 'XPConnect-wrapped JSObjects must clear their gray bit when they are handed out'. r=peterv+gal, a=blocking. 2011-02-09 12:51:16 -08:00
Ben Turner
314aa75aac Backout bug 614347 due to test failures 2011-02-08 22:15:48 -08:00
Ben Turner
3dd9784466 Bug 614347 - 'XPConnect-wrapped JSObjects must clear their gray bit when they are handed out'. r=peterv+gal, a=blocking. 2011-02-08 18:54:14 -08:00
Blake Kaplan
5bc789b070 Bug 580128 - Give objects a way to inform XPConnect that they implement their own JS object in a way that does not involve wrapped natives. r=peterv 2010-09-17 14:54:40 -07:00
Peter Van der Beken
ca8ccf47e0 Fix for bug 482788 (Lightweight DOM wrappers). r=jst, sr=mrbkap. 2009-05-12 22:20:42 +02:00
Peter Van der Beken
90ab2fa166 Fix for bug 480389 (Remove nsIDocument's cached JS object). r/sr=jst.
--HG--
extra : rebase_source : e01297b029bdbcde75521363ad47949dff72cf9b
2009-03-18 18:56:38 +01:00
Peter Van der Beken
2f7fed0ee0 Backing out 18b1811cd104, fix for bug 480389 (Remove nsIDocument's cached JS object), to try to fix orange. 2009-03-19 14:07:03 +01:00
Peter Van der Beken
b704ad4bc0 Fix for bug 480389 (Remove nsIDocument's cached JS object). r/sr=jst.
--HG--
extra : rebase_source : 7e971c32cc922fb866f12f3e037f8c91c09df3bf
2009-03-18 18:56:38 +01:00
Makoto Kato
f62c40f86b Bug 478190 - LLP64 (Windows x64) support for /mozilla/dom. r/sr=peterv 2009-03-15 12:19:53 +09:00
Benjamin Smedberg
ca96f9405e Bug 481102 - Reorganize dom/public, dom/public/base, and dom/src/base to dom/base, r+sr=jst
--HG--
rename : dom/src/base/Makefile.in => dom/base/Makefile.in
rename : dom/src/base/crashtests/244933-1.html => dom/base/crashtests/244933-1.html
rename : dom/src/base/crashtests/275912-1.html => dom/base/crashtests/275912-1.html
rename : dom/src/base/crashtests/327571-1.html => dom/base/crashtests/327571-1.html
rename : dom/src/base/crashtests/327695-1.html => dom/base/crashtests/327695-1.html
rename : dom/src/base/crashtests/329481-1.xhtml => dom/base/crashtests/329481-1.xhtml
rename : dom/src/base/crashtests/338674-1.xhtml => dom/base/crashtests/338674-1.xhtml
rename : dom/src/base/crashtests/346381-1.html => dom/base/crashtests/346381-1.html
rename : dom/src/base/crashtests/359432-1.xhtml => dom/base/crashtests/359432-1.xhtml
rename : dom/src/base/crashtests/369413-1.html => dom/base/crashtests/369413-1.html
rename : dom/src/base/crashtests/372554-1.html => dom/base/crashtests/372554-1.html
rename : dom/src/base/crashtests/404869-1.xul => dom/base/crashtests/404869-1.xul
rename : dom/src/base/crashtests/439206-1.html => dom/base/crashtests/439206-1.html
rename : dom/src/base/crashtests/462947.html => dom/base/crashtests/462947.html
rename : dom/src/base/crashtests/473284.xul => dom/base/crashtests/473284.xul
rename : dom/src/base/crashtests/90613-1.html => dom/base/crashtests/90613-1.html
rename : dom/src/base/crashtests/crashtests.list => dom/base/crashtests/crashtests.list
rename : dom/src/base/domerr.msg => dom/base/domerr.msg
rename : dom/src/base/nsBarProps.cpp => dom/base/nsBarProps.cpp
rename : dom/src/base/nsBarProps.h => dom/base/nsBarProps.h
rename : dom/public/nsDOMCID.h => dom/base/nsDOMCID.h
rename : dom/src/base/nsDOMClassInfo.cpp => dom/base/nsDOMClassInfo.cpp
rename : dom/src/base/nsDOMClassInfo.h => dom/base/nsDOMClassInfo.h
rename : dom/public/nsDOMClassInfoID.h => dom/base/nsDOMClassInfoID.h
rename : dom/public/nsDOMError.h => dom/base/nsDOMError.h
rename : dom/src/base/nsDOMException.cpp => dom/base/nsDOMException.cpp
rename : dom/src/base/nsDOMException.h => dom/base/nsDOMException.h
rename : dom/public/nsDOMJSUtils.h => dom/base/nsDOMJSUtils.h
rename : dom/src/base/nsDOMScriptObjectFactory.cpp => dom/base/nsDOMScriptObjectFactory.cpp
rename : dom/src/base/nsDOMScriptObjectFactory.h => dom/base/nsDOMScriptObjectFactory.h
rename : dom/public/nsDOMScriptObjectHolder.h => dom/base/nsDOMScriptObjectHolder.h
rename : dom/public/nsDOMString.h => dom/base/nsDOMString.h
rename : dom/src/base/nsDOMWindowList.cpp => dom/base/nsDOMWindowList.cpp
rename : dom/src/base/nsDOMWindowList.h => dom/base/nsDOMWindowList.h
rename : dom/src/base/nsDOMWindowUtils.cpp => dom/base/nsDOMWindowUtils.cpp
rename : dom/src/base/nsDOMWindowUtils.h => dom/base/nsDOMWindowUtils.h
rename : dom/src/base/nsFocusController.cpp => dom/base/nsFocusController.cpp
rename : dom/src/base/nsFocusController.h => dom/base/nsFocusController.h
rename : dom/src/base/nsGlobalWindow.cpp => dom/base/nsGlobalWindow.cpp
rename : dom/src/base/nsGlobalWindow.h => dom/base/nsGlobalWindow.h
rename : dom/src/base/nsGlobalWindowCommands.cpp => dom/base/nsGlobalWindowCommands.cpp
rename : dom/src/base/nsGlobalWindowCommands.h => dom/base/nsGlobalWindowCommands.h
rename : dom/src/base/nsHistory.cpp => dom/base/nsHistory.cpp
rename : dom/src/base/nsHistory.h => dom/base/nsHistory.h
rename : dom/public/nsIBaseDOMException.h => dom/base/nsIBaseDOMException.h
rename : dom/public/nsIDOMClassInfo.h => dom/base/nsIDOMClassInfo.h
rename : dom/public/nsIDOMScriptObjectFactory.h => dom/base/nsIDOMScriptObjectFactory.h
rename : dom/public/nsIEntropyCollector.idl => dom/base/nsIEntropyCollector.idl
rename : dom/public/base/nsIFocusController.h => dom/base/nsIFocusController.h
rename : dom/public/nsIJSEventListener.h => dom/base/nsIJSEventListener.h
rename : dom/public/nsIJSNativeInitializer.h => dom/base/nsIJSNativeInitializer.h
rename : dom/public/nsIScriptChannel.idl => dom/base/nsIScriptChannel.idl
rename : dom/public/nsIScriptContext.h => dom/base/nsIScriptContext.h
rename : dom/public/nsIScriptExternalNameSet.h => dom/base/nsIScriptExternalNameSet.h
rename : dom/public/nsIScriptGlobalObject.h => dom/base/nsIScriptGlobalObject.h
rename : dom/public/nsIScriptGlobalObjectOwner.h => dom/base/nsIScriptGlobalObjectOwner.h
rename : dom/public/nsIScriptNameSpaceManager.h => dom/base/nsIScriptNameSpaceManager.h
rename : dom/public/nsIScriptObjectOwner.h => dom/base/nsIScriptObjectOwner.h
rename : dom/public/nsIScriptObjectPrincipal.h => dom/base/nsIScriptObjectPrincipal.h
rename : dom/public/nsIScriptRuntime.h => dom/base/nsIScriptRuntime.h
rename : dom/public/nsIScriptTimeoutHandler.h => dom/base/nsIScriptTimeoutHandler.h
rename : dom/src/base/nsJSEnvironment.cpp => dom/base/nsJSEnvironment.cpp
rename : dom/src/base/nsJSEnvironment.h => dom/base/nsJSEnvironment.h
rename : dom/src/base/nsJSTimeoutHandler.cpp => dom/base/nsJSTimeoutHandler.cpp
rename : dom/src/base/nsJSUtils.cpp => dom/base/nsJSUtils.cpp
rename : dom/src/base/nsJSUtils.h => dom/base/nsJSUtils.h
rename : dom/src/base/nsLocation.cpp => dom/base/nsLocation.cpp
rename : dom/src/base/nsMimeTypeArray.cpp => dom/base/nsMimeTypeArray.cpp
rename : dom/src/base/nsMimeTypeArray.h => dom/base/nsMimeTypeArray.h
rename : dom/public/base/nsPIDOMWindow.h => dom/base/nsPIDOMWindow.h
rename : dom/public/base/nsPIWindowRoot.h => dom/base/nsPIWindowRoot.h
rename : dom/src/base/nsPluginArray.cpp => dom/base/nsPluginArray.cpp
rename : dom/src/base/nsPluginArray.h => dom/base/nsPluginArray.h
rename : dom/src/base/nsScreen.cpp => dom/base/nsScreen.cpp
rename : dom/src/base/nsScreen.h => dom/base/nsScreen.h
rename : dom/src/base/nsScriptNameSpaceManager.cpp => dom/base/nsScriptNameSpaceManager.cpp
rename : dom/src/base/nsScriptNameSpaceManager.h => dom/base/nsScriptNameSpaceManager.h
rename : dom/src/base/nsWindowRoot.cpp => dom/base/nsWindowRoot.cpp
rename : dom/src/base/nsWindowRoot.h => dom/base/nsWindowRoot.h
rename : dom/public/nsWrapperCache.h => dom/base/nsWrapperCache.h
2009-03-11 10:10:19 -04:00