[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

andersca at apple.com andersca at apple.com
Sun Feb 20 23:11:19 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit 866b5d48399873b56550cf11e3c4130a67591d61
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Jan 18 20:34:39 2011 +0000

    2011-01-18  Anders Carlsson  <andersca at apple.com>
    
            Reviewed by Darin Adler.
    
            Assertion when loading two URLs in quick succession
            https://bugs.webkit.org/show_bug.cgi?id=52649
            <rdar://problem/8764645>
    
            If beginLoad is called twice without didStartProvisionalLoad being called in between,
            m_pendingProvisionalSandboxExtension would be non-null and an assert would fire.
    
            * WebProcess/WebPage/WebPage.cpp:
            (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
            Instead of asserting that m_pendingProvisionalSandboxExtension is null, invalidate it
            if it is not null, since that's valid.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76046 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index 3a3608b..6907c12 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/ChangeLog
@@ -1,5 +1,21 @@
 2011-01-18  Anders Carlsson  <andersca at apple.com>
 
+        Reviewed by Darin Adler.
+
+        Assertion when loading two URLs in quick succession
+        https://bugs.webkit.org/show_bug.cgi?id=52649
+        <rdar://problem/8764645>
+
+        If beginLoad is called twice without didStartProvisionalLoad being called in between,
+        m_pendingProvisionalSandboxExtension would be non-null and an assert would fire.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
+        Instead of asserting that m_pendingProvisionalSandboxExtension is null, invalidate it
+        if it is not null, since that's valid.
+
+2011-01-18  Anders Carlsson  <andersca at apple.com>
+
         Reviewed by Sam Weinig.
 
         Implement NPN_PopUpContextMenu
diff --git a/Source/WebKit2/WebProcess/WebPage/WebPage.cpp b/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
index 2259387..55f6eac 100644
--- a/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -1590,7 +1590,13 @@ void WebPage::SandboxExtensionTracker::beginLoad(WebFrame* frame, const SandboxE
 {
     ASSERT(frame->isMainFrame());
 
-    ASSERT(!m_pendingProvisionalSandboxExtension);
+    // If we get two beginLoad calls in succession, without a provisional load starting, then
+    // m_pendingProvisionalSandboxExtension will be non-null. Invalidate and null out the extension if that is the case.
+    if (m_pendingProvisionalSandboxExtension) {
+        m_pendingProvisionalSandboxExtension->invalidate();
+        m_pendingProvisionalSandboxExtension = nullptr;
+    }
+        
     m_pendingProvisionalSandboxExtension = SandboxExtension::create(handle);
 }
 
@@ -1633,7 +1639,7 @@ void WebPage::SandboxExtensionTracker::didFailProvisionalLoad(WebFrame* frame)
         return;
 
     m_provisionalSandboxExtension->invalidate();
-    m_provisionalSandboxExtension = 0;
+    m_provisionalSandboxExtension = nullptr;
 }
 
 bool WebPage::hasLocalDataForURL(const KURL& url)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list