Closed Bug 820665 Opened 7 years ago Closed 7 years ago
IDL bindings to spec changes in what objects can be used as dictionaries/callbacks/callback-interfaces
Specifically, we have the following changes: 1) All non-Date and non-RegExp objects can be used as dictionaries. 2) All callables can be used as callback functions (that's what we did already, mostly). 3) Callback interfaces can be implemented by all non-platform objects, except for non-single-operation interfaces the object must also not be a Date or a RegExp. 4) Overload resolution and union conversions have similar restrictions (though the spec is not quite there yet; I sent some mail to Cameron).
1) A union that includes a dictionary and is the last non-optional argument must actually be marked optional, just like a dictionary argument. 2) Disallow a union from containing both a nullable type and a dictionary. 3) Now all non-Date and non-RegExp objects can be used as dictionaries, including from overload resolution and union conversion. We don't support dictionaries inside unions yet, or unions as distinguishing args, so the spec changes to do with converting null to dictionaries inside a union or picking the union overload if there is a union containing a dictionary and null is the distinguishing arg value are not relevant to us so far.
There have been more changes since comment 0, especially for callback interfaces. Patches still coming up.
in overload resolution and union conversions. We already did this for normal callback arguments, but not the overload/union case.
Attachment #692177 - Flags: review?(khuey)
Attachment #692177 - Flags: review?(khuey) → review+
Attachment #692176 - Flags: review?(khuey) → review+
Attachment #692185 - Flags: review?(khuey) → review+
Attachment #692332 - Flags: review?(khuey) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/cc603feaa286 https://hg.mozilla.org/integration/mozilla-inbound/rev/e78f9e6ea4d9 https://hg.mozilla.org/integration/mozilla-inbound/rev/ed9af04edd8c https://hg.mozilla.org/integration/mozilla-inbound/rev/e72009158e15
Target Milestone: --- → mozilla20
https://hg.mozilla.org/mozilla-central/rev/cc603feaa286 https://hg.mozilla.org/mozilla-central/rev/e78f9e6ea4d9 https://hg.mozilla.org/mozilla-central/rev/ed9af04edd8c https://hg.mozilla.org/mozilla-central/rev/e72009158e15
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.