Closed Bug 271808 Opened 20 years ago Closed 20 years ago

object of nsIMsgProgress interface realizes nsIMsgProgress and nsIWebProgressListener

Categories

(Core :: XPCOM, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: surkov, Assigned: dougt)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8a5) Gecko/20041122
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8a5) Gecko/20041122

Components.classes["@mozilla.org/messenger/progress;1"].createInstance(Components.interfaces.nsIMsgProgress)
realizes methods of nsIMsgProgress and nsIWebProgressListener simultaneously.

Reproducible: Always
Steps to Reproduce:
var progress =
Components.classes["@mozilla.org/messenger/progress;1"].createInstance().QueryInterface(Components.interfaces.nsIMsgProgress);
var str = "";
for(var i in progress) str+=i+'\n';
alert(str);
Actual Results:  
realized methods:

QueryInterface

//nsIWebProgressListener
onStateChange
onProgressChange
onLocationChange
onStatusChange
onSecurityChange

//nsIMsgProgress
openProgressDialog
closeProgressDialog
registerListener
unregisterListener
getPrompter
processCanceledByUser
msgWindow

//nsIWebProgressListener
STATE_START
STATE_REDIRECTING
STATE_TRANSFERRING
STATE_NEGOTIATING
STATE_STOP
STATE_IS_REQUEST
STATE_IS_DOCUMENT
STATE_IS_NETWORK
STATE_IS_WINDOW
STATE_IS_INSECURE
STATE_IS_BROKEN
STATE_IS_SECURE
STATE_SECURE_HIGH
STATE_SECURE_MED
STATE_SECURE_LOW

Expected Results:  
Components.classes["@mozilla.org/messenger/progress;1"].createInstance(Components.interfaces.nsIMsgProgress)
should realize nsIMsgProgress only.
http://lxr.mozilla.org/seamonkey/source/mailnews/base/public/nsIMsgProgress.idl#47
says:

 47 interface nsIMsgProgress: nsIWebProgressListener {

So this is invalid.

Also note that with interface flattening and classinfo, you're not guaranteed
that only the interface you asked for will be exposed, in general.  You _are_
guaranteed that the interface you asked for will be exposed.
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.