зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1611096 - Check webprogresslistener as a fallback for non loaded documents r=rcaliman,ochameau
Depends on D62624 With the previous implementation, an uninitialized document could be returned as a root node. Here we try to be more explicit and wait for a correct root node. However in some cases a document can remain uninitialized and will never transition to any other state. If the document is uninitialized but is not currently loading, we should consider it as a valid root node. Differential Revision: https://phabricator.services.mozilla.com/D62625
This commit is contained in:
Родитель
d5b84fb6fe
Коммит
9483eb9c71
|
@ -395,12 +395,20 @@ var WalkerActor = protocol.ActorClassWithSpec(walkerSpec, {
|
|||
},
|
||||
|
||||
_isRootDocumentReady() {
|
||||
if (!this.rootDoc) {
|
||||
return false;
|
||||
if (this.rootDoc) {
|
||||
const { readyState } = this.rootDoc;
|
||||
if (readyState == "interactive" || readyState == "complete") {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
const { readyState } = this.rootDoc;
|
||||
return readyState == "interactive" || readyState == "complete";
|
||||
// A document might stay forever in unitialized state.
|
||||
// If the target actor is not currently loading a document,
|
||||
// assume the document is ready.
|
||||
const webProgress = this.rootDoc.defaultView.docShell.QueryInterface(
|
||||
Ci.nsIWebProgress
|
||||
);
|
||||
return !webProgress.isLoadingDocument;
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
Загрузка…
Ссылка в новой задаче