My addon worked on FF41. Now I want to migrate on e10s. Use Firefox developer edition v43.
The example observer (c++).
NS_IMETHODIMP CFFObserver::Observe( nsISupports* aSubject, const char* aTopic, const char16_t* aData ) 
{ ......... 
    if ( lstrcmpA( aTopic, "http-on-modify-request" ) == 0 ) 
    { 
        CFFObserver::onSending( aSubject ); 
    } ..........    
} 
void CFFObserver::onSending( nsISupports* IHttpChannel ) 
{ 
.............. 
    nsISupports* IDOMWindowOwner = m_gate.Channel_GetOwnerWindow( IHttpChannel ); 
................. 
}
The example JS helper.
Channel_GetOwnerWindow:
function( objChannel ) // This option does not worked in v43[e10s]; <br>
{ 
    try 
    { 
        var notificationCallbacks = objChannel.QueryInterface(Components.interfaces.nsIHttpChannel).notificationCallbacks; 
        if ( !notificationCallbacks ) 
        { 
            var loadGroup = objChannel.QueryInterface(Components.interfaces.nsIRequest).loadGroup.notificationCallbacks; 
            if ( loadGroup ) notificationCallbacks = loadGroup.notificationCallbacks; 
        } 
        if ( notificationCallbacks ) 
        { 
            return notificationCallbacks.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                                                                    .getInterface(Components.interfaces.nsIDOMWindow) 
                                                                    .QueryInterface(Components.interfaces.nsISupports); 
        } 
    } 
    catch ( err ) 
    { 
        this.ErrorOut( err ); 
    }   
    return null;
}
Below code works but I cannot get document from getting nsIDOMWindow.
...... 
objWindow.QueryInterface(Components.interfaces.nsIDOMWindow).document.QueryInterface(Components.interfaces.nsISupports) 
is error - no interface....
Channel_GetOwnerWindow: 
function( objChannel ) 
{   
    try 
    { 
        return objChannel.QueryInterface(Components.interfaces.nsIHttpChannel) 
                                            .notificationCallbacks 
                                            .getInterface(Components.interfaces.nsILoadContext)
                                            .topFrameElement 
                                            .QueryInterface(Components.interfaces.nsISupports); 
    } 
    catch ( err ) 
    { 
        this.ErrorOut( err ); 
    }   
    return null; 
}
Help me please resolve this problem. Thanks.
that werent needed, fixed non closing bolds – mikek3332002 Oct 06 '15 at 05:41