Open
Description
When a spec defines a partial addition to an existing interface, it will be useful if webidl2js can generate the monkey patch required to implement the addition.
For example, from the Credential Management Level 1 spec:
partial interface Navigator {
[SecureContext, SameObject] readonly attribute CredentialsContainer credentials;
};
Currently webild2js assumes that Navigator
is defined somewhere else in the provided webidl and errors out in parsing as it's not found:
TypeError: Cannot read property 'idl' of undefined
at Transformer._parse (/Users/danyao/sandbox/webidl2js/e2e/node_modules/webidl2js/lib/transformer.js:143:58)
at Transformer.<anonymous> (/Users/danyao/sandbox/webidl2js/e2e/node_modules/webidl2js/lib/transformer.js:250:12)
at Generator.next (<anonymous>)
at onFulfilled (/Users/danyao/sandbox/webidl2js/e2e/node_modules/co/index.js:65:19)
at <anonymous>
What we need is probably something like this:
const CredentialsContainer = require("./CredentialsContainer");
navigator.credentials = Object.create(CredentialsContainer.interface.prototype);
We might need to also account for the fact that CredentialsContainer
may be provided natively by the UA, so may not have the interface
attribute (see #81).
Metadata
Metadata
Assignees
Labels
No labels