I am trying to make sense of whatever I learned about NPRuntime. Here is a example of NPRuntime plugin from from mozilla-central of NPRuntime plugin, which mentions following lines
145 // ! Scriptability related code !
146 // ==============================
148 // here the plugin is asked by Mozilla to tell if it is scriptable
149 // we should return a valid interface id and a pointer to
150 // nsScriptablePeer interface which we should have implemented
151 // and which should be defined in the corressponding *.xpt file
152 // in the bin/components folder
Now AFAIK NPRuntime desn't require to copy xpt file, xpt file is specific to XPCOM and NPRuntime does not use XPCOM. So what does above statement mean ?
That comment lies, both about xpt and the nsScriptablePeer, as you can see from the actual code. Please file a bug in Core:Plugins about this and mention it in a comment (bonus points for the patch!)