Backout bug 462517

git-svn-id: svn://10.0.0.236/trunk@256550 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
Olli.Pettay%helsinki.fi 2009-03-17 13:25:04 +00:00
parent 87145cf151
commit f8bc3463c6

View File

@ -99,12 +99,12 @@ public:
// This stores both the content and the frame so that Instantiate calls can be
// avoided if the frame changed in the meantime.
nsObjectLoadingContent *mContent;
nsWeakFrame mFrame;
nsIObjectFrame* mFrame;
nsCString mContentType;
nsCOMPtr<nsIURI> mURI;
nsAsyncInstantiateEvent(nsObjectLoadingContent* aContent,
nsIFrame* aFrame,
nsIObjectFrame* aFrame,
const nsCString& aType,
nsIURI* aURI)
: mContent(aContent), mFrame(aFrame), mContentType(aType), mURI(aURI)
@ -134,7 +134,7 @@ nsAsyncInstantiateEvent::Run()
// Also make sure that we still refer to the same data.
nsIObjectFrame* frame = mContent->
GetExistingFrame(nsObjectLoadingContent::eFlushContent);
if (mFrame.IsAlive() &&
if (frame == mFrame &&
mContent->mURI == mURI &&
mContent->mContentType.Equals(mContentType)) {
if (LOG_ENABLED()) {
@ -790,10 +790,8 @@ nsObjectLoadingContent::HasNewFrame(nsIObjectFrame* aFrame)
return NS_OK;
}
nsIFrame* frame = nsnull;
CallQueryInterface(aFrame, &frame);
nsCOMPtr<nsIRunnable> event =
new nsAsyncInstantiateEvent(this, frame, mContentType, mURI);
new nsAsyncInstantiateEvent(this, aFrame, mContentType, mURI);
if (!event) {
return NS_ERROR_OUT_OF_MEMORY;
}