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

aroben at apple.com aroben at apple.com
Wed Dec 22 13:47:47 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 82ad1a328278e35f5b2e24001272a383cdd5a4da
Author: aroben at apple.com <aroben at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Sep 27 15:12:03 2010 +0000

    Stop leaking the web process's process handle on Windows
    
    Fixes <http://webkit.org/b/46133> <rdar://problem/8455343>
    
    Reviewed by Anders Carlsson.
    
    * UIProcess/Launcher/ProcessLauncher.cpp:
    (WebKit::ProcessLauncher::invalidate): Call platformInvalidate.
    
    * UIProcess/Launcher/ProcessLauncher.h: Added platformInvalidate.
    
    * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
    (WebKit::ProcessLauncher::platformInvalidate):
    * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
    (WebKit::ProcessLauncher::platformInvalidate):
    Stubbed out.
    
    * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
    (WebKit::ProcessLauncher::platformInvalidate): Close the process
    handle like MSDN says we should.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index acabefc..4922654 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,5 +1,28 @@
 2010-09-27  Adam Roben  <aroben at apple.com>
 
+        Stop leaking the web process's process handle on Windows
+
+        Fixes <http://webkit.org/b/46133> <rdar://problem/8455343>
+
+        Reviewed by Anders Carlsson.
+
+        * UIProcess/Launcher/ProcessLauncher.cpp:
+        (WebKit::ProcessLauncher::invalidate): Call platformInvalidate.
+
+        * UIProcess/Launcher/ProcessLauncher.h: Added platformInvalidate.
+
+        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+        (WebKit::ProcessLauncher::platformInvalidate):
+        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+        (WebKit::ProcessLauncher::platformInvalidate):
+        Stubbed out.
+
+        * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+        (WebKit::ProcessLauncher::platformInvalidate): Close the process
+        handle like MSDN says we should.
+
+2010-09-27  Adam Roben  <aroben at apple.com>
+
         Don't double-free CERT_CONTEXTs when copying PlatformCertificateInfos
         on Windows
 
diff --git a/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp b/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp
index 47cedc1..507edfa 100644
--- a/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp
+++ b/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp
@@ -62,6 +62,7 @@ void ProcessLauncher::didFinishLaunchingProcess(PlatformProcessIdentifier proces
 void ProcessLauncher::invalidate()
 {
     m_client = 0;
+    platformInvalidate();
 }
 
 const char* ProcessLauncher::processTypeAsString(ProcessType processType)
diff --git a/WebKit2/UIProcess/Launcher/ProcessLauncher.h b/WebKit2/UIProcess/Launcher/ProcessLauncher.h
index 3cd89ba..31efd4d 100644
--- a/WebKit2/UIProcess/Launcher/ProcessLauncher.h
+++ b/WebKit2/UIProcess/Launcher/ProcessLauncher.h
@@ -85,6 +85,8 @@ private:
     void launchProcess();
     void didFinishLaunchingProcess(PlatformProcessIdentifier, CoreIPC::Connection::Identifier);
 
+    void platformInvalidate();
+
     Client* m_client;
 
     const LaunchOptions m_launchOptions;
diff --git a/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm b/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
index bd0d755..bff0350 100644
--- a/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
+++ b/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
@@ -150,4 +150,8 @@ void ProcessLauncher::terminateProcess()
     kill(m_processIdentifier, SIGKILL);
 }
     
+void ProcessLauncher::platformInvalidate()
+{
+}
+
 } // namespace WebKit
diff --git a/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp b/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp
index e1ba682..6b2ee71 100644
--- a/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp
+++ b/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp
@@ -27,6 +27,7 @@
 #include "ProcessLauncher.h"
 
 #include "Connection.h"
+#include "NotImplemented.h"
 #include "RunLoop.h"
 #include "WebProcess.h"
 #include <runtime/InitializeThreading.h>
@@ -141,6 +142,11 @@ QLocalSocket* ProcessLauncher::takePendingConnection()
     return ProcessLauncherHelper::instance()->takePendingConnection();
 }
 
+void ProcessLauncher::platformInvalidate()
+{
+    notImplemented();
+}
+
 } // namespace WebKit
 
 #include "ProcessLauncherQt.moc"
diff --git a/WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp b/WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp
index 16eb219..784aefc 100644
--- a/WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp
+++ b/WebKit2/UIProcess/Launcher/win/ProcessLauncherWin.cpp
@@ -106,4 +106,13 @@ void ProcessLauncher::terminateProcess()
     ::TerminateProcess(m_processIdentifier, 0);
 }
 
+void ProcessLauncher::platformInvalidate()
+{
+    if (!m_processIdentifier)
+        return;
+
+    ::CloseHandle(m_processIdentifier);
+    m_processIdentifier = 0;
+}
+
 } // namespace WebKit

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list