1. 22 Jan, 2014 1 commit
  2. 20 Jan, 2014 1 commit
  3. 30 Dec, 2013 2 commits
    • ryuan.choi@samsung.com's avatar
      Replace remaning CoreIPC namespace to IPC · c476ff13
      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
      c476ff13
    • andersca@apple.com's avatar
      Move remaining IPC related files to Platform/IPC. · e808c87e
      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
      e808c87e
  4. 09 Dec, 2013 1 commit
    • svillar@igalia.com's avatar
      [WK2] Add UNIX_DOMAIN_SOCKETS specific bits for supporting NetworkProcess · e78749f6
      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
      e78749f6
  5. 05 Dec, 2013 1 commit
    • zandobersek@gmail.com's avatar
      [GTK][WK2] Clean up WorkQueueGtk · 87d488c4
      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
      87d488c4
  6. 04 Oct, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Remove Qt leftovers from WebKit2 · 7ea4fc4f
      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
      7ea4fc4f
  7. 24 Sep, 2013 2 commits
  8. 18 Sep, 2013 1 commit
    • weinig@apple.com's avatar
      Replace use of OwnArrayPtr<Foo> with std::unique_ptr<Foo[]> in WebKit and WebKit2 · f775dcd2
      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
      f775dcd2
  9. 16 Sep, 2013 1 commit
  10. 21 Jun, 2013 1 commit
    • commit-queue@webkit.org's avatar
      [WK2] Looping for EINTR on close() is incorrect for Linux, at least · 5f3341a4
      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
      5f3341a4
  11. 28 May, 2013 1 commit
    • lauro.neto@openbossa.org's avatar
      [GTK] Connection issues in repeated WebProcess crash/reloads. · f2e17ea5
      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
      f2e17ea5
  12. 12 Apr, 2013 1 commit
    • carlosgc@webkit.org's avatar
      [GTK] Web Process crash when the UI process finishes too early · 200d1a66
      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
      200d1a66
  13. 01 Feb, 2013 1 commit
  14. 31 Jan, 2013 2 commits
  15. 29 Jan, 2013 1 commit
  16. 17 Oct, 2012 1 commit
    • andersca@apple.com's avatar
      Add MessageEncoder and MessageDecoder subclasses · 4011f27f
      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
      4011f27f
  17. 10 Sep, 2012 1 commit
  18. 21 May, 2012 1 commit
    • commit-queue@webkit.org's avatar
      Disambiguate WTF::bind and std::bind from C++11 · 6867af3f
      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
      6867af3f
  19. 27 Mar, 2012 1 commit
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Add RunLoopEfl and WorkQueueEfl · e52a8848
      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
      e52a8848
  20. 18 Dec, 2011 1 commit
    • andersca@apple.com's avatar
      Move everyone off of WorkItem · 9f4c17ba
      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
      9f4c17ba
  21. 16 Nov, 2011 1 commit
  22. 09 Nov, 2011 1 commit
    • hausmann@webkit.org's avatar
      [Qt] Replace use of QApplication with QGuiApplication · a8083fca
      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
      a8083fca
  23. 14 Jul, 2011 1 commit
    • carlosgc@webkit.org's avatar
      Reviewed by Anders Carlsson. · 06e171ce
      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
      06e171ce
  24. 22 Jun, 2011 1 commit
    • carlosgc@webkit.org's avatar
      2011-06-22 Carlos Garcia Campos <cgarcia@igalia.com> · 62f3ce6b
      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
      62f3ce6b
  25. 06 Jun, 2011 1 commit
    • carlosgc@webkit.org's avatar
      2011-06-06 Carlos Garcia Campos <cgarcia@igalia.com> · 9709f080
      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
      9709f080
  26. 30 May, 2011 1 commit
  27. 08 Apr, 2011 2 commits
    • commit-queue@webkit.org's avatar
      2011-04-08 Siddharth Mathur <siddharth.mathur@nokia.com> · 13b2b056
      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
      13b2b056
    • carlosgc@webkit.org's avatar
      2011-04-08 Carlos Garcia Campos <cgarcia@igalia.com> · 14f0499e
      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
      14f0499e
  28. 07 Apr, 2011 1 commit
    • mrobinson@webkit.org's avatar
      2011-04-07 Amruth Raj <amruthraj@motorola.com> and Martin Robinson <mrobinson@igalia.com> · 3655e97c
      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
      3655e97c
  29. 06 Apr, 2011 1 commit
  30. 06 Feb, 2011 1 commit
    • commit-queue@webkit.org's avatar
      2011-02-06 Benjamin Poulain <ikipou@gmail.com> · b5a78b99
      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
      b5a78b99
  31. 27 Jan, 2011 1 commit
    • laszlo.1.gombos@nokia.com's avatar
      2011-01-27 Greg Coletta <greg.coletta@nokia.com> · 48183967
      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
      48183967
  32. 24 Jan, 2011 1 commit
    • commit-queue@webkit.org's avatar
      2011-01-24 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com> · 8e2795bd
      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
      8e2795bd
  33. 15 Jan, 2011 1 commit
    • abarth@webkit.org's avatar
      Move WebKit2 into Source · be159d97
      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
      be159d97
  34. 04 Jan, 2011 1 commit
    • kbalazs@webkit.org's avatar
      2011-01-04 Balazs Kelemen <kbalazs@webkit.org> · 2ddfac98
      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
      2ddfac98
  35. 20 Dec, 2010 2 commits