Closed
Bug 758756
Opened 13 years ago
Closed 7 years ago
XPConnect confused by (controller) objects which don't implement QueryInterface()
Categories
(Core :: XPConnect, defect)
Tracking
()
RESOLVED
INACTIVE
People
(Reporter: sgautherie, Unassigned)
References
(Blocks 1 open bug)
Details
(In reply to neil@parkwaycc.co.uk from bug 756572 comment #17)
> This is an XPConnect bug.
>
> When showing the popup, we query for the popup state, which flushes layout.
> This then decides to go a delete a bunch of frames, presumably for the
> hidden location bar. Then (presumably) the inner input element then tries to
> clear the command context on all of its controllers.
>
> Now, not all controllers have a command context. So, they call get
> QueryInterface called on them to find out whether they do. But, there's a
> controller that doesn't have a QueryInterface method on it. And the way that
> XPConnect now uses to call QueryInterface causes a strict JS warning when
> QueryInterface doesn't exist. Worse, the warning gets reported for the
> original property access, which is actually now being executed...
(In reply to neil@parkwaycc.co.uk from bug 756572 comment #21)
> (In reply to Serge Gautherie from comment #19)
> > Are you saying that XPConnect should just silently ignore the missing
> > QueryInterface?
> Yes; normally you don't need a QueryInterface to pass a JS object to a C++
> object, as long as the JS object has all the other methods it's OK.
In short:
Idea 1. Should not report this case :-)
Idea 2. At least, should be more explicit than currently confusing :-|
Idea 3. At least maybe make this case mandatory (as an (documented) error) :-/
Idea 4. If all fails, then we're in some trouble...
Comment 1•7 years ago
|
||
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INACTIVE
You need to log in
before you can comment on or make changes to this bug.
Description
•