274712 - make sure app starts !

git-svn-id: svn://10.0.0.236/branches/PREFERENCES_20050101_BRANCH@169165 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
ben%bengoodger.com
2005-02-13 04:49:59 +00:00
parent e2e870aa3f
commit c53d8f1934
2 changed files with 16 additions and 4 deletions

View File

@@ -2676,14 +2676,17 @@ nsXULDocument::LoadOverlay(const nsAString& aURL, nsIObserver* aObserver)
if (!obs)
mOverlayLoadObservers.Put(uri, aObserver);
}
return LoadOverlayInternal(uri, PR_TRUE);
PRBool shouldReturn;
return LoadOverlayInternal(uri, PR_TRUE, &shouldReturn);
}
nsresult
nsXULDocument::LoadOverlayInternal(nsIURI* aURI, PRBool aIsDynamic)
nsXULDocument::LoadOverlayInternal(nsIURI* aURI, PRBool aIsDynamic, PRBool* aShouldReturn)
{
nsresult rv;
*aShouldReturn = PR_FALSE;
nsCOMPtr<nsIScriptSecurityManager> secMan = do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv, rv);
@@ -2748,6 +2751,7 @@ nsXULDocument::LoadOverlayInternal(nsIURI* aURI, PRBool aIsDynamic)
// prototype overlay load's completion. When the content
// sink completes, it will trigger an EndLoad(), which'll
// wind us back up here, in ResumeWalk().
*aShouldReturn = PR_TRUE;
return NS_OK;
}
@@ -2761,6 +2765,8 @@ nsXULDocument::LoadOverlayInternal(nsIURI* aURI, PRBool aIsDynamic)
PR_LOG(gXULLog, PR_LOG_DEBUG, ("xul: overlay was cached"));
// If this is a dynamic overlay and we have the prototype in the chrome
// cache already, we must manually call ResumeWalk.
if (aIsDynamic)
return ResumeWalk();
}
@@ -2816,6 +2822,8 @@ nsXULDocument::LoadOverlayInternal(nsIURI* aURI, PRBool aIsDynamic)
// overlay load's completion. When the content sink
// completes, it will trigger an EndLoad(), which'll wind
// us back in ResumeWalk().
if (!aIsDynamic)
*aShouldReturn = PR_TRUE;
}
return NS_OK;
}
@@ -3012,7 +3020,10 @@ nsXULDocument::ResumeWalk()
mUnloadedOverlays->RemoveElementAt(count - 1);
return LoadOverlayInternal(uri, PR_FALSE);
PRBool shouldReturn;
rv = LoadOverlayInternal(uri, PR_FALSE, &shouldReturn);
if (shouldReturn || NS_FAILED(rv))
return rv;
}
// If we get here, there is nothing left for us to walk. The content

View File

@@ -207,7 +207,8 @@ protected:
nsIPrincipal* aDocumentPrincipal,
nsIParser** aResult);
nsresult LoadOverlayInternal(nsIURI* aURI, PRBool aIsDynamic);
nsresult
LoadOverlayInternal(nsIURI* aURI, PRBool aIsDynamic, PRBool* aShouldReturn);
nsresult ApplyPersistentAttributes();
nsresult ApplyPersistentAttributesToElements(nsIRDFResource* aResource,