[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
andersca at apple.com
andersca at apple.com
Wed Dec 22 15:32:01 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 059f5fb5a47b6eb24a534c3021aa161d7146af7a
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Nov 5 22:55:41 2010 +0000
WebProcess won't kill itself if UIProcess goes away while WebProcess is spinning
https://bugs.webkit.org/show_bug.cgi?id=49090
<rdar://problem/7834575>
Reviewed by Darin Adler.
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::connectionDidClose):
Call Client::didCloseOnConnectionWorkQueue.
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::Client::didCloseOnConnectionWorkQueue):
Add new client function. Will be called on the connection work queue when the connection is closed.
* Platform/WorkItem.h:
(FunctionWorkItem0::FunctionWorkItem0):
(FunctionWorkItem0::execute):
(WorkItem::create):
Add a new WorkItem subclass that will invoke a C function.
* Platform/WorkQueue.h:
* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::scheduleWorkAfterDelay):
New function which will schedule the given work item to be executed in at least 'delay' seconds.
* Platform/qt/WorkQueueQt.cpp:
(WorkQueue::scheduleWorkAfterDelay):
Add empty stub.
* Platform/win/WorkQueueWin.cpp:
(WorkQueue::scheduleWorkAfterDelay):
Ditto.
* PluginProcess/PluginProcess.h:
Derive from ChildProcess.
* Shared/ChildProcess.cpp: Added.
(WebKit::ChildProcess::ChildProcess):
(WebKit::ChildProcess::~ChildProcess):
(WebKit::watchdogCallback):
Call _exit.
(WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
When the connection is closed, schedule a work item to be run in 10 seconds. If the process hasn't
exited normally by then, we'll exit.
* Shared/ChildProcess.h:
Add new ChildProcess class which is a common base class of WebProcess and PluginProcess and which contains
the watchdog timer logic.
* WebKit2.pro:
* WebKit2.xcodeproj/project.pbxproj:
Add new files.
* WebProcess/WebProcess.h:
Derive from ChildProcess.
* win/WebKit2.vcproj:
Add new files.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index d5d0474..bf6fe93 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,65 @@
+2010-11-05 Anders Carlsson <andersca at apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebProcess won't kill itself if UIProcess goes away while WebProcess is spinning
+ https://bugs.webkit.org/show_bug.cgi?id=49090
+ <rdar://problem/7834575>
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::connectionDidClose):
+ Call Client::didCloseOnConnectionWorkQueue.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::Client::didCloseOnConnectionWorkQueue):
+ Add new client function. Will be called on the connection work queue when the connection is closed.
+
+ * Platform/WorkItem.h:
+ (FunctionWorkItem0::FunctionWorkItem0):
+ (FunctionWorkItem0::execute):
+ (WorkItem::create):
+ Add a new WorkItem subclass that will invoke a C function.
+
+ * Platform/WorkQueue.h:
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::scheduleWorkAfterDelay):
+ New function which will schedule the given work item to be executed in at least 'delay' seconds.
+
+ * Platform/qt/WorkQueueQt.cpp:
+ (WorkQueue::scheduleWorkAfterDelay):
+ Add empty stub.
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::scheduleWorkAfterDelay):
+ Ditto.
+
+ * PluginProcess/PluginProcess.h:
+ Derive from ChildProcess.
+
+ * Shared/ChildProcess.cpp: Added.
+ (WebKit::ChildProcess::ChildProcess):
+ (WebKit::ChildProcess::~ChildProcess):
+ (WebKit::watchdogCallback):
+ Call _exit.
+
+ (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
+ When the connection is closed, schedule a work item to be run in 10 seconds. If the process hasn't
+ exited normally by then, we'll exit.
+
+ * Shared/ChildProcess.h:
+ Add new ChildProcess class which is a common base class of WebProcess and PluginProcess and which contains
+ the watchdog timer logic.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebProcess.h:
+ Derive from ChildProcess.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
2010-11-05 Adam Roben <aroben at apple.com>
Implement PluginInfoStore::shouldUsePlugin on Windows
diff --git a/WebKit2/Platform/CoreIPC/Connection.cpp b/WebKit2/Platform/CoreIPC/Connection.cpp
index 569ea23..931a78d 100644
--- a/WebKit2/Platform/CoreIPC/Connection.cpp
+++ b/WebKit2/Platform/CoreIPC/Connection.cpp
@@ -316,6 +316,8 @@ void Connection::connectionDidClose()
m_waitForSyncReplySemaphore.signal();
}
+ m_client->didCloseOnConnectionWorkQueue(&m_connectionQueue, this);
+
m_clientRunLoop->scheduleWork(WorkItem::create(this, &Connection::dispatchConnectionDidClose));
}
diff --git a/WebKit2/Platform/CoreIPC/Connection.h b/WebKit2/Platform/CoreIPC/Connection.h
index 25b8cee..0869c92 100644
--- a/WebKit2/Platform/CoreIPC/Connection.h
+++ b/WebKit2/Platform/CoreIPC/Connection.h
@@ -77,6 +77,10 @@ public:
public:
virtual void didClose(Connection*) = 0;
virtual void didReceiveInvalidMessage(Connection*, MessageID) = 0;
+
+ // Called on the connection work queue when the connection is closed, before
+ // didCall is called on the client thread.
+ virtual void didCloseOnConnectionWorkQueue(WorkQueue*, Connection*) { }
};
#if PLATFORM(MAC)
diff --git a/WebKit2/Platform/WorkItem.h b/WebKit2/Platform/WorkItem.h
index e3c7700..64bff58 100644
--- a/WebKit2/Platform/WorkItem.h
+++ b/WebKit2/Platform/WorkItem.h
@@ -39,6 +39,8 @@ public:
template<typename C, typename T0, typename T1>
static PassOwnPtr<WorkItem> create(C*, void (C::*)(T0, T1), T0, T1);
+ static PassOwnPtr<WorkItem> create(void (*)());
+
virtual ~WorkItem() { }
virtual void execute() = 0;
@@ -69,7 +71,7 @@ class MemberFunctionWorkItem0 : private WorkItem {
m_ptr->deref();
}
- void execute()
+ virtual void execute()
{
(m_ptr->*m_function)();
}
@@ -98,7 +100,7 @@ class MemberFunctionWorkItem1 : private WorkItem {
m_ptr->deref();
}
- void execute()
+ virtual void execute()
{
(m_ptr->*m_function)(m_t0);
}
@@ -129,7 +131,7 @@ class MemberFunctionWorkItem2 : private WorkItem {
m_ptr->deref();
}
- void execute()
+ virtual void execute()
{
(m_ptr->*m_function)(m_t0, m_t1);
}
@@ -158,4 +160,28 @@ PassOwnPtr<WorkItem> WorkItem::create(C* ptr, void (C::*function)(T0, T1), T0 t0
return adoptPtr(static_cast<WorkItem*>(new MemberFunctionWorkItem2<C, T0, T1>(ptr, function, t0, t1)));
}
+class FunctionWorkItem0 : private WorkItem {
+ // We only allow WorkItem to create this.
+ friend class WorkItem;
+
+ typedef void (*FunctionType)();
+
+ FunctionWorkItem0(FunctionType function)
+ : m_function(function)
+ {
+ }
+
+ virtual void execute()
+ {
+ (*m_function)();
+ }
+
+ FunctionType m_function;
+};
+
+inline PassOwnPtr<WorkItem> WorkItem::create(void (*function)())
+{
+ return adoptPtr(static_cast<WorkItem*>(new FunctionWorkItem0(function)));
+}
+
#endif // WorkItem_h
diff --git a/WebKit2/Platform/WorkQueue.h b/WebKit2/Platform/WorkQueue.h
index f7c7dca..9803f61 100644
--- a/WebKit2/Platform/WorkQueue.h
+++ b/WebKit2/Platform/WorkQueue.h
@@ -50,7 +50,12 @@ public:
explicit WorkQueue(const char* name);
~WorkQueue();
+ // Will schedule the given work item to run as soon as possible.
void scheduleWork(PassOwnPtr<WorkItem>);
+
+ // Will schedule the given work item to run after the given delay (in seconds).
+ void scheduleWorkAfterDelay(PassOwnPtr<WorkItem>, double delay);
+
void invalidate();
#if PLATFORM(MAC)
diff --git a/WebKit2/Platform/mac/WorkQueueMac.cpp b/WebKit2/Platform/mac/WorkQueueMac.cpp
index 7cb08b9..3651f8c 100644
--- a/WebKit2/Platform/mac/WorkQueueMac.cpp
+++ b/WebKit2/Platform/mac/WorkQueueMac.cpp
@@ -49,6 +49,13 @@ void WorkQueue::scheduleWork(PassOwnPtr<WorkItem> item)
dispatch_async_f(m_dispatchQueue, item.leakPtr(), executeWorkItem);
}
+void WorkQueue::scheduleWorkAfterDelay(PassOwnPtr<WorkItem> item, double delay)
+{
+ dispatch_time_t delayTime = dispatch_time(DISPATCH_TIME_NOW, delay * NSEC_PER_SEC);
+
+ dispatch_after_f(delayTime, m_dispatchQueue, item.leakPtr(), executeWorkItem);
+}
+
class WorkQueue::EventSource {
public:
EventSource(MachPortEventType eventType, dispatch_source_t dispatchSource, PassOwnPtr<WorkItem> workItem)
diff --git a/WebKit2/Platform/qt/WorkQueueQt.cpp b/WebKit2/Platform/qt/WorkQueueQt.cpp
index 814bbc1..271984f 100644
--- a/WebKit2/Platform/qt/WorkQueueQt.cpp
+++ b/WebKit2/Platform/qt/WorkQueueQt.cpp
@@ -30,6 +30,7 @@
#include <QObject>
#include <QThread>
#include <wtf/Threading.h>
+#include "NotImplemented.h"
class WorkQueue::WorkItemQt : public QObject {
Q_OBJECT
@@ -123,4 +124,9 @@ void WorkQueue::scheduleWork(PassOwnPtr<WorkItem> item)
itemQt->moveToThread(m_workThread);
}
+void WorkQueue::scheduleWorkAfterDelay(PassOwnPtr<WorkItem>, double)
+{
+ notImplemented();
+}
+
#include "WorkQueueQt.moc"
diff --git a/WebKit2/Platform/win/WorkQueueWin.cpp b/WebKit2/Platform/win/WorkQueueWin.cpp
index 98e2802..f527432 100644
--- a/WebKit2/Platform/win/WorkQueueWin.cpp
+++ b/WebKit2/Platform/win/WorkQueueWin.cpp
@@ -26,6 +26,7 @@
#include "WorkQueue.h"
#include <wtf/Threading.h>
+#include "NotImplemented.h"
inline WorkQueue::WorkItemWin::WorkItemWin(PassOwnPtr<WorkItem> item, WorkQueue* queue)
: m_item(item)
@@ -202,6 +203,11 @@ void WorkQueue::scheduleWork(PassOwnPtr<WorkItem> item)
::QueueUserWorkItem(workThreadCallback, this, WT_EXECUTEDEFAULT);
}
+void WorkQueue::scheduleWorkAfterDelay(PassOwnPtr<WorkItem>, double)
+{
+ notImplemented();
+}
+
void WorkQueue::unregisterWaitAndDestroyItemSoon(PassRefPtr<HandleWorkItem> item)
{
// We're going to make a blocking call to ::UnregisterWaitEx before closing the handle. (The
diff --git a/WebKit2/PluginProcess/PluginProcess.h b/WebKit2/PluginProcess/PluginProcess.h
index 6468007..670e1a3 100644
--- a/WebKit2/PluginProcess/PluginProcess.h
+++ b/WebKit2/PluginProcess/PluginProcess.h
@@ -28,7 +28,7 @@
#if ENABLE(PLUGIN_PROCESS)
-#include "Connection.h"
+#include "ChildProcess.h"
#include "RunLoop.h"
#include <wtf/Forward.h>
@@ -38,7 +38,7 @@ class NetscapePluginModule;
class WebProcessConnection;
struct PluginProcessCreationParameters;
-class PluginProcess : Noncopyable, CoreIPC::Connection::Client {
+class PluginProcess : ChildProcess {
public:
static PluginProcess& shared();
diff --git a/WebKit2/Shared/ChildProcess.cpp b/WebKit2/Shared/ChildProcess.cpp
new file mode 100644
index 0000000..8d926af
--- /dev/null
+++ b/WebKit2/Shared/ChildProcess.cpp
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "ChildProcess.h"
+
+namespace WebKit {
+
+ChildProcess::ChildProcess()
+{
+}
+
+ChildProcess::~ChildProcess()
+{
+}
+
+NO_RETURN static void watchdogCallback()
+{
+ // We use _exit here since the watchdog callback is called from another thread and we don't want
+ // global destructors or atexit handlers to be called from this thread while the main thread is busy
+ // doing its thing.
+ _exit(EXIT_FAILURE);
+}
+
+void ChildProcess::didCloseOnConnectionWorkQueue(WorkQueue* workQueue, CoreIPC::Connection*)
+{
+ // If the connection has been closed and we haven't responded in the main thread for 10 seconds
+ // the process will exit forcibly.
+ static const double watchdogDelay = 10.0;
+
+ workQueue->scheduleWorkAfterDelay(WorkItem::create(watchdogCallback), watchdogDelay);
+}
+
+} // namespace WebKit
diff --git a/WebKit2/Shared/ChildProcess.h b/WebKit2/Shared/ChildProcess.h
new file mode 100644
index 0000000..78fe1f4
--- /dev/null
+++ b/WebKit2/Shared/ChildProcess.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ChildProcess_h
+#define ChildProcess_h
+
+#include "Connection.h"
+#include <wtf/Noncopyable.h>
+
+namespace WebKit {
+
+class ChildProcess : protected CoreIPC::Connection::Client {
+ WTF_MAKE_NONCOPYABLE(ChildProcess);
+
+protected:
+ ChildProcess();
+ ~ChildProcess();
+
+private:
+ void didCloseOnConnectionWorkQueue(WorkQueue*, CoreIPC::Connection*);
+};
+
+} // namespace WebKit
+
+#endif // ChildProcess_h
diff --git a/WebKit2/WebKit2.pro b/WebKit2/WebKit2.pro
index 754460a..a283ca1 100644
--- a/WebKit2/WebKit2.pro
+++ b/WebKit2/WebKit2.pro
@@ -207,6 +207,7 @@ HEADERS += \
Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h \
Shared/BackingStore.h \
Shared/CacheModel.h \
+ Shared/ChildProcess.h \
Shared/DrawingAreaBase.h \
Shared/ImmutableArray.h \
Shared/ImmutableDictionary.h \
@@ -377,6 +378,7 @@ SOURCES += \
Shared/API/c/WKURLResponse.cpp \
Shared/API/c/WKUserContentURLPattern.cpp \
Shared/BackingStore.cpp \
+ Shared/ChildProcess.cpp \
Shared/ImmutableArray.cpp \
Shared/ImmutableDictionary.cpp \
Shared/MutableArray.cpp \
diff --git a/WebKit2/WebKit2.xcodeproj/project.pbxproj b/WebKit2/WebKit2.xcodeproj/project.pbxproj
index a5bf28e..6a86196 100644
--- a/WebKit2/WebKit2.xcodeproj/project.pbxproj
+++ b/WebKit2/WebKit2.xcodeproj/project.pbxproj
@@ -98,6 +98,8 @@
1A2D90D31281C966001EB962 /* PluginProcessCreationParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2D90D11281C966001EB962 /* PluginProcessCreationParameters.cpp */; };
1A2D91A61281D739001EB962 /* PluginControllerProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A2D91A51281D739001EB962 /* PluginControllerProxyMac.mm */; };
1A2D92211281DC1B001EB962 /* PluginProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A2D92201281DC1B001EB962 /* PluginProxyMac.mm */; };
+ 1A2D956F12848564001EB962 /* ChildProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2D956D12848564001EB962 /* ChildProcess.h */; };
+ 1A2D957012848564001EB962 /* ChildProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2D956E12848564001EB962 /* ChildProcess.cpp */; };
1A30066E1110F4F70031937C /* ResponsivenessTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A30066C1110F4F70031937C /* ResponsivenessTimer.h */; };
1A30EAC6115D7DA30053E937 /* ConnectionMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A30EAC5115D7DA30053E937 /* ConnectionMac.cpp */; };
1A3DD1FD125E59F3004515E6 /* WebFindClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A3DD1FC125E59F3004515E6 /* WebFindClient.cpp */; };
@@ -619,6 +621,8 @@
1A2D90D11281C966001EB962 /* PluginProcessCreationParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginProcessCreationParameters.cpp; sourceTree = "<group>"; };
1A2D91A51281D739001EB962 /* PluginControllerProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PluginControllerProxyMac.mm; sourceTree = "<group>"; };
1A2D92201281DC1B001EB962 /* PluginProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PluginProxyMac.mm; sourceTree = "<group>"; };
+ 1A2D956D12848564001EB962 /* ChildProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChildProcess.h; sourceTree = "<group>"; };
+ 1A2D956E12848564001EB962 /* ChildProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ChildProcess.cpp; sourceTree = "<group>"; };
1A30066C1110F4F70031937C /* ResponsivenessTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResponsivenessTimer.h; sourceTree = "<group>"; };
1A30EAC5115D7DA30053E937 /* ConnectionMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConnectionMac.cpp; sourceTree = "<group>"; };
1A3DD1FC125E59F3004515E6 /* WebFindClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebFindClient.cpp; sourceTree = "<group>"; };
@@ -1315,11 +1319,13 @@
BCF04C8C11FF9B7D00F86A58 /* APIObject.h */,
1A043D79124FEFC100FFBFB5 /* BackingStore.cpp */,
1A043D78124FEFC100FFBFB5 /* BackingStore.h */,
+ BC3065F91259344E00E71278 /* CacheModel.h */,
+ 1A2D956E12848564001EB962 /* ChildProcess.cpp */,
+ 1A2D956D12848564001EB962 /* ChildProcess.h */,
1A6F9F8E11E13EFC00DB1371 /* CommandLine.h */,
0FB659221208B4DB0044816C /* DrawingAreaBase.h */,
1A90C1ED1264FD50003E44D4 /* FindOptions.h */,
762B7481120BBA0100819339 /* FontSmoothingLevel.h */,
- BC3065F91259344E00E71278 /* CacheModel.h */,
BC64696D11DBE603006455B0 /* ImmutableArray.cpp */,
BC64696E11DBE603006455B0 /* ImmutableArray.h */,
BCBCB0CC1215E33A00DE59CA /* ImmutableDictionary.cpp */,
@@ -2305,6 +2311,7 @@
1C8E2A361277852400BC7BD0 /* WebInspectorMessages.h in Headers */,
1A2D90D21281C966001EB962 /* PluginProcessCreationParameters.h in Headers */,
BCEE7AD112817988009827DA /* WebProcessProxyMessages.h in Headers */,
+ 1A2D956F12848564001EB962 /* ChildProcess.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2648,6 +2655,7 @@
1A2D91A61281D739001EB962 /* PluginControllerProxyMac.mm in Sources */,
1A2D92211281DC1B001EB962 /* PluginProxyMac.mm in Sources */,
BCEE7AD012817988009827DA /* WebProcessProxyMessageReceiver.cpp in Sources */,
+ 1A2D957012848564001EB962 /* ChildProcess.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/WebKit2/WebProcess/WebProcess.h b/WebKit2/WebProcess/WebProcess.h
index f865465..e95ccd4 100644
--- a/WebKit2/WebProcess/WebProcess.h
+++ b/WebKit2/WebProcess/WebProcess.h
@@ -27,7 +27,7 @@
#define WebProcess_h
#include "CacheModel.h"
-#include "Connection.h"
+#include "ChildProcess.h"
#include "DrawingArea.h"
#include "SharedMemory.h"
#include "VisitedLinkTable.h"
@@ -53,7 +53,7 @@ struct WebPageCreationParameters;
struct WebPreferencesStore;
struct WebProcessCreationParameters;
-class WebProcess : CoreIPC::Connection::Client {
+class WebProcess : ChildProcess {
public:
static WebProcess& shared();
diff --git a/WebKit2/win/WebKit2.vcproj b/WebKit2/win/WebKit2.vcproj
index 22f39ef..30f03b1 100755
--- a/WebKit2/win/WebKit2.vcproj
+++ b/WebKit2/win/WebKit2.vcproj
@@ -413,6 +413,14 @@
>
</File>
<File
+ RelativePath="..\Shared\ChildProcess.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\ChildProcess.h"
+ >
+ </File>
+ <File
RelativePath="..\Shared\CommandLine.h"
>
</File>
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list