Commit Graph

415 Commits

Author SHA1 Message Date
Boris Zbarsky
9edff1255f Bug 827158 part 11. Move HTMLObjectElement to Web IDL bindings. r=peterv 2013-01-06 18:55:14 -05:00
Peter Van der Beken
f7e510d602 Fix for bug 842799 (|Document.prototype instanceof Node| inside <script> returns false). r=bz. 2013-02-22 10:25:24 +01:00
Peter Van der Beken
715d9242cf Fix for bug 825628 (Implement NamedConstructor) - add codegen support for NamedConstructor. r=bz. 2013-01-22 11:51:15 +01:00
Boris Zbarsky
da102c62d0 Bug 838691 part 1. Add support in Prefable for calling a function to determine whether a property should be exposed in a WebIDL binding. r=peterv 2013-02-19 11:54:40 -05:00
Boris Zbarsky
15e362a06e Bug 839088 part 1. Add a way to throw a JS::Value on an ErrorResult. r=peterv 2013-02-19 11:54:40 -05:00
Masatoshi Kimura
6e1f177fc5 Bug 841802 - Part 1: Add ErrorResult::ClearMessage(). r=bz 2013-02-19 22:30:28 +09:00
Peter Van der Beken
8c1790590c Fix for bug 838269 (Support cross-global |... instanceof DOMInterface|). r=bz. 2013-01-08 19:05:36 +01:00
Peter Van der Beken
6c577c96b6 Fix for bug 838228 (toString on an Xray for an interface object should stringify like Function.prototype.toString). r=bz. 2013-02-01 15:33:58 +01: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
Peter Van der Beken
cefe1bd88b Fix for bug 816088 (webIDL bindings try to extract nsISupports from the global object in static properties in workers). r=bz. 2012-12-03 17:07:49 +01:00
Ed Morley
f91e010656 Backout f3c145bd1dd2 & 5075690572a9 for OS X startup failures 2013-01-28 11:08:21 +00:00
Peter Van der Beken
87d44d16e4 Fix for bug 816088 (webIDL bindings try to extract nsISupports from the global object in static properties in workers). r=bz. 2012-12-03 17:07:49 +01:00
Peter Van der Beken
d27b874781 Fix for bug 827546 (|non editable element|.QueryInterface(Components.interfaces.nsIDOMNSEditableElement) does not throw anymore) - throw on QI failure. r=bz. 2013-01-14 11:29:49 +01:00
Andrew McCreight
6c50b4a672 Bug 777385 - Support (some) Paris bindings objects as weak map keys. r=peterv
This adds support for many kinds of Paris bindings objects as weak map keys.
This patch supports nsISupports objects as well as non-cycle-collected
non-nsISupports objects. What is needed for support is to preserve any wrapper,
if the object is wrapper cached. In other cases, we don't need to do anything.
2012-11-09 10:59:02 -08:00
Jeff Walden
5c53f406c8 Bug 826447 - Change all the proxy API signatures to take unsigned flags, rather than bool set, so that it's easier to find all tests of JSRESOLVE_ASSIGNING. r=bz 2013-01-03 15:31:36 -06:00
Nicholas Nethercote
c968ad4f6d Bug 824883 - Fix three warnings in dom/ code. r=bz. 2012-12-26 20:24:59 -08:00
Peter Van der Beken
791d8034b3 Fix for bug 820577 (Support reparenting for new DOM binding objects). r=bholley/bz. 2012-09-26 16:17:46 +02:00
Jeff Walden
8a6657de57 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Boris Zbarsky
02e2512f87 Bug 818379. Make sure interface objects have a 'length' property even if they're not real function objects. r=peterv 2012-12-14 14:10:49 -05:00
Boris Zbarsky
1364e75c6a Bug 815803. Now that JSSLOT_PROXY_PRIVATE == 0, simplify binding code that had to deal with different slot indices on proxy and non-proxy objects. r=peterv 2012-12-06 15:21:19 -05:00
Boris Zbarsky
bd1ab1ab52 Bug 816376. Create vanilla objects for the interface object of callback interfaces. r=peterv 2012-12-06 15:21:18 -05:00
Peter Van der Beken
60e5ad44e3 Fix for bug 814821 (Dromaeo dom-traverse regression from bug 812333) - part 1: use qsObjectHelper instead of xpcObjectHelper in HandleNewBindingWrappingFailure. r=bz. 2012-11-27 10:20:04 +01:00
Ehsan Akhgari
195229396e Backed out 6 changesets (bug 814821, bug 815158, bug 814195) for test failures
Backed out changeset 0c2011091748 (bug 815158)
Backed out changeset 9d70b4460508 (bug 814195)
Backed out changeset bf8746658a72 (bug 814821)
Backed out changeset e73366b088d7 (bug 814821)
Backed out changeset 49fc6d535c41 (bug 814821)
Backed out changeset 987aea26a43a (bug 814821)
2012-11-27 16:30:39 -05:00
Peter Van der Beken
3e01b95368 Fix for bug 814821 (Dromaeo dom-traverse regression from bug 812333) - part 1: use qsObjectHelper instead of xpcObjectHelper in HandleNewBindingWrappingFailure. r=bz. 2012-11-27 10:20:04 +01:00
Peter Van der Beken
be8ead62cf Fix for bug 812333 (Replace Node quickstubs with new binding methods) - part 2: install Node's binding methods on the XPConnect proto. r=bz. 2012-11-22 12:09:41 +01:00
Bobby Holley
23af94cca4 Bug 800915 - Remove the cx parameter and simplify various APIs. r=sfink,bz
If callers want to throw, it's now their responsibility.
2012-11-14 09:56:26 -08:00
Masatoshi Kimura
77443174d4 Bug 801487 - Implement ErrorResult::ThrowTypeError. r=bz 2012-11-06 18:23:14 -05:00
Boris Zbarsky
0ca99ca7bf Bug 807548. Enumerating an Xray should not see the 'constructor' property on DOM prototypes unless we're told to include non-enumerable properties. r=peterv 2012-11-05 11:58:03 -05:00
Peter Van der Beken
29377d8150 Fix for bug 763643 (Implement static operations and attributes for WebIDL). r=bz. 2012-10-19 09:34:28 +02:00
Peter Van der Beken
ef1ddfee65 Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript) - followup to fix problem pointed out by reviewer. r=bz. 2012-10-29 21:55:13 +01:00
Peter Van der Beken
74736c6026 Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript). r=bz.
Switch from using the interface objects from the Xrays compartment to wrapping
interface objects and interface prototype objects in Xrays. Make dom binding
Xrays deal with both instance objects and interface and interface prototype
objects.
2012-10-09 20:50:27 +02:00
Boris Zbarsky
c31bc8e951 Bug 793267. Add support for [Unforgeable] in WebIDL. r=peterv
Unforgeable attributes are defined directly on the object, not on the
prototype.  So we keep them in a separate spec array and define them
during object creation as needed.

This means that we have to pass that separate spec array to the Xray
helpers, unfortunately, which somewhat complicates those.
2012-10-24 16:10:49 -04:00
Olli Pettay
b34aef8a32 Bug 797806 - Helper method to handle stringified JSON in C++, part2, r=khuey 2012-10-16 18:37:44 +03:00
Olli Pettay
2f72f31a9d Bug 797806 - Helper method to handle stringified JSON in C++, r=khuey 2012-10-16 17:52:10 +03:00
Peter Van der Beken
bd9ee3a1da Fix for bug 798264 (Split property tables). r=bz. 2012-10-09 20:50:05 +02:00
Boris Zbarsky
94e2400252 Bug 792890. Fix JS-wrapping of callback interfaces to just return the underlying JS object. r=peterv
There are several changes here:

1) When wrapping a callback interface object for JS, just extract the
   underlying JSObject from inside it and hand that object out.

2) Flag callback interface descriptors as "not concrete" (only matters
   for cases when they have constants on the interface object) and not
   wrappercached (will catch bugs if someone tries to treat them as a
   Gecko object).

3) Fix a preexisting bug in sequence wrapping where we'd try to
   JS_DefineElement twice if we were wrapping a null value for a
   sequence of nullable interface objects.
2012-10-10 15:57:57 -04:00
Bobby Holley
351440d25e Bug 761695 - Implement expando traps for ProxyXrayTraits DOMXrayTraits. r=peterv
For new DOM proxies, we could probably use the Xray expando machinery for the
regular expando object as well, and free up one of the reserved slots. That's
more than I want to bite off for the moment, though.

I also decided not to block on bug 760095 and just kick the problem of globals
with new binding down the road a little bit.
2012-10-05 18:59:23 +02:00
Bill McCloskey
d293598030 Bug 787856 - Convert js::GetObjectProto to support lazy protos (r=bhackett) 2012-09-03 16:42:10 -07:00
Luke Wagner
55107a5229 Bug 625199 - s/JSAutoEnterCompartment/JSAutoCompartment/ and make it infallible (r=bholley) 2012-08-21 18:42:53 -07:00
Peter Van der Beken
2e8d72e06f Fix for bug 768692 (Move DOM list binding generation to the new DOM binding codegen). r=bzbarsky. 2012-05-22 15:46:20 +02:00
Eric Faust
04a1c1ed79 Bug 747287 - Followup: Add cast to fix build. (r=me) 2012-08-07 22:57:07 -07:00
Eric Faust
369d4aba95 Bug 781040 - Fault in methods and accessors with JSJitinfos on ResolveProperty. (r=bz,benjamin) 2012-08-07 22:26:19 -07:00
Eric Faust
afcea81d2c Bug 775788 - Modify JSFunctionSpec to accept JSJitInfos. (r=luke) 2012-08-07 22:26:19 -07:00
Boris Zbarsky
7e384e2901 Bug 747287 - Part 3: Add callback interface to allow JIT to interrogate DOM. (r=peterv) 2012-08-07 22:26:18 -07:00
Eric Faust
33361ddd97 Bug 747287 - Part 1: Generate JSJitInfos and specialized accessors for Paris bindings. (r=peterv) 2012-08-07 22:26:18 -07:00
Ms2ger
c2eac68e6a Bug 774705 - Part b: Throw a TypeError when trying to construct an interface without a constructor; r=bz 2012-08-04 09:44:00 +02:00
Ed Morley
a246794e16 Revert inbound to 3d5d1daa2505 to stop OS X M5 failures (backout not clean/could have been a bad merge) on a CLOSED TREE 2012-08-04 18:05:15 +01:00
Ms2ger
88898be73a Bug 774705 - Part b: Throw a TypeError when trying to construct an interface without a constructor; r=bz 2012-08-04 09:44:00 +02:00