зеркало из https://github.com/mozilla/gecko-dev.git
Fix bug 299553 by calling DocLoaderIsEmpty() when we stop the docloader.
r=biesi, sr=darin, a=bsmedberg
This commit is contained in:
Родитель
e759010dda
Коммит
5cd1b86026
|
@ -311,6 +311,17 @@ nsDocLoader::Stop(void)
|
|||
if (mLoadGroup)
|
||||
rv = mLoadGroup->Cancel(NS_BINDING_ABORTED);
|
||||
|
||||
// Make sure to call DocLoaderIsEmpty now so that we reset mDocumentRequest,
|
||||
// etc, as needed. We could be getting into here from a subframe onload, in
|
||||
// which case the call to DocLoaderIsEmpty() is coming but hasn't quite
|
||||
// happened yet, Canceling the loadgroup did nothing (because it was already
|
||||
// empty), and we're about to start a new load (which is what triggered this
|
||||
// Stop() call).
|
||||
|
||||
// XXXbz If the child frame loadgroups were requests in mLoadgroup, I suspect
|
||||
// we wouldn't need the call here....
|
||||
DocLoaderIsEmpty();
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
|
@ -133,6 +133,9 @@ protected:
|
|||
|
||||
virtual nsresult SetDocLoaderParent(nsDocLoader * aLoader);
|
||||
|
||||
// DocLoaderIsEmpty should be called whenever the docloader may be empty.
|
||||
// This method is idempotent and does nothing if the docloader is not in
|
||||
// fact empty.
|
||||
void DocLoaderIsEmpty();
|
||||
|
||||
PRBool IsBusy();
|
||||
|
|
Загрузка…
Ссылка в новой задаче