nsIWebProgressListener never fires STATE_IS_WINDOW & STATE_STOP state change events

RESOLVED INVALID

Status

()

Firefox
Untriaged
RESOLVED INVALID
6 years ago
6 years ago

People

(Reporter: Bogdan Stancescu, Unassigned)

Tracking

17 Branch
x86_64
Windows 7
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

6 years ago
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
Build ID: 20121128204232

Steps to reproduce:

In an extension:

var states=[
        "STATE_IS_REQUEST",
        "STATE_IS_DOCUMENT",
        "STATE_IS_NETWORK",
        "STATE_IS_WINDOW",
        "STATE_START",
        "STATE_REDIRECTING",
        "STATE_TRANSFERRING",
        "STATE_NEGOTIATING",
        "STATE_STOP",
        "STATE_RESTORING",
        "STATE_IS_INSECURE",
        "STATE_IS_BROKEN",
        "STATE_IS_SECURE"
];
if (aFlag & Components.interfaces.nsIWebProgressListener.STATE_STOP) {
        var rState="";
        for (var i in states) {
                if (aFlag & Components.interfaces.nsIWebProgressListener[states[i]])
                        rState=rState+", "+states[i];
        }
        Console.log("Request states: "+rState+" for "+aRequest.name); // not sure if this works, I'm using a different mechanism
}



Actual results:

Notice that I'm only following STATE_STOP events. I get STATE_IS_DOCUMENT & STATE_STOP, but never STATE_IS_WINDOW & STATE_STOP.


Expected results:

I should have received a STATE_IS_WINDOW & STATE_STOP event when the page finishes loading. This used to work in earlier versions of Firefox.
(Reporter)

Comment 1

6 years ago
Sorry, my bad -- I was calling addProgressListener() on the browser with the wrong aNotifyMask; I was using NOTIFY_STATE_DOCUMENT instead of NOTIFY_STATE_WINDOW, and this used to work in earlier versions of Firefox. So I seem to have stumbled on a FIXED bug. :)
Status: UNCONFIRMED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.