Yesterday, bug 1444991
<https://bugzilla.mozilla.org/show_bug.cgi?id=1444991> landed on inbound,
which adds support for using WebIDL defined objects directly inside of
XPIDL definition files.

This allows us to avoid using nsISupports to pass WebIDL objects which
don't have corresponding XPIDL interfaces through XPIDL defined methods.

WebIDL objects must be forward declared, like XPIDL types, in the .idl file
which uses them:

  // C++ 'nsFrameLoader', from FrameLoader.webidl
  webidl FrameLoader;

  // C++ 'mozilla::dom::DataTransfer', from DataTransfer.webidl
  webidl DataTransfer;

These types may then be used like XPIDL types in method and attribute
declarations. These types can be used from both C++ and JS code. They are
exposed into Rust as '*const ::libc::c_void`.

- NIka
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to