[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
mjs at apple.com
mjs at apple.com
Wed Dec 22 11:18:23 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 17a175d00f88c963186db8b283e956f09d4e5e50
Author: mjs at apple.com <mjs at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sun Jul 18 00:15:31 2010 +0000
2010-07-16 Maciej Stachowiak <mjs at apple.com>
Reviewed by Sam Weinig.
Asynchronous policy checks make FrameLoader think it is done loading prematurely
https://bugs.webkit.org/show_bug.cgi?id=42489
This caused many (~100) layout tsts to fail under WebKit2.
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe): Right after loading a new subframe,
if m_complete is true, do not consider it done if it has a provisional loader.
This will happen in the case where the policy check is asynchronous.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::subframeIsLoading): For similar reasons,
consider a subframe to be loading if it has a policy decision pending.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 5571fb2..982e657 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-07-16 Maciej Stachowiak <mjs at apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Asynchronous policy checks make FrameLoader think it is done loading prematurely
+ https://bugs.webkit.org/show_bug.cgi?id=42489
+
+ This caused many (~100) layout tsts to fail under WebKit2.
+
+ * loader/SubframeLoader.cpp:
+ (WebCore::SubframeLoader::loadSubframe): Right after loading a new subframe,
+ if m_complete is true, do not consider it done if it has a provisional loader.
+ This will happen in the case where the policy check is asynchronous.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::subframeIsLoading): For similar reasons,
+ consider a subframe to be loading if it has a policy decision pending.
+
2010-07-15 Qi Zhang <qi.2.zhang at nokia.com>
Reviewed by Kenneth Rohde Christiansen.
diff --git a/WebCore/loader/FrameLoader.cpp b/WebCore/loader/FrameLoader.cpp
index 51a0695..361e9cd 100644
--- a/WebCore/loader/FrameLoader.cpp
+++ b/WebCore/loader/FrameLoader.cpp
@@ -2333,6 +2333,9 @@ bool FrameLoader::subframeIsLoading() const
documentLoader = childLoader->provisionalDocumentLoader();
if (documentLoader && documentLoader->isLoadingInAPISense())
return true;
+ documentLoader = childLoader->policyDocumentLoader();
+ if (documentLoader)
+ return true;
}
return false;
}
diff --git a/WebCore/loader/SubframeLoader.cpp b/WebCore/loader/SubframeLoader.cpp
index f5a4c18..f5ced18 100644
--- a/WebCore/loader/SubframeLoader.cpp
+++ b/WebCore/loader/SubframeLoader.cpp
@@ -272,7 +272,7 @@ Frame* SubframeLoader::loadSubframe(HTMLFrameOwnerElement* ownerElement, const K
// FIXME: In this case the Frame will have finished loading before
// it's being added to the child list. It would be a good idea to
// create the child first, then invoke the loader separately.
- if (frame->loader()->state() == FrameStateComplete)
+ if (frame->loader()->state() == FrameStateComplete && !frame->loader()->policyDocumentLoader())
frame->loader()->checkCompleted();
return frame.get();
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list