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)

x86
Windows Server 2003
defect
Not set
normal

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...
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.