mozilla

Compare Revisions

WebIDL bindings

Change Revisions

Revision 370625:

Revision 370625 by amccreight on

Revision 370643:

Revision 370643 by Bzbarsky on

Title:
WebIDL bindings
WebIDL bindings
Slug:
Mozilla/WebIDL_bindings
Mozilla/WebIDL_bindings
Tags:
"WebIDL"
"WebIDL"
Content:

Revision 370625
Revision 370643
n902    <h2>n902    <h2 id="Implementing_WebIDL_using_Javascript">
nn915  readonly attribute long otherValue;
n919      Next, construct the JS implementation as an XPCOM componentn920      Next, construct the JS implementation as an XPCOM component
>.&nbsp; <a href="/en-US/docs/How_to_Build_an_XPCOM_Component_in_J>.&nbsp; <a href="/en-US/docs/How_to_Build_an_XPCOM_Component_in_J
>avascript" title="/en-US/docs/How_to_Build_an_XPCOM_Component_in_>avascript" title="/en-US/docs/How_to_Build_an_XPCOM_Component_in_
>Javascript">Basic directions</a> for how to do this can be found >Javascript">Basic directions</a> for how to do this can be found 
>elsewhere on MDN.&nbsp; Use the same contract ID as you specified>elsewhere on MDN.&nbsp; Use the same contract ID as you specified
> in the WebIDL file.&nbsp; The class ID doesn't matter, except th> in the WebIDL file.&nbsp; The class ID doesn't matter, except th
>at it should be a newly generated one.&nbsp; For QueryInterface, >at it should be a newly generated one.&nbsp; For QueryInterface, 
>you only need to implement nsISupports, not anything correspondin>you only need to implement nsISupports, not anything correspondin
>g to the WebIDL interface.&nbsp; The name should be distinct from>g to the WebIDL interface.&nbsp; The name should be distinct from
> the name of the interface, to avoid confusing error messages.&nb> the name of the interface, to avoid confusing error messages.&nb
>sp; Attributes are implemented as properties on the JS object, wh>sp; Attributes are implemented as properties on the JS object or 
>ereas methods are implemented as methods.&nbsp; Note that any oth>its prototype chain, whereas methods are implemented as methods.&
>er instances of the interface that you are passed in as arguments>nbsp; Note that any other instances of the interface that you are
> are the full web-facing version of the object, and not the JS im> passed in as arguments are the full web-facing version of the ob
>plementation, so you currently cannot access any private data.>ject, and not the JS implementation, so you currently cannot acce
 >ss any private data.
t937  doNothing: function() {}t938  doNothing: function() {},
939  get otherValue() { return this.invisibleValue - 4; }

Back to History