Remove or fix references to non-scriptable interfaces from scriptable ones
Categories
(Core :: XPCOM, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox126 | --- | fixed |
People
(Reporter: zombie, Assigned: zombie)
References
Details
(Whiteboard: [addons-jira])
Attachments
(2 files)
Patch from bug 1872918 found a few non-scriptable interfaces referenced from scriptable ones:
interface nsIAsyncVerifyRedirectReadyCallback {}
interface nsICRLiteTimestamp {}
interface nsIWebAuthnRegisterArgs {}
interface nsIWebAuthnRegisterPromise {}
interface nsIWebAuthnSignArgs {}
interface nsIWebAuthnSignPromise {}
At least some look like they're meant to be [scriptable]
, but it's not 100% clear, so filing this as a followup to investigate and fix.
Assignee | ||
Comment 1•2 years ago
|
||
A more complete list:
interface nsIAsyncVerifyRedirectReadyCallback {}
interface nsICRLiteTimestamp {}
interface nsIInputAvailableCallback {}
interface nsIScriptElement {}
interface nsIThreadObserver {}
interface nsIUDPSocketSyncListener {}
interface nsIWebAuthnRegisterArgs {}
interface nsIWebAuthnRegisterPromise {}
interface nsIWebAuthnSignArgs {}
interface nsIWebAuthnSignPromise {}
interface nsIXPCScriptable {}
I guess this means a method that takes this kind of argument can't actually be called nor implemented by script. XPCWrappedNative::GatherProtoScriptable() is one use of one of these methods (nsIXPCScriptable is used by getScriptableHelper()), and it handles the method not working, so it looks like that is intentional.
We could require methods or attributes on scriptable interfaces that include non-scriptable arguments or return values be marked noscript maybe. I'm not sure how annoying that check would be to do.
Assignee | ||
Updated•2 years ago
|
Comment 4•2 years ago
|
||
(In reply to Andrew McCreight [:mccr8] from comment #3)
We could require methods or attributes on scriptable interfaces that include non-scriptable arguments or return values be marked noscript maybe. I'm not sure how annoying that check would be to do.
This is what I would like us to do.
Assignee | ||
Comment 5•1 years ago
|
||
Updated•1 years ago
|
Assignee | ||
Updated•1 years ago
|
Updated•1 years ago
|
Updated•1 years ago
|
Updated•1 years ago
|
Updated•1 year ago
|
Assignee | ||
Comment 6•1 year ago
|
||
Depends on D202104
Comment 8•1 year ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/0102cdec251f
https://hg.mozilla.org/mozilla-central/rev/a951e19e6158
Description
•