[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