[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

beidson at apple.com beidson at apple.com
Wed Dec 22 11:35:26 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit b5ff7960e3a172ced5f6f387411252b42efea6b5
Author: beidson at apple.com <beidson at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jul 30 00:40:39 2010 +0000

    2010-07-29  Brady Eidson  <beidson at apple.com>
    
            Reviewed by Sam Weinig.
    
            Setting empty document schemes on the WKContext shouldn't start the WebProcess
            <rdar://problem/8253734> and https://bugs.webkit.org/show_bug.cgi?id=43222
    
            * UIProcess/WebContext.cpp:
            (WebKit::WebContext::ensureWebProcess):
            (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
            * UIProcess/WebContext.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64324 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 6b2b4b9..0745e3e 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -2,6 +2,18 @@
 
         Reviewed by Sam Weinig.
 
+        Setting empty document schemes on the WKContext shouldn't start the WebProcess
+        <rdar://problem/8253734> and https://bugs.webkit.org/show_bug.cgi?id=43222
+        
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::ensureWebProcess):
+        (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
+        * UIProcess/WebContext.h:
+
+2010-07-29  Brady Eidson  <beidson at apple.com>
+
+        Reviewed by Sam Weinig.
+
         Make all public facing client setters take const pointers
         https://bugs.webkit.org/show_bug.cgi?id=43219
 
diff --git a/WebKit2/UIProcess/WebContext.cpp b/WebKit2/UIProcess/WebContext.cpp
index feecbda..b7b03a0 100644
--- a/WebKit2/UIProcess/WebContext.cpp
+++ b/WebKit2/UIProcess/WebContext.cpp
@@ -106,6 +106,9 @@ void WebContext::ensureWebProcess()
     m_process = WebProcessManager::shared().getWebProcess(this);
 
     m_process->send(WebProcessMessage::SetShouldTrackVisitedLinks, 0, CoreIPC::In(m_historyClient.shouldTrackVisitedLinks()));
+
+    for (HashSet<String>::iterator it = m_schemesToRegisterAsEmptyDocument.begin(), end = m_schemesToRegisterAsEmptyDocument.end(); it != end; ++it)
+        m_process->send(WebProcessMessage::RegisterURLSchemeAsEmptyDocument, 0, CoreIPC::In(*it));
 }
 
 WebPageProxy* WebContext::createWebPage(WebPageNamespace* pageNamespace)
@@ -228,7 +231,10 @@ void WebContext::setAdditionalPluginsDirectory(const WebCore::String& directory)
 
 void WebContext::registerURLSchemeAsEmptyDocument(const String& urlScheme)
 {
-    ensureWebProcess();
+    m_schemesToRegisterAsEmptyDocument.add(urlScheme);
+
+    if (!hasValidProcess())
+        return;
 
     m_process->send(WebProcessMessage::RegisterURLSchemeAsEmptyDocument, 0, CoreIPC::In(urlScheme));
 }
diff --git a/WebKit2/UIProcess/WebContext.h b/WebKit2/UIProcess/WebContext.h
index c218a49..f72560c 100644
--- a/WebKit2/UIProcess/WebContext.h
+++ b/WebKit2/UIProcess/WebContext.h
@@ -33,6 +33,7 @@
 #include "WebHistoryClient.h"
 #include "WebProcessProxy.h"
 #include <WebCore/PlatformString.h>
+#include <WebCore/StringHash.h>
 #include <wtf/Forward.h>
 #include <wtf/HashSet.h>
 #include <wtf/PassRefPtr.h>
@@ -118,6 +119,8 @@ private:
     WebHistoryClient m_historyClient;
 
     PluginInfoStore m_pluginInfoStore;
+    
+    HashSet<WebCore::String> m_schemesToRegisterAsEmptyDocument;
 };
 
 } // namespace WebKit

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list