- 22 Jan, 2014 1 commit
-
-
jinwoo7.song@samsung.com authored
https://bugs.webkit.org/show_bug.cgi?id=127397 Reviewed by Anders Carlsson. Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler and DispatchQueue::setSocketEventHandler. * Platform/IPC/unix/ConnectionUnix.cpp: (IPC::Connection::open): * Platform/WorkQueue.h: * Platform/efl/DispatchQueueEfl.cpp: (DispatchQueue::setSocketEventHandler): * Platform/efl/DispatchQueueEfl.h: * Platform/efl/WorkQueueEfl.cpp: (WorkQueue::registerSocketEventHandler): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162511 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 20 Jan, 2014 1 commit
-
-
zandobersek@gmail.com authored
https://bugs.webkit.org/show_bug.cgi?id=127273 Reviewed by Anders Carlsson. Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler and WorkQueue::SocketEventSource. * Platform/IPC/unix/ConnectionUnix.cpp: (IPC::Connection::open): * Platform/WorkQueue.h: * Platform/gtk/WorkQueueGtk.cpp: (WorkQueue::SocketEventSource::SocketEventSource): (WorkQueue::registerSocketEventHandler): (WorkQueue::dispatchOnSource): Use std::move instead of std::forward<T>. (WorkQueue::dispatch): Ditto. (WorkQueue::dispatchAfter): Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162370 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 30 Dec, 2013 2 commits
-
-
ryuan.choi@samsung.com authored
https://bugs.webkit.org/show_bug.cgi?id=126305 Reviewed by Anders Carlsson. Source/WebKit2: This patch replaces CoreIPC to IPC in build scripts and source codes to fix build break on CMake based ports and Gtk (and maybe IOS). * CMakeLists.txt: * GNUmakefile.am: * GNUmakefile.list.am: * Platform/IPC/unix/AttachmentUnix.cpp: * Platform/IPC/unix/ConnectionUnix.cpp: * Platform/unix/SharedMemoryUnix.cpp: (WebKit::SharedMemory::Handle::encode): (WebKit::SharedMemory::Handle::decode): (WebKit::SharedMemory::Handle::releaseToAttachment): * PlatformEfl.cmake: * PlatformGTK.cmake: * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: (WebKit::WebCoordinatedSurface::Handle::encode): (WebKit::WebCoordinatedSurface::Handle::decode): * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: * Shared/Downloads/soup/DownloadSoup.cpp: (WebKit::DownloadClient::downloadFailed): (WebKit::Download::cancel): * Shared/WebBatteryStatus.cpp: (WebKit::WebBatteryStatus::Data::encode): (WebKit::WebBatteryStatus::Data::decode): * Shared/WebBatteryStatus.h: * Shared/WebNetworkInfo.cpp: (WebKit::WebNetworkInfo::Data::encode): (WebKit::WebNetworkInfo::Data::decode): * Shared/WebNetworkInfo.h: * Shared/cairo/LayerTreeContextCairo.cpp: (WebKit::LayerTreeContext::encode): (WebKit::LayerTreeContext::decode): * Shared/efl/LayerTreeContextEfl.cpp: (WebKit::LayerTreeContext::encode): (WebKit::LayerTreeContext::decode): * Shared/gtk/ArgumentCodersGtk.cpp: * Shared/gtk/ArgumentCodersGtk.h: * Shared/gtk/LayerTreeContextGtk.cpp: (WebKit::LayerTreeContext::encode): (WebKit::LayerTreeContext::decode): * Shared/ios/WebPlatformTouchPointIOS.cpp: (WebKit::WebPlatformTouchPoint::encode): (WebKit::WebPlatformTouchPoint::decode): * Shared/ios/WebTouchEventIOS.cpp: (WebKit::WebTouchEvent::encode): (WebKit::WebTouchEvent::decode): * Shared/linux/SeccompFilters/OpenSyscall.cpp: (WebKit::OpenSyscall::encode): (WebKit::OpenSyscall::decode): (WebKit::OpenSyscallResult::encode): (WebKit::OpenSyscallResult::decode): * Shared/linux/SeccompFilters/OpenSyscall.h: * Shared/linux/SeccompFilters/SeccompBroker.cpp: (WebKit::SeccompBrokerClient::dispatch): (WebKit::SeccompBroker::runLoop): * Shared/linux/SeccompFilters/Syscall.cpp: (WebKit::Syscall::createFromDecoder): (WebKit::SyscallResult::createFromDecoder): * Shared/linux/SeccompFilters/Syscall.h: * Shared/soup/WebCoreArgumentCodersSoup.cpp: (IPC::ArgumentCoder<CertificateInfo>::encode): (IPC::ArgumentCoder<CertificateInfo>::decode): * UIProcess/API/ios/PageClientImplIOS.h: * UIProcess/API/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived): * UIProcess/API/mac/PDFViewController.h: * UIProcess/API/mac/PDFViewController.mm: (WebKit::convertPostScriptDataSourceToPDF): (WebKit::PDFViewController::setPDFDocumentData): * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: * UIProcess/DrawingAreaProxyImpl.h: * UIProcess/WebBatteryManagerProxy.h: * UIProcess/WebNetworkInfoManagerProxy.h: * UIProcess/WebVibrationProxy.h: * UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::registerWebProcessAccessibilityToken): (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens): (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication): * UIProcess/soup/WebSoupRequestManagerProxy.h: * WebProcess/Battery/WebBatteryManager.h: * WebProcess/NetworkInfo/WebNetworkInfoManager.h: * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: (WebKit::CoordinatedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage): * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: * WebProcess/WebPage/DrawingAreaImpl.h: * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::registerUIProcessAccessibilityTokens): * WebProcess/ios/WebProcessIOS.mm: (WebKit::WebProcess::platformInitializeWebProcess): * WebProcess/soup/WebProcessSoup.cpp: (WebKit::WebProcess::platformInitializeWebProcess): * WebProcess/soup/WebSoupRequestManager.cpp: (WebKit::WebSoupRequestManager::didHandleURIRequest): (WebKit::WebSoupRequestManager::didReceiveURIRequestData): * WebProcess/soup/WebSoupRequestManager.h: * WebProcess/soup/WebSoupRequestManager.messages.in: Tools: * TestWebKitAPI/CMakeLists.txt: Replaced CoreIPC includes to IPC. * TestWebKitAPI/efl/PlatformWebView.cpp: Removed temporal define for IPC. * WebKitTestRunner/CMakeLists.txt: Replaced CoreIPC includes to IPC. * WebKitTestRunner/efl/PlatformWebViewEfl.cpp: Removed temporal define for IPC. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Rubber-stamped by Andreas Kling. * Platform/IPC/ArgumentCoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h. * Platform/IPC/ArgumentCoders.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp. * Platform/IPC/ArgumentCoders.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h. * Platform/IPC/ArgumentDecoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp. * Platform/IPC/ArgumentDecoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h. * Platform/IPC/ArgumentEncoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp. * Platform/IPC/ArgumentEncoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.h. * Platform/IPC/Arguments.h: Renamed from Source/WebKit2/Platform/CoreIPC/Arguments.h. * Platform/IPC/Attachment.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/Attachment.cpp. * Platform/IPC/Attachment.h: Renamed from Source/WebKit2/Platform/CoreIPC/Attachment.h. * Platform/IPC/Connection.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/Connection.cpp. * Platform/IPC/Connection.h: Renamed from Source/WebKit2/Platform/CoreIPC/Connection.h. * Platform/IPC/HandleMessage.h: Renamed from Source/WebKit2/Platform/CoreIPC/HandleMessage.h. * Platform/IPC/MessageDecoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageDecoder.cpp. * Platform/IPC/MessageDecoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageDecoder.h. * Platform/IPC/MessageEncoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageEncoder.cpp. * Platform/IPC/MessageEncoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageEncoder.h. * Platform/IPC/MessageFlags.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageFlags.h. * Platform/IPC/MessageReceiver.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiver.h. * Platform/IPC/MessageReceiverMap.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.cpp. * Platform/IPC/MessageReceiverMap.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.h. * Platform/IPC/mac/ConnectionMac.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp. * Platform/IPC/mac/ImportanceAssertion.h: Renamed from Source/WebKit2/Platform/CoreIPC/mac/ImportanceAssertion.h. * Platform/IPC/mac/MachPort.h: Renamed from Source/WebKit2/Platform/CoreIPC/mac/MachPort.h. * Platform/IPC/unix/AttachmentUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/unix/AttachmentUnix.cpp. * Platform/IPC/unix/ConnectionUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp. * WebKit2.xcodeproj/project.pbxproj: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 09 Dec, 2013 1 commit
-
-
svillar@igalia.com authored
https://bugs.webkit.org/show_bug.cgi?id=110093 Reviewed by Martin Robinson. Original patch by Balazs Kelemen <kbalazs@webkit.org>. Adds the UNIX specific bits to support connections to the NetworkProcess. Since the process of creating the pair of sockets is exactly the same as in the PluginProcess, I've decided to refactor it in ConnectionUnix::createPlatformConnection(). This can be reused later to create a cross-platform solution and remove all the ifdefs (see bug 110978). * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::createNetworkConnectionToWebProcess): * Platform/CoreIPC/Connection.h: * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::createPlatformConnection): * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::createWebProcessConnection): * UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::ensureNetworkProcessConnection): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 05 Dec, 2013 1 commit
-
-
zandobersek@gmail.com authored
https://bugs.webkit.org/show_bug.cgi?id=125177 Reviewed by Carlos Garcia Campos. Clean up the GTK implementation of the WorkQueue class a bit. - registerSocketEventHandler doesn't take a condition argument anymore -- G_IO_IN was the only condition ever passed into that method so that is now the hard-coded default. - Clean up the declarations of GTK-specific bits in the WorkQueue header file. SocketEventSourceIterator typedef is removed and auto will be used instead. - WorkQueue::dispatchOnTermination and WorkQueue::SocketEventSource::performWorkOnTermination methods were unused and now removed. - WorkQueue::SocketEventSource doesn't expect a GIO condition anymore, and WorkQueue::SocketEventSource::checkCondition is removed. G_IO_IN condition was the only one used is now hard-coded into the check in WorkQueue::SocketEventSource::eventCallback. - Removed an unnecessary non-null assertion for the heap-allocated SocketEventSource. - Removed a technically duplicated assertion that a file descriptor is already present in the event sources map. Moved the assertion before the HashMap::find() call. - Removed two unnecessary assertions that non-null values are being returned by g_idle_source_new() and g_timeout_source_new(). Both functions are guaranteed to return non-null values. * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::open): * Platform/WorkQueue.h: * Platform/gtk/WorkQueueGtk.cpp: (WorkQueue::SocketEventSource::SocketEventSource): (WorkQueue::SocketEventSource::eventCallback): (WorkQueue::registerSocketEventHandler): (WorkQueue::unregisterSocketEventHandler): (WorkQueue::dispatch): (WorkQueue::dispatchAfterDelay): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160162 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 04 Oct, 2013 1 commit
-
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=122317 Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-10-04 Reviewed by Anders Carlsson. * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::platformInitialize): (CoreIPC::Connection::platformInvalidate): (CoreIPC::Connection::readyReadHandler): (CoreIPC::Connection::open): (CoreIPC::Connection::sendOutgoingMessage): * Shared/API/c/WKBase.h: * Shared/NativeWebTouchEvent.h: * UIProcess/API/C/WebKit2_C.h: * UIProcess/BackingStore.h: * UIProcess/InspectorServer/WebInspectorServer.cpp: (WebKit::WebInspectorServer::inspectorUrlForPageID): * UIProcess/InspectorServer/WebInspectorServer.h: * UIProcess/InspectorServer/WebSocketServer.cpp: * UIProcess/InspectorServer/WebSocketServer.h: * UIProcess/WebPageProxy.cpp: * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: (WebKit::getPluginDisplay): (WebKit::x11Screen): (WebKit::displayDepth): (WebKit::rootWindowID): (WebKit::NetscapePlugin::x11HostDisplay): (WebKit::NetscapePlugin::platformPostInitializeWindowless): (WebKit::NetscapePlugin::platformPaint): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 24 Sep, 2013 2 commits
-
-
ossy@webkit.org authored
* Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::processMessage): (CoreIPC::Connection::sendOutgoingMessage): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ossy@webkit.org authored
* Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::processMessage): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 18 Sep, 2013 1 commit
-
-
weinig@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=121568 Reviewed by Andreas Kling. ../WebKit/win: * WebHistory.cpp: (WebHistory::removeAllItems): (WebHistory::orderedLastVisitedDays): (WebHistory::addItemToDateCaches): (WebHistory::removeItemFromDateCaches): * WebHistory.h: * WebPreferences.cpp: (WebPreferences::copyWebKitPreferencesToCFPreferences): ../WebKit2: * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::processMessage): (CoreIPC::readBytesFromSocket): (CoreIPC::Connection::sendOutgoingMessage): * UIProcess/API/efl/EwkView.cpp: (EwkView::feedTouchEvent): (EwkView::feedTouchEvents): * UIProcess/API/efl/SnapshotImageGL.h: * UIProcess/API/efl/ewk_file_chooser_request.cpp: (ewk_file_chooser_request_files_choose): * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: (WebKit::createArgsArray): (WebKit::ProcessLauncher::launchProcess): * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: (WKBundlePageCopyContextMenuItems): * WebProcess/InjectedBundle/InjectedBundle.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 16 Sep, 2013 1 commit
-
-
kov@webkit.org authored
* Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::sendOutgoingMessage): use OwnPtr instead of PassOwnPtr. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 21 Jun, 2013 1 commit
-
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=117266 Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-06-20 Reviewed by Darin Adler. Source/WebKit2: Call closeWithRetry() to work around a difference in how the retry needs to be done on Linux. * Platform/CoreIPC/unix/AttachmentUnix.cpp: (CoreIPC::Attachment::dispose): * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::platformInvalidate): * Platform/unix/SharedMemoryUnix.cpp: (WebKit::SharedMemory::Handle::~Handle): (WebKit::SharedMemory::create): (WebKit::SharedMemory::~SharedMemory): (WebKit::SharedMemory::createHandle): * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::createWebProcessConnection): * SharedWorkerProcess/SharedWorkerProcess.cpp: (WebKit::SharedWorkerProcess::createWebProcessConnection): * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: (WebKit::ProcessLauncher::launchProcess): All these places had ``close-followed-by-EINTR-handling'' replaced with the new closeWithRetry() function added in this commit. Source/WTF: Added file UniStdExtras with a closeWithRetry() function that works around the EINTR behavior on Linux during a close() call: it closes the descriptor unconditionally even when the call is interrupted. * wtf/UniStdExtras.h: Added. (WTF::closeWithRetry): Wrapper around POSIX close() that handles EINTR correctly. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 28 May, 2013 1 commit
-
-
lauro.neto@openbossa.org authored
https://bugs.webkit.org/show_bug.cgi?id=115880 Reviewed by Anders Carlsson. When stressing the WebProcess creation/destruction, WebKitGTK can often run into socket issues like bad file descriptor errors or polling a socket indefinitely. Currently WebKitGTK has three places where a socket can be closed. - childFinishedFunction (in ProcessLauncherGtk.cpp) - Connection::platformInvalidate (in ConnectionUnix.cpp) - WorkQueue EventSource destruction (in WorkQueueGtk.cpp) To avoid these race conditions, socket closing will be handled by the event source callback in WorkQueueGtk.cpp. * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::platformInvalidate): Do not close the socket when the connection is invalidated, the socket event source is unregistered in this method and the socket is closed when the GSocket associated to the event source is destroyed. * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: (WebKit::ProcessLauncher::launchProcess): Do not monitor child process to close the connection on termination. This was needed in the past when we used DGRAM sockets, we currently use always connection oriented sockets, so that when the other end closes the connection we are notified and the connection is invalidated. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 12 Apr, 2013 1 commit
-
-
carlosgc@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=112729 Reviewed by Anders Carlsson. The problem is when creating the GSocket in the WorkQeue for the socket descriptor. GLib considers a programmer error to create a GSocket providing an invalid socket and finishes the process with g_error(). We are actually providing a valid socket when creating the GSocket, but it can be invalidated by the worker thread while the GSocket is being created. This is because registerEventSourceHandler is called from the main thread and unregisterEventSourceHandler can be called from the worker thread. We are currently registering two event handlers, one to read data from the socket and another one to close the CoreIPC connection when the socket connection is broken. Every event source registered uses its own GSocket (even if the file descriptor is actually the same), so that when the UI process finishes too early, the first event handler can be executed in the worker thread, closing the socket descriptor, while the main thread is creating the GSocket for the second one. We don't really need to use a separate event handler to monitor the connection, because GSocket always notifies when condition is G_IO_HUP and G_IO_ERR even if they haven't been explicitly set in g_socket_create_source(). We can register socket event sources differently, providing also a function to be called when the connection is closed, using a single socket and the same even source. * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::platformInvalidate): (CoreIPC::Connection::open): Register a single socket event handler providing also a function to be called when the connection is closed. * Platform/WorkQueue.h: (WorkQueue): * Platform/gtk/WorkQueueGtk.cpp: The EventSource class has been split, moving everyting specific to socket event source to a derived class SocketEventSource. (WorkQueue::EventSource::EventSource): (WorkQueue::EventSource::performWork): (WorkQueue::EventSource::performWorkOnce): (WorkQueue::EventSource::performWorkOnTermination): (WorkQueue::EventSource::deleteEventSource): (WorkQueue::EventSource): (WorkQueue::SocketEventSource): (WorkQueue::SocketEventSource::SocketEventSource): (WorkQueue::SocketEventSource::cancel): (WorkQueue::SocketEventSource::didClose): (WorkQueue::SocketEventSource::checkCondition): (WorkQueue::SocketEventSource::eventCallback): (WorkQueue::registerSocketEventHandler): (WorkQueue::unregisterSocketEventHandler): (WorkQueue::dispatchOnSource): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148286 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 01 Feb, 2013 1 commit
-
-
hausmann@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=108597 Patch by Gwang Yoon Hwang <ryumiel@company100.net> on 2013-02-01 Reviewed by Andreas Kling. * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::processMessage): oolMessageBody should be properly initialized before it is used. This patch also adds omitted break statement. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 31 Jan, 2013 2 commits
-
-
rafael.lobo@openbossa.org authored
https://bugs.webkit.org/show_bug.cgi?id=108548 Reviewed by Anders Carlsson. * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::platformInvalidate): (CoreIPC::Connection::processMessage): Change Deque to Vector and do similar logic as on patch for https://bugs.webkit.org/show_bug.cgi?id=108517 (CoreIPC::Connection::open): (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination): * Platform/qt/WorkQueueQt.cpp: Reflect changes on Qt WorkQueue to increase ref count when the execution is started and decrease it when the work item is deleted, following the logic on https://bugs.webkit.org/show_bug.cgi?id=108544 (WorkQueue::WorkItemQt::~WorkItemQt): (WorkQueue::WorkItemQt::execute): (WorkQueue::dispatch): (WorkQueue::dispatchAfterDelay): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getPluginPath): This function was moved from WebProcessProxy but mac specific code was not protected properly: https://bugs.webkit.org/show_bug.cgi?id=108407 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rafael.lobo@openbossa.org authored
https://bugs.webkit.org/show_bug.cgi?id=108534 Reviewed by Anders Carlsson. * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::MessageInfo::MessageInfo): (CoreIPC::MessageInfo::setMessageBodyIsOutOfLine): (CoreIPC::MessageInfo::isMessageBodyIsOutOfLine): (MessageInfo): (CoreIPC::Connection::processMessage): (CoreIPC::Connection::sendOutgoingMessage): * Target.pri: * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp: * UIProcess/DrawingAreaProxy.cpp: * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: * WebProcess/soup/WebSoupRequestManager.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 29 Jan, 2013 1 commit
-
-
gyuyoung.kim@samsung.com authored
https://bugs.webkit.org/show_bug.cgi?id=108276 Unreviewed to fix build breaks. Some MessageID removals wasn't adjusted into ConnectionUnix.cpp and coordinated graphics. * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::MessageInfo::MessageInfo): (CoreIPC::MessageInfo::setMessageBodyIsOutOfLine): (CoreIPC::MessageInfo::isMessageBodyIsOutOfLine): (CoreIPC::Connection::processMessage): (CoreIPC::Connection::sendOutgoingMessage): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didReceiveMessage): * UIProcess/WebProcessProxy.cpp: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didReceiveMessage): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 17 Oct, 2012 1 commit
-
-
andersca@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=99365 Reviewed by Andreas Kling. This is the first step towards cleaning up IPC handling in WebKit2. The idea is that MessageEncoder and MessageDecoder will handle all the IPC specific parts of encoding and decoding (such as attachments), whereas the ArgumentEncoder and ArgumentDecoder classes are only used for serializing simpler data types. * CMakeLists.txt: * GNUmakefile.list.am: * Platform/CoreIPC/ArgumentDecoder.cpp: (CoreIPC::ArgumentDecoder::create): (CoreIPC::ArgumentDecoder::initialize): * Platform/CoreIPC/ArgumentDecoder.h: (ArgumentDecoder): * Platform/CoreIPC/ArgumentEncoder.cpp: (CoreIPC::ArgumentEncoder::create): (CoreIPC::ArgumentEncoder::ArgumentEncoder): * Platform/CoreIPC/ArgumentEncoder.h: (ArgumentEncoder): * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::createSyncMessageEncoder): (CoreIPC::Connection::sendMessage): (CoreIPC::Connection::sendSyncReply): (CoreIPC::Connection::waitForMessage): (CoreIPC::Connection::sendSyncMessage): (CoreIPC::Connection::waitForSyncReply): (CoreIPC::Connection::processIncomingSyncReply): (CoreIPC::Connection::processIncomingMessage): (CoreIPC::Connection::dispatchSyncMessage): (CoreIPC::Connection::dispatchMessage): * Platform/CoreIPC/Connection.h: (Connection): (PendingSyncReply): (CoreIPC::Connection::PendingSyncReply::releaseReplyDecoder): (CoreIPC::Connection::send): (CoreIPC::Connection::sendSync): (CoreIPC::Connection::waitForAndDispatchImmediately): (CoreIPC::Connection::deprecatedSendSync): (CoreIPC::Connection::deprecatedSend): * Platform/CoreIPC/MessageDecoder.cpp: (CoreIPC::MessageDecoder::create): (CoreIPC::MessageDecoder::~MessageDecoder): (CoreIPC::MessageDecoder::MessageDecoder): * Platform/CoreIPC/MessageDecoder.h: (CoreIPC): (MessageDecoder): * Platform/CoreIPC/MessageEncoder.cpp: (CoreIPC): (CoreIPC::MessageEncoder::create): (CoreIPC::MessageEncoder::MessageEncoder): (CoreIPC::MessageEncoder::~MessageEncoder): * Platform/CoreIPC/MessageEncoder.h: (CoreIPC): (MessageEncoder): * Platform/CoreIPC/MessageSender.h: (CoreIPC::MessageSender::send): (CoreIPC::MessageSender::sendMessage): * Platform/CoreIPC/mac/ConnectionMac.cpp: (CoreIPC::Connection::open): (CoreIPC::Connection::sendOutgoingMessage): (CoreIPC::createMessageDecoder): (CoreIPC::Connection::receiveSourceEventHandler): * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::processMessage): (CoreIPC::Connection::sendOutgoingMessage): * Platform/CoreIPC/win/ConnectionWin.cpp: (CoreIPC::Connection::readEventHandler): (CoreIPC::Connection::writeEventHandler): (CoreIPC::Connection::platformCanSendOutgoingMessages): (CoreIPC::Connection::sendOutgoingMessage): * Scripts/webkit2/messages.py: (generate_message_handler): * Scripts/webkit2/messages_unittest.py: (MessageEncoder): * Shared/WebConnection.cpp: (WebKit::WebConnection::postMessage): (WebKit::WebConnection::handleMessage): * Shared/WebConnection.h: (CoreIPC): * Target.pri: * UIProcess/WebContext.cpp: (WebKit::WebContext::createNewWebProcess): (WebKit::WebContext::postMessageToInjectedBundle): * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::sendMessage): * UIProcess/WebProcessProxy.h: (WebProcessProxy): (WebKit::WebProcessProxy::deprecatedSend): (WebKit::WebProcessProxy::send): * WebKit2.xcodeproj/project.pbxproj: * WebProcess/WebPage/DecoderAdapter.cpp: (WebKit::DecoderAdapter::DecoderAdapter): (WebKit::DecoderAdapter::decodeBytes): (WebKit::DecoderAdapter::decodeBool): (WebKit::DecoderAdapter::decodeUInt16): (WebKit::DecoderAdapter::decodeUInt32): (WebKit::DecoderAdapter::decodeUInt64): (WebKit::DecoderAdapter::decodeInt32): (WebKit::DecoderAdapter::decodeInt64): (WebKit::DecoderAdapter::decodeFloat): (WebKit::DecoderAdapter::decodeDouble): (WebKit::DecoderAdapter::decodeString): * WebProcess/WebPage/DecoderAdapter.h: (DecoderAdapter): * WebProcess/WebPage/EncoderAdapter.cpp: (WebKit::EncoderAdapter::EncoderAdapter): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::postInjectedBundleMessage): * win/WebKit2.vcproj: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131679 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 10 Sep, 2012 1 commit
-
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=96258 Patch by Kevin Funk <kevin.funk@kdab.com> on 2012-09-10 Reviewed by Simon Hausmann. Sync with latest changes in Qt5. Source/WebCore: * platform/qt/RenderThemeQt.cpp: * platform/qt/SharedTimerQt.cpp: Source/WebKit2: * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: * WebProcess/qt/WebProcessQt.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 21 May, 2012 1 commit
-
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=86465 Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-05-21 Reviewed by Darin Adler. * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::SyncMessageState::processIncomingMessage): (CoreIPC::Connection::addQueueClient): (CoreIPC::Connection::removeQueueClient): (CoreIPC::Connection::invalidate): (CoreIPC::Connection::sendMessage): (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue): (CoreIPC::Connection::connectionDidClose): (CoreIPC::Connection::enqueueIncomingMessage): * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::open): (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination): * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::pluginThreadAsyncCall): * WebProcess/WebPage/FindController.cpp: (WebKit::FindController::findString): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 27 Mar, 2012 1 commit
-
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=62777 Patch by YoungTaeck Song <youngtaeck.song@samsung.com> on 2012-03-27 Reviewed by Hajime Morita. Source/WebCore: Add initial version RunLoopEfl for WebKit2 Efl. * platform/RunLoop.h: (TimerBase): (RunLoop): * platform/efl/RunLoopEfl.cpp: (WebCore::RunLoop::RunLoop): (WebCore::RunLoop::~RunLoop): (WebCore): (WebCore::RunLoop::run): (WebCore::RunLoop::stop): (WebCore::RunLoop::wakeUpEvent): (WebCore::RunLoop::wakeUp): (WebCore::RunLoop::TimerBase::TimerBase): (WebCore::RunLoop::TimerBase::~TimerBase): (WebCore::RunLoop::TimerBase::timerFired): (WebCore::RunLoop::TimerBase::start): (WebCore::RunLoop::TimerBase::stop): (WebCore::RunLoop::TimerBase::isActive): Source/WebKit2: Add initial version WorkQueueEfl for WebKit2 Efl. * Platform/CoreIPC/Connection.h: * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::platformInvalidate): (CoreIPC::Connection::open): * Platform/PlatformProcessIdentifier.h: (WebKit): * Platform/WorkQueue.h: (WorkQueue): * Platform/efl/WorkQueueEfl.cpp: Added. (TimerWorkItem): (TimerWorkItem::TimerWorkItem): (TimerWorkItem::~TimerWorkItem): (TimerWorkItem::function): (TimerWorkItem::queue): (TimerWorkItem::timerID): (WorkQueue::platformInitialize): (WorkQueue::platformInvalidate): (WorkQueue::performWork): (WorkQueue::performFdWork): (WorkQueue::sendMessageToThread): (WorkQueue::workQueueThread): (WorkQueue::registerSocketEventHandler): (WorkQueue::unregisterSocketEventHandler): (WorkQueue::dispatch): (WorkQueue::timerFired): (WorkQueue::dispatchAfterDelay): * PlatformEfl.cmake: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@112353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 18 Dec, 2011 1 commit
-
-
andersca@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=74773 Reviewed by Darin Adler. * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::open): (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination): * Platform/CoreIPC/win/ConnectionWin.cpp: (CoreIPC::Connection::open): * Platform/RunLoop.cpp: (RunLoop::performWork): (RunLoop::dispatch): * Platform/RunLoop.h: * Platform/WorkQueue.cpp: * Platform/WorkQueue.h: (WorkQueue::WorkItemWin::function): * Platform/gtk/WorkQueueGtk.cpp: (WorkQueue::EventSource::EventSource): (WorkQueue::EventSource::executeEventSource): (WorkQueue::registerEventSourceHandler): (WorkQueue::dispatchOnSource): (WorkQueue::dispatch): (WorkQueue::dispatchAfterDelay): (WorkQueue::dispatchOnTermination): * Platform/mac/WorkQueueMac.cpp: (WorkQueue::executeFunction): (WorkQueue::dispatch): (WorkQueue::dispatchAfterDelay): * Platform/qt/WorkQueueQt.cpp: (WorkQueue::WorkItemQt::WorkItemQt): (WorkQueue::WorkItemQt::~WorkItemQt): (WorkQueue::WorkItemQt::execute): (WorkQueue::registerSocketEventHandler): (WorkQueue::dispatch): (WorkQueue::dispatchAfterDelay): (WorkQueue::dispatchOnTermination): * Platform/win/RunLoopWin.cpp: (RunLoop::wakeUp): * Platform/win/WorkQueueWin.cpp: (WorkQueue::WorkItemWin::WorkItemWin): (WorkQueue::WorkItemWin::create): (WorkQueue::HandleWorkItem::HandleWorkItem): (WorkQueue::HandleWorkItem::createByAdoptingHandle): (WorkQueue::registerHandle): (WorkQueue::dispatch): * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Launcher/win/ProcessLauncherWin.cpp: (WebKit::ProcessLauncher::launchProcess): * WebProcess/mac/CoreIPCClientRunLoop.mm: (WebKit::callOnCoreIPCClientRunLoopAndWait): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@103178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 16 Nov, 2011 1 commit
-
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=72392 Patch by Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> on 2011-11-16 Reviewed by Simon Hausmann. Add QWeakPointer to SocketNotifierResourceGuard::m_socketNotifier to track deallocation of referenced object. * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::SocketNotifierResourceGuard::SocketNotifierResourceGuard): (CoreIPC::SocketNotifierResourceGuard::~SocketNotifierResourceGuard): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@100455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 09 Nov, 2011 1 commit
-
-
hausmann@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=71794 Reviewed by Andreas Kling. Source/JavaScriptCore: Add compat headers for use when building with Qt 4: QGuiApplication is typedef'ed to QApplication. * wtf/qt/compat/QGuiApplication: Added. * wtf/qt/compat/qguiapplication.h: Added. Source/WebCore: * Target.pri: Add compat include dir when compiling with Qt 4. * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: (FullScreenVideoWindow::closeEvent): Replace use of QApplication with QGuiApplication. (FullScreenVideoWindow::hideCursor): Ditto. (FullScreenVideoWindow::showCursor): Ditto. * platform/graphics/qt/TileQt.cpp: Remove unnecessary inclusion of QApplication. * platform/qt/ClipboardQt.cpp: Replace use of QApplication with QGuiApplication. (WebCore::ClipboardQt::ClipboardQt): (WebCore::ClipboardQt::clearData): (WebCore::ClipboardQt::clearAllData): (WebCore::ClipboardQt::setData): (WebCore::ClipboardQt::declareAndWriteDragImage): (WebCore::ClipboardQt::writeURL): (WebCore::ClipboardQt::writeRange): (WebCore::ClipboardQt::writePlainText): * platform/qt/PasteboardQt.cpp: Ditto. (WebCore::Pasteboard::writeSelection): (WebCore::Pasteboard::canSmartReplace): (WebCore::Pasteboard::plainText): (WebCore::Pasteboard::documentFragment): (WebCore::Pasteboard::writePlainText): (WebCore::Pasteboard::writeURL): (WebCore::Pasteboard::writeImage): Source/WebKit/qt: * WebCoreSupport/QtWebComboBox.cpp: (WebCore::QtWebComboBox::showPopupAtCursorPosition): Replace use of QApplication with QCoreApplication. Source/WebKit2: * Platform/CoreIPC/unix/ConnectionUnix.cpp: Remove unnecessary QApplication inclusion. * Platform/qt/RunLoopQt.cpp: Replace QApplication include with QCoreApplication. * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Ditto. * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Remove unnecessary QApplication inclusion. * UIProcess/qt/QtWebPageProxy.cpp: (QtWebPageProxy::handleMousePressEvent): Replace QApplication usage with QStyleHints. (QtWebPageProxy::handleMouseDoubleClickEvent): Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99664 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 14 Jul, 2011 1 commit
-
-
carlosgc@webkit.org authored
[UNIX] Allow sending null handles in messages https://bugs.webkit.org/show_bug.cgi?id=60621 Only valid file descriptors are now sent using sendmsg() control messages, and instead of sending a list of attachment sizes we now send a list of AttachmentInfo structs. AttachmentInfo contains information about the attachments including the size for MappedMemory attachmens and whether the attachment is null or not. * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::AttachmentInfo::AttachmentInfo): New class containing information about the attachments sent. (CoreIPC::AttachmentInfo::setType): Set the attachment type. (CoreIPC::AttachmentInfo::getType): Return the attachment type. (CoreIPC::AttachmentInfo::setSize): Set the size for MappedMemory attachments. (CoreIPC::AttachmentInfo::getSize): Get the size for MappedMemory attachments. (CoreIPC::AttachmentInfo::setNull): Set attachment as null, it contains an invalid file descriptor, so the receiver shouldn't expect a file desriptor for this attachment. (CoreIPC::AttachmentInfo::isNull): Return whether attachment is null, it contains an invalid file descriptor. (CoreIPC::Connection::processMessage): (CoreIPC::Connection::sendOutgoingMessage): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 22 Jun, 2011 1 commit
-
-
carlosgc@webkit.org authored
Reviewed by Martin Robinson. [GTK] Remove Connection::setShouldCloseConnectionOnProcessTermination() https://bugs.webkit.org/show_bug.cgi?id=61627 Don't use Connection::setShouldCloseConnectionOnProcessTermination() for the GTK port, when the process finishes the connection is closed and the other process is already notified. We still need to monitor the child process so that it doesn't become a zombie when it dntabi * Platform/CoreIPC/Connection.h: * Platform/CoreIPC/unix/ConnectionUnix.cpp: * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: (WebKit::childFinishedFunction): (WebKit::ProcessLauncher::launchProcess): * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didFinishLaunching): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@89433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 06 Jun, 2011 1 commit
-
-
carlosgc@webkit.org authored
Reviewed by Anders Carlsson. [UNIX] SOCK_DGRAM sockets are not notified when the other end closes the connection https://bugs.webkit.org/show_bug.cgi?id=61538 Use SOCK_STREAM instead of SOCK_DGRAM sockets. Rework the message receiver code to support stream sockets, since it requires to handle message boundaries. The same code works for DGRAM sockets, so this change shouldn't break other ports using DGRAM. * Platform/CoreIPC/Connection.h: * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::platformInitialize): (CoreIPC::Connection::processMessage): Process messages from data already received. (CoreIPC::readBytesFromSocket): Read from socket using recvmsg(). (CoreIPC::Connection::readyReadHandler): * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: (WebKit::ProcessLauncher::launchProcess): Use SOCK_DGRAM in socketpair(). git-svn-id: http://svn.webkit.org/repository/webkit/trunk@88147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 30 May, 2011 1 commit
-
-
carlosgc@webkit.org authored
Reviewed by Martin Robinson. [GTK] Remove some unneeded header includes https://bugs.webkit.org/show_bug.cgi?id=60536 * Platform/CoreIPC/Connection.cpp: Remove WebProcess.h. * Platform/CoreIPC/unix/ConnectionUnix.cpp: Remove ProcessLauncher.h and WebProcessProxy.h. Add <wtf/OwnArrayPtr.h>. * WebProcess/Plugins/Netscape/NPJSObject.cpp: Remove PluginView.h. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 08 Apr, 2011 2 commits
-
-
commit-queue@webkit.org authored
Reviewed by Martin Robinson. [Qt][WK2][Symbian] Remove use of stack arrays with variable size https://bugs.webkit.org/show_bug.cgi?id=57877 For better compiler portability, use new/delete for arrays when size isn't known at compile time. Also fix one compiler warning about bitshift operations on signed integer * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::readyReadHandler): (CoreIPC::Connection::sendOutgoingMessage): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83323 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
carlosgc@webkit.org authored
Reviewed by Martin Robinson. [GTK] Close connection when web process finishes https://bugs.webkit.org/show_bug.cgi?id=57540 * Platform/CoreIPC/Connection.h: * Platform/CoreIPC/unix/ConnectionUnix.cpp: * Platform/PlatformProcessIdentifier.h: Use GPid as process identifier. * Platform/WorkQueue.h: * Platform/gtk/WorkQueueGtk.cpp: (WorkQueue::EventSource::EventSource): Add cancellable parameter. (WorkQueue::EventSource::cancel): New method to cancel the source. (WorkQueue::EventSource::performWorkOnTermination): New method to execute a work item called when child process has finished. (WorkQueue::registerEventSourceHandler): Create a GCancellable for the socket source. (WorkQueue::unregisterEventSourceHandler): Cancel the source instead of destroying it, this will cause the source to trigger with condition = 0, which makes the callback return FALSE and the source is destroyed. (WorkQueue::scheduleWorkOnSource): Pass NULL as cancellable for idle and timeout sources. (WorkQueue::scheduleWorkOnTermination): Create a child watch source to monitor the child process. * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: (WebKit::ProcessLauncher::launchProcess): Use GPid instead of int as process identifier. * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didFinishLaunching): Call WorkQueue::scheduleWorkOnTermination() for GTK platform too when web process has been launched. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 07 Apr, 2011 1 commit
-
-
mrobinson@webkit.org authored
Reviewed by Kenneth Rohde Christiansen. [GTK] Implement SharedMemory for WebKit2 https://bugs.webkit.org/show_bug.cgi?id=49791 Share the SharedMemory, Attachment and Connection implementations with the Qt port. Both implementation are, in fact, general Unix implementations using standard Unix domain sockets and sendmsg / recvmsg. This should reduce the amount of duplicated code greatly and lay the groundwork for GTK+/Qt implementations for other operating systems. * GNUmakefile.am: Replaced GTK+ versions of files with the Unix ones. * Platform/CoreIPC/ArgumentDecoder.cpp: Extended Qt #ifdefs to include GTK. (CoreIPC::ArgumentDecoder::~ArgumentDecoder): * Platform/CoreIPC/ArgumentEncoder.cpp: Ditto. (CoreIPC::ArgumentEncoder::~ArgumentEncoder): * Platform/CoreIPC/Attachment.h: Ditto. * Platform/CoreIPC/Connection.h: Combined the GTK+ and Qt sections. * Platform/CoreIPC/unix/AttachmentUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/qt/AttachmentQt.cpp. * Platform/CoreIPC/unix/ConnectionUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/qt/ConnectionQt.cpp. * Platform/unix/SharedMemoryUnix.cpp: Renamed from Source/WebKit2/Platform/qt/SharedMemoryQt.cpp. * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: (WebKit::ProcessLauncher::launchProcess): Use SOCK_DGRAM instead of SOCK_STREAM to match Qt. * WebKit2.pro: Updated source list to reflect file renaming. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 06 Apr, 2011 1 commit
-
-
commit-queue@webkit.org authored
Reviewed by Benjamin Poulain. [Qt][WK2][Symbian] Remove use of stack arrays with variable size https://bugs.webkit.org/show_bug.cgi?id=57877 For better compiler portability, use new/delete for arrays when size isn't known at compile time. Also fix one compiler warning about bitshift operations on signed integers. * Platform/CoreIPC/qt/ConnectionQt.cpp: (CoreIPC::Connection::readyReadHandler): (CoreIPC::Connection::sendOutgoingMessage): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 06 Feb, 2011 1 commit
-
-
commit-queue@webkit.org authored
Reviewed by Andreas Kling. [Qt] WebKit does not build on Mac with WebKit 2 https://bugs.webkit.org/show_bug.cgi?id=53380 * Platform/CoreIPC/qt/ConnectionQt.cpp: Use fcntl() to set close on exec so we do not rely on recent kernel. (CoreIPC::Connection::readyReadHandler): * Platform/qt/SharedMemoryQt.cpp: ditto (WebKit::SharedMemory::create): (WebKit::SharedMemory::createHandle): * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Guard prctl() since it is a Linux specific function. (WebKit::QtWebProcess::setupChildProcess): * UIProcess/DrawingAreaProxy.h: Differentiate between building on Mac and the Mac port. * UIProcess/DrawingAreaProxyImpl.cpp: ditto * UIProcess/WebPageProxy.cpp: ditto (WebKit::WebPageProxy::didReceiveMessage): * WebProcess/WebPage/DrawingArea.cpp: ditto (WebKit::DrawingArea::create): * WebProcess/WebPage/DrawingArea.h: * WebProcess/WebPage/DrawingAreaImpl.cpp: ditto * WebProcess/WebPage/WebPage.cpp: ditto (WebKit::WebPage::didReceiveMessage): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77765 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 27 Jan, 2011 1 commit
-
-
laszlo.1.gombos@nokia.com authored
Reviewed by Laszlo Gombos. Get rid of prefix header dependency for WebKit2 build system https://bugs.webkit.org/show_bug.cgi?id=50174 Change the style checker so that it enforces config.h include for WebKit2. * Scripts/webkitpy/style/checker.py: 2011-01-27 Greg Coletta <greg.coletta@nokia.com> Reviewed by Laszlo Gombos. Get rid of prefix header dependency for WebKit2 build system https://bugs.webkit.org/show_bug.cgi?id=50174 Guard EmptyProtocalDefinitions.h to make sure it's not included twice. * platform/mac/EmptyProtocolDefinitions.h: 2011-01-27 Greg Coletta <greg.coletta@nokia.com> Reviewed by Laszlo Gombos. Get rid of prefix header dependency for WebKit2 build system. https://bugs.webkit.org/show_bug.cgi?id=50174 Add config.h include explicitelly. * Platform/CoreIPC/ArgumentDecoder.cpp: * Platform/CoreIPC/ArgumentEncoder.cpp: * Platform/CoreIPC/Attachment.cpp: * Platform/CoreIPC/BinarySemaphore.cpp: * Platform/CoreIPC/Connection.cpp: * Platform/CoreIPC/DataReference.cpp: * Platform/CoreIPC/gtk/ConnectionGtk.cpp: * Platform/CoreIPC/mac/ConnectionMac.cpp: * Platform/CoreIPC/qt/ConnectionQt.cpp: * Platform/CoreIPC/win/ConnectionWin.cpp: * Platform/Logging.cpp: * Platform/Module.cpp: * Platform/Region.cpp: * Platform/RunLoop.cpp: * Platform/WorkQueue.cpp: * Platform/cg/CGUtilities.cpp: * Platform/gtk/RunLoopGtk.cpp: * Platform/gtk/SharedMemoryGtk.cpp: * Platform/gtk/WorkQueueGtk.cpp: * Platform/mac/MachUtilities.cpp: * Platform/mac/SharedMemoryMac.cpp: * Platform/mac/WorkQueueMac.cpp: * Platform/qt/MappedMemoryPool.cpp: * Platform/qt/ModuleQt.cpp: * Platform/qt/RunLoopQt.cpp: * Platform/qt/WorkQueueQt.cpp: * Platform/win/ModuleWin.cpp: * Platform/win/RunLoopWin.cpp: * Platform/win/SharedMemoryWin.cpp: * Platform/win/WorkQueueWin.cpp: * PluginProcess/PluginControllerProxy.cpp: * PluginProcess/PluginProcess.cpp: * PluginProcess/WebProcessConnection.cpp: * Scripts/webkit2/messages.py: * Shared/API/c/WKArray.cpp: * Shared/API/c/WKCertificateInfo.cpp: * Shared/API/c/WKContextMenuItem.cpp: * Shared/API/c/WKData.cpp: * Shared/API/c/WKDictionary.cpp: * Shared/API/c/WKError.cpp: * Shared/API/c/WKImage.cpp: * Shared/API/c/WKMutableArray.cpp: * Shared/API/c/WKMutableDictionary.cpp: * Shared/API/c/WKNumber.cpp: * Shared/API/c/WKSecurityOrigin.cpp: * Shared/API/c/WKSerializedScriptValue.cpp: * Shared/API/c/WKString.cpp: * Shared/API/c/WKType.cpp: * Shared/API/c/WKURL.cpp: * Shared/API/c/WKURLRequest.cpp: * Shared/API/c/WKURLResponse.cpp: * Shared/API/c/WKUserContentURLPattern.cpp: * Shared/API/c/cf/WKStringCF.cpp: * Shared/API/c/cf/WKURLCF.cpp: * Shared/API/c/cf/WKURLRequestCF.cpp: * Shared/API/c/cf/WKURLResponseCF.cpp: * Shared/API/c/cg/WKImageCG.cpp: * Shared/API/c/win/WKCertificateInfoWin.cpp: * Shared/ChildProcess.cpp: * Shared/ImmutableArray.cpp: * Shared/ImmutableDictionary.cpp: * Shared/MutableArray.cpp: * Shared/MutableDictionary.cpp: * Shared/OriginAndDatabases.cpp: * Shared/PlatformPopupMenuData.cpp: * Shared/Plugins/NPIdentifierData.cpp: * Shared/Plugins/NPObjectMessageReceiver.cpp: * Shared/Plugins/NPObjectProxy.cpp: * Shared/Plugins/NPRemoteObjectMap.cpp: * Shared/Plugins/NPVariantData.cpp: * Shared/Plugins/Netscape/NetscapePluginModule.cpp: * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: * Shared/Plugins/PluginProcessCreationParameters.cpp: * Shared/PrintInfo.cpp: * Shared/SessionState.cpp: * Shared/ShareableBitmap.cpp: * Shared/UpdateInfo.cpp: * Shared/VisitedLinkTable.cpp: * Shared/WebBackForwardListItem.cpp: * Shared/WebContextMenuItem.cpp: * Shared/WebContextMenuItemData.cpp: * Shared/WebError.cpp: * Shared/WebEvent.cpp: * Shared/WebEventConversion.cpp: * Shared/WebGeolocationPosition.cpp: * Shared/WebImage.cpp: * Shared/WebKeyboardEvent.cpp: * Shared/WebMemorySampler.cpp: * Shared/WebMouseEvent.cpp: * Shared/WebOpenPanelParameters.cpp: * Shared/WebPageCreationParameters.cpp: * Shared/WebPageGroupData.cpp: * Shared/WebPlatformTouchPoint.cpp: * Shared/WebPopupItem.cpp: * Shared/WebPreferencesStore.cpp: * Shared/WebProcessCreationParameters.cpp: * Shared/WebTouchEvent.cpp: * Shared/WebURLRequest.cpp: * Shared/WebURLResponse.cpp: * Shared/WebWheelEvent.cpp: * Shared/cairo/ShareableBitmapCairo.cpp: * Shared/cf/ArgumentCodersCF.cpp: * Shared/cg/ShareableBitmapCG.cpp: * Shared/gtk/ShareableBitmapGtk.cpp: * Shared/gtk/WebCoreArgumentCodersGtk.cpp: * Shared/mac/CommandLineMac.cpp: * Shared/mac/UpdateChunk.cpp: * Shared/qt/CleanupHandler.cpp: * Shared/qt/NativeWebKeyboardEventQt.cpp: * Shared/qt/ShareableBitmapQt.cpp: * Shared/qt/UpdateChunk.cpp: * Shared/qt/WebCoreArgumentCodersQt.cpp: * Shared/qt/WebEventFactoryQt.cpp: * Shared/qt/WebURLRequestQt.cpp: * Shared/qt/WebURLResponseQt.cpp: * Shared/win/CommandLineWin.cpp: * Shared/win/NativeWebKeyboardEventWin.cpp: * Shared/win/PlatformCertificateInfo.cpp: * Shared/win/UpdateChunk.cpp: * Shared/win/WebCoreArgumentCodersWin.cpp: * Shared/win/WebEventFactory.cpp: * Shared/win/WebURLRequestWin.cpp: * Shared/win/WebURLResponseWin.cpp: * UIProcess/API/C/WKAuthenticationChallenge.cpp: * UIProcess/API/C/WKAuthenticationDecisionListener.cpp: * UIProcess/API/C/WKBackForwardList.cpp: * UIProcess/API/C/WKBackForwardListItem.cpp: * UIProcess/API/C/WKContext.cpp: * UIProcess/API/C/WKCredential.cpp: * UIProcess/API/C/WKDatabaseManager.cpp: * UIProcess/API/C/WKDownload.cpp: * UIProcess/API/C/WKFormSubmissionListener.cpp: * UIProcess/API/C/WKFrame.cpp: * UIProcess/API/C/WKFramePolicyListener.cpp: * UIProcess/API/C/WKGeolocationManager.cpp: * UIProcess/API/C/WKGeolocationPermissionRequest.cpp: * UIProcess/API/C/WKGeolocationPosition.cpp: * UIProcess/API/C/WKInspector.cpp: * UIProcess/API/C/WKNavigationData.cpp: * UIProcess/API/C/WKOpenPanelParameters.cpp: * UIProcess/API/C/WKOpenPanelResultListener.cpp: * UIProcess/API/C/WKPage.cpp: * UIProcess/API/C/WKPageGroup.cpp: * UIProcess/API/C/WKPreferences.cpp: * UIProcess/API/C/WKProtectionSpace.cpp: * UIProcess/API/C/win/WKContextWin.cpp: * UIProcess/API/C/win/WKView.cpp: * UIProcess/API/C/win/WKViewPrivate.cpp: * UIProcess/API/cpp/qt/WKStringQt.cpp: * UIProcess/API/cpp/qt/WKURLQt.cpp: * UIProcess/API/qt/ClientImpl.cpp: * UIProcess/API/qt/qgraphicswkview.cpp: * UIProcess/API/qt/qwkcontext.cpp: * UIProcess/API/qt/qwkpage.cpp: * UIProcess/API/qt/qwkpreferences.cpp: * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: * UIProcess/Authentication/AuthenticationDecisionListener.cpp: * UIProcess/Authentication/WebCredential.cpp: * UIProcess/Authentication/WebProtectionSpace.cpp: * UIProcess/BackingStore.cpp: * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: * UIProcess/Downloads/DownloadProxy.cpp: * UIProcess/DrawingAreaProxy.cpp: * UIProcess/DrawingAreaProxyImpl.cpp: * UIProcess/FindIndicator.cpp: * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: * UIProcess/GeolocationPermissionRequestProxy.cpp: * UIProcess/Launcher/ProcessLauncher.cpp: * UIProcess/Launcher/ThreadLauncher.cpp: * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: * UIProcess/Launcher/win/ProcessLauncherWin.cpp: * UIProcess/Launcher/win/ThreadLauncherWin.cpp: * UIProcess/LayerBackedDrawingAreaProxy.cpp: * UIProcess/Plugins/PluginInfoStore.cpp: * UIProcess/Plugins/PluginProcessManager.cpp: * UIProcess/Plugins/PluginProcessProxy.cpp: * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: * UIProcess/ResponsivenessTimer.cpp: * UIProcess/TiledDrawingAreaProxy.cpp: * UIProcess/VisitedLinkProvider.cpp: * UIProcess/WebBackForwardList.cpp: * UIProcess/WebContext.cpp: * UIProcess/WebContextInjectedBundleClient.cpp: * UIProcess/WebContextMenuProxy.cpp: * UIProcess/WebDatabaseManagerProxy.cpp: * UIProcess/WebDatabaseManagerProxyClient.cpp: * UIProcess/WebDownloadClient.cpp: * UIProcess/WebEditCommandProxy.cpp: * UIProcess/WebFindClient.cpp: * UIProcess/WebFormClient.cpp: * UIProcess/WebFormSubmissionListenerProxy.cpp: * UIProcess/WebFrameListenerProxy.cpp: * UIProcess/WebFramePolicyListenerProxy.cpp: * UIProcess/WebFrameProxy.cpp: * UIProcess/WebGeolocationManagerProxy.cpp: * UIProcess/WebGeolocationProvider.cpp: * UIProcess/WebHistoryClient.cpp: * UIProcess/WebInspectorProxy.cpp: * UIProcess/WebLoaderClient.cpp: * UIProcess/WebNavigationData.cpp: * UIProcess/WebOpenPanelResultListenerProxy.cpp: * UIProcess/WebPageContextMenuClient.cpp: * UIProcess/WebPageGroup.cpp: * UIProcess/WebPageProxy.cpp: * UIProcess/WebPolicyClient.cpp: * UIProcess/WebPreferences.cpp: * UIProcess/WebProcessManager.cpp: * UIProcess/WebProcessProxy.cpp: * UIProcess/WebResourceLoadClient.cpp: * UIProcess/WebUIClient.cpp: * UIProcess/cf/WebBackForwardListCF.cpp: * UIProcess/cf/WebPageProxyCF.cpp: * UIProcess/cf/WebPreferencesCF.cpp: * UIProcess/gtk/TextCheckerGtk.cpp: * UIProcess/gtk/WebInspectorGtk.cpp: * UIProcess/gtk/WebPageProxyGtk.cpp: * UIProcess/gtk/WebPreferencesGtk.cpp: * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: * UIProcess/qt/TextCheckerQt.cpp: * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: * UIProcess/qt/TiledDrawingAreaTileQt.cpp: * UIProcess/qt/WebContextMenuProxyQt.cpp: * UIProcess/qt/WebContextQt.cpp: * UIProcess/qt/WebInspectorProxyQt.cpp: * UIProcess/qt/WebPageProxyQt.cpp: * UIProcess/qt/WebPopupMenuProxyQt.cpp: * UIProcess/qt/WebPreferencesQt.cpp: * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp: * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: * UIProcess/win/TextCheckerWin.cpp: * UIProcess/win/WebContextMenuProxyWin.cpp: * UIProcess/win/WebContextWin.cpp: * UIProcess/win/WebInspectorProxyWin.cpp: * UIProcess/win/WebPageProxyWin.cpp: * UIProcess/win/WebPopupMenuProxyWin.cpp: * UIProcess/win/WebView.cpp: * WebKit2.xcodeproj/project.pbxproj: * WebProcess/Authentication/AuthenticationManager.cpp: * WebProcess/Downloads/Download.cpp: * WebProcess/Downloads/DownloadManager.cpp: * WebProcess/Downloads/cf/DownloadCFNet.cpp: * WebProcess/Downloads/curl/DownloadCurl.cpp: * WebProcess/Downloads/qt/DownloadQt.cpp: * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: * WebProcess/Geolocation/WebGeolocationManager.cpp: * WebProcess/InjectedBundle/API/c/WKBundle.cpp: * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp: * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp: * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp: * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp: * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: * WebProcess/InjectedBundle/InjectedBundle.cpp: * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp: * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp: * WebProcess/InjectedBundle/InjectedBundleClient.cpp: * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: * WebProcess/Plugins/Netscape/JSNPMethod.cpp: * WebProcess/Plugins/Netscape/JSNPObject.cpp: * WebProcess/Plugins/Netscape/NPJSObject.cpp: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp: * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: * WebProcess/Plugins/Plugin.cpp: * WebProcess/Plugins/PluginProcessConnection.cpp: * WebProcess/Plugins/PluginProcessConnectionManager.cpp: * WebProcess/Plugins/PluginProxy.cpp: * WebProcess/Plugins/PluginView.cpp: * WebProcess/WebCoreSupport/WebChromeClient.cpp: * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: * WebProcess/WebCoreSupport/WebDragClient.cpp: * WebProcess/WebCoreSupport/WebEditorClient.cpp: * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: * WebProcess/WebCoreSupport/WebGeolocationClient.cpp: * WebProcess/WebCoreSupport/WebInspectorClient.cpp: * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: * WebProcess/WebCoreSupport/WebPopupMenu.cpp: * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp: * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp: * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: * WebProcess/WebKitMain.cpp: * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: * WebProcess/WebPage/DecoderAdapter.cpp: * WebProcess/WebPage/DrawingArea.cpp: * WebProcess/WebPage/DrawingAreaImpl.cpp: * WebProcess/WebPage/EncoderAdapter.cpp: * WebProcess/WebPage/FindController.cpp: * WebProcess/WebPage/LayerBackedDrawingArea.cpp: * WebProcess/WebPage/PageOverlay.cpp: * WebProcess/WebPage/TiledDrawingArea.cpp: * WebProcess/WebPage/WebBackForwardListProxy.cpp: * WebProcess/WebPage/WebContextMenu.cpp: * WebProcess/WebPage/WebEditCommand.cpp: * WebProcess/WebPage/WebFrame.cpp: * WebProcess/WebPage/WebInspector.cpp: * WebProcess/WebPage/WebOpenPanelResultListener.cpp: * WebProcess/WebPage/WebPage.cpp: * WebProcess/WebPage/WebPageGroupProxy.cpp: * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp: * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: * WebProcess/WebPage/qt/WebInspectorQt.cpp: * WebProcess/WebPage/qt/WebPageQt.cpp: * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp: * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: * WebProcess/WebPage/win/WebInspectorWin.cpp: * WebProcess/WebPage/win/WebPageWin.cpp: * WebProcess/WebProcess.cpp: * WebProcess/gtk/WebProcessGtk.cpp: * WebProcess/gtk/WebProcessMainGtk.cpp: * WebProcess/qt/WebProcessMainQt.cpp: * WebProcess/qt/WebProcessQt.cpp: * WebProcess/win/WebProcessMainWin.cpp: * WebProcess/win/WebProcessWin.cpp: * config.h: Copied from Source/WebKit2/WebKit2Prefix.h. * win/WebKit2Common.vsprops: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 24 Jan, 2011 1 commit
-
-
commit-queue@webkit.org authored
Reviewed by Kenneth Rohde Christiansen. [Qt] Remove CleanupHandler by passing file descriptors. Deleting files in signal handler of UI process is not a good idea, because the memory where filenames are stored might not be valid after a crash. To avoid the need of using signal handlers for cleanup, change following: 1) Avoid passing filenames between processes, pass fds 2) When mmap'ing files, delete them immediately after opening and mmap'ing them. 3) Pass sockets with fds during fork+exec instead of passing them via the filesystem. 4) Use mmap'ed files for implementation of SharedMemory. QSharedMemory does not support cleanup correctly. Consquences: - Move MappedMemory to SharedMemory, make UpdateChunk use this. - Implement CoreIPC::Attachment using mmaped files. - Send messages using datagram socket. This solution works similiarly to Mach ports on Mac. - Send big messages out-of-line and thus avoid increasing the receive buffer. - Remove MemoryMappedPool and rely on libc/kernel caching of mmapped areas. - Unmap memory areas after use. - When UI process crashes, kill the web process using SIGKILL. This is possible again because cleanup handler is not needed. [WK2][Qt] Multiple problems with MemoryMappedPool https://bugs.webkit.org/show_bug.cgi?id=51984 * Platform/CoreIPC/Attachment.cpp: (CoreIPC::Attachment::Attachment): * Platform/CoreIPC/Attachment.h: (CoreIPC::Attachment::size): (CoreIPC::Attachment::releaseFileDescriptor): (CoreIPC::Attachment::fileDescriptor): * Platform/CoreIPC/Connection.h: * Platform/CoreIPC/qt/ConnectionQt.cpp: (CoreIPC::MessageInfo::MessageInfo): (CoreIPC::MessageInfo::setMessageBodyOOL): (CoreIPC::MessageInfo::isMessageBodyOOL): (CoreIPC::MessageInfo::bodySize): (CoreIPC::MessageInfo::messageID): (CoreIPC::MessageInfo::attachmentCount): (CoreIPC::Connection::platformInitialize): (CoreIPC::Connection::platformInvalidate): (CoreIPC::SocketNotifierDisableGuard::SocketNotifierDisableGuard): (CoreIPC::SocketNotifierDisableGuard::~SocketNotifierDisableGuard): (CoreIPC::Connection::readyReadHandler): (CoreIPC::Connection::open): (CoreIPC::Connection::platformCanSendOutgoingMessages): (CoreIPC::Connection::sendOutgoingMessage): * Platform/SharedMemory.h: * Platform/WorkQueue.h: * Platform/qt/MappedMemoryPool.cpp: Removed. * Platform/qt/MappedMemoryPool.h: Removed. * Platform/qt/SharedMemoryQt.cpp: (WebKit::SharedMemory::Handle::Handle): (WebKit::SharedMemory::Handle::~Handle): (WebKit::SharedMemory::Handle::isNull): (WebKit::SharedMemory::Handle::encode): (WebKit::SharedMemory::Handle::decode): (WebKit::SharedMemory::Handle::releaseToAttachment): (WebKit::SharedMemory::Handle::adoptFromAttachment): (WebKit::SharedMemory::create): (WebKit::accessModeMMap): (WebKit::SharedMemory::~SharedMemory): (WebKit::accessModeFile): (WebKit::SharedMemory::createHandle): * Platform/qt/WorkQueueQt.cpp: (WorkQueue::registerSocketEventHandler): * Shared/qt/UpdateChunk.cpp: (WebKit::UpdateChunk::UpdateChunk): (WebKit::UpdateChunk::~UpdateChunk): (WebKit::UpdateChunk::encode): (WebKit::UpdateChunk::decode): (WebKit::UpdateChunk::createImage): * Shared/qt/UpdateChunk.h: * UIProcess/Launcher/ProcessLauncher.h: * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: (WebKit::QtWebProcess::QtWebProcess): (WebKit::QtWebProcess::setupChildProcess): (WebKit::ProcessLauncher::launchProcess): (WebKit::ProcessLauncher::platformInvalidate): * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: (WebKit::webThreadBody): (WebKit::ThreadLauncher::createWebThread): * WebKit2.pro: * WebProcess/qt/WebProcessMainQt.cpp: (WebKit::WebProcessMainQt): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 15 Jan, 2011 1 commit
-
-
abarth@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=52438 Rubber-stamped by Eric Seidel. .: Update reference to WebKit2. * DerivedSources.pro: * GNUmakefile.am: * Makefile: * Source/cmake/WebKitPackaging.cmake: * WebKit.pro: * configure.ac: Source/WebCore: * WebCore.pro: Source/WebKit2: * DerivedSources.pro: * GNUmakefile.am: * WebKit2.pro: * WebProcess.pro: * win/WebKit2.vcproj: * win/WebKit2WebProcess.vcproj: Tools: * MiniBrowser/qt/MiniBrowser.pro: * Scripts/build-webkit: * Scripts/do-file-rename: * Scripts/do-webcore-rename: * Scripts/test-webkitpy: * Scripts/webkitdirs.pm: * Scripts/webkitpy/style/checker.py: * WebKitTestRunner/DerivedSources.pro: * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: * WebKitTestRunner/qt/WebKitTestRunner.pro: WebKit/win: Update reference to WebKit2. * WebKit.vcproj/WebKit.sln: Websites/bugs.webkit.org: Remove WebKit2 from the list of top-level source directories. * PrettyPatch/PrettyPatch.rb: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75880 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 04 Jan, 2011 1 commit
-
-
kbalazs@webkit.org authored
Reviewed by Kenneth Rohde Christiansen. [Qt][WK2] Incomplete clean up on termination https://bugs.webkit.org/show_bug.cgi?id=51474 Do not kill the web process to force it's termination. Fix object destruction and cleanup logic and make the cleanup more reliable. Do not try to cleanup on crash because it is not reliable. * Platform/CoreIPC/qt/ConnectionQt.cpp: (CoreIPC::Connection::platformInvalidate): Do not delete the socket if we do not own it. This is the case with a server connection. * Platform/qt/MappedMemoryPool.cpp: Turn MappedMemoryPool into a QObject so the CleanupHandler can destruct it in the same way as the other objects. (WebKit::MappedMemoryPool::instance): (WebKit::MappedMemoryPool::~MappedMemoryPool): * Platform/qt/MappedMemoryPool.h: (WebKit::MappedMemoryPool::MappedMemoryPool): * Platform/qt/SharedMemoryQt.cpp: (WebKit::SharedMemory::create): No need to care about QCoreApplication::aboutToQuit. It is handled by the CleanupHandler. (WebKit::SharedMemory::~SharedMemory): Ditto. * Shared/qt/CleanupHandler.cpp: Renamed from WebKit2/Shared/qt/CrashHandler.cpp. No longer try to handle crash but just normal termination. (WebKit::CleanupHandler::CleanupHandler): Connect deleteObjects with QCoreApplication::aboutToQuit. Ensure appropriate thread affinity. (WebKit::CleanupHandler::sigTermHandler): Stop the main event loop. (WebKit::CleanupHandler::deleteObjects): Use deleteLater instead of delete since it is more reliable. * Shared/qt/CleanupHandler.h: Renamed from WebKit2/Shared/qt/CrashHandler.h. (WebKit::CleanupHandler::instance): (WebKit::CleanupHandler::markForCleanup): (WebKit::CleanupHandler::unmark): * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Do not kill the web process immidiately but give it a chance to cleanup. Use QLocalServer::removeServer for assuring that the socket file will be removed. (WebKit::ProcessLauncherHelper::serverName): (WebKit::cleanupAtExit): Renamed from cleanupProcesses. Only kill the web process when it times out terminating. Fixed the bug of changing the list while iterating it over by disconnecting from the processStateChanged slot. (WebKit::QtWebProcess::QtWebProcess): Added missing meta type registration of QProcess::ProcessState. (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper): (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): No need to add the the instance to the CleanupHandler because we will remove the socket file in cleanupAtExit. (WebKit::ProcessLauncherHelper::instance): (WebKit::ProcessLauncher::terminateProcess): * WebKit2.pro: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 20 Dec, 2010 2 commits
-
-
andersca@apple.com authored
Unreviewed, rolling out r74345. http://trac.webkit.org/changeset/74345 https://bugs.webkit.org/show_bug.cgi?id=51115 Not the correct fix. * Platform/CoreIPC/Connection.h: * Platform/CoreIPC/qt/ConnectionQt.cpp: (CoreIPC::Connection::open): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
kbalazs@webkit.org authored
Reviewed by Kenneth Rohde Christiansen. [Qt][WK2] Crash in web process after the connection had been closed https://bugs.webkit.org/show_bug.cgi?id=51115 Do not call connectionDidClose with a connection that has been explicitly invalidated on the listener thread. * Platform/CoreIPC/Connection.h: * Platform/CoreIPC/qt/ConnectionQt.cpp: (CoreIPC::Connection::disconnectHandler): Added. (CoreIPC::Connection::open): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-