Changeset 86560 in webkit


Ignore:
Timestamp:
May 16, 2011 5:40:59 AM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2011-05-16 Siddharth Mathur <siddharth.mathur@nokia.com>

Reviewed by Laszlo Gombos.

[Qt][WK2][Symbian] Shared memory implementation for Symbian
https://bugs.webkit.org/show_bug.cgi?id=55875

  • wtf/Platform.h: Exclude Symbian OS from USE(UNIX_DOMAIN_SOCKETS) users

2011-05-16 Siddharth Mathur <siddharth.mathur@nokia.com>

Reviewed by Laszlo Gombos.

[Qt][WK2][Symbian] Shared memory implementation for Symbian
https://bugs.webkit.org/show_bug.cgi?id=55875

Use global chunks for sharing data between processes.
This is an initial implementation. An outstanding issue
is the correct way to close() the chunk in the SharedMemory d'tor
without triggering a delete by the kernel when the ref-count
temporarily goes to zero.

  • Platform/SharedMemory.h: platform specific handle and chunk name
  • Platform/qt/SharedMemorySymbian.cpp: Added. Native Symbian OS implementation using RChunk.CreateGlobal() for named chunks. The chunk name is serialized and sent over the IPC channel and opened by the remote process using RChunk.OpenGlobal().

(WebKit::SharedMemory::Handle::Handle):
(WebKit::SharedMemory::Handle::~Handle):
(WebKit::SharedMemory::Handle::isNull):
(WebKit::SharedMemory::Handle::encode):
(WebKit::SharedMemory::Handle::decode):
(WebKit::SharedMemory::create):
(WebKit::SharedMemory::~SharedMemory):
(WebKit::SharedMemory::createHandle):
(WebKit::SharedMemory::systemPageSize):

  • Platform/unix/SharedMemoryUnix.cpp: Exclude Qt-Symbian using HAVE(UNIX_DOMAIN_SOCKETS)
  • WebKit2.pro: Add SharedMemorySymbian.cpp
Location:
trunk/Source
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r86547 r86560  
     12011-05-16  Siddharth Mathur  <siddharth.mathur@nokia.com>
     2
     3        Reviewed by Laszlo Gombos.
     4
     5        [Qt][WK2][Symbian] Shared memory implementation for Symbian
     6        https://bugs.webkit.org/show_bug.cgi?id=55875
     7
     8        * wtf/Platform.h: Exclude Symbian OS from USE(UNIX_DOMAIN_SOCKETS) users
     9
    1102011-05-16  Gavin Barraclough  <barraclough@apple.com>
    211
  • trunk/Source/JavaScriptCore/wtf/Platform.h

    r86432 r86560  
    12111211#define WTF_USE_EXPORT_MACROS 0
    12121212
    1213 #if PLATFORM(QT) || PLATFORM(GTK)
     1213#if (PLATFORM(QT) && !OS(SYMBIAN)) || PLATFORM(GTK)
    12141214#define WTF_USE_UNIX_DOMAIN_SOCKETS 1
    12151215#endif
  • trunk/Source/WebKit2/ChangeLog

    r86549 r86560  
     12011-05-16  Siddharth Mathur  <siddharth.mathur@nokia.com>
     2
     3        Reviewed by Laszlo Gombos.
     4
     5        [Qt][WK2][Symbian] Shared memory implementation for Symbian
     6        https://bugs.webkit.org/show_bug.cgi?id=55875
     7
     8        Use global chunks for sharing data between processes.
     9        This is an initial implementation. An outstanding issue
     10        is the correct way to close() the chunk in the SharedMemory d'tor
     11        without triggering a delete by the kernel when the ref-count
     12        temporarily goes to zero.
     13
     14        * Platform/SharedMemory.h: platform specific handle and chunk name
     15        * Platform/qt/SharedMemorySymbian.cpp: Added. Native Symbian OS implementation
     16        using RChunk.CreateGlobal() for named chunks. The chunk name is serialized
     17        and sent over the IPC channel and opened by the remote process using
     18        RChunk.OpenGlobal().
     19
     20        (WebKit::SharedMemory::Handle::Handle):
     21        (WebKit::SharedMemory::Handle::~Handle):
     22        (WebKit::SharedMemory::Handle::isNull):
     23        (WebKit::SharedMemory::Handle::encode):
     24        (WebKit::SharedMemory::Handle::decode):
     25        (WebKit::SharedMemory::create):
     26        (WebKit::SharedMemory::~SharedMemory):
     27        (WebKit::SharedMemory::createHandle):
     28        (WebKit::SharedMemory::systemPageSize):
     29        * Platform/unix/SharedMemoryUnix.cpp: Exclude Qt-Symbian using HAVE(UNIX_DOMAIN_SOCKETS)
     30        * WebKit2.pro: Add SharedMemorySymbian.cpp
     31
    1322011-05-16  Carlos Garcia Campos  <cgarcia@igalia.com>
    233
  • trunk/Source/WebKit2/Platform/SharedMemory.h

    r85754 r86560  
    7373#elif USE(UNIX_DOMAIN_SOCKETS)
    7474        mutable int m_fileDescriptor;
     75#elif OS(SYMBIAN)
     76        mutable uint32_t m_chunkID;
    7577#endif
    7678        size_t m_size;
     
    109111#elif USE(UNIX_DOMAIN_SOCKETS)
    110112    int m_fileDescriptor;
     113#elif OS(SYMBIAN)
     114    int m_handle;
    111115#endif
    112116};
  • trunk/Source/WebKit2/Platform/unix/SharedMemoryUnix.cpp

    r83215 r86560  
    2727
    2828#include "config.h"
     29#if USE(UNIX_DOMAIN_SOCKETS)
    2930#include "SharedMemory.h"
    3031
     
    237238
    238239} // namespace WebKit
     240
     241#endif
     242
  • trunk/Source/WebKit2/WebKit2.pro

    r85951 r86560  
    322322    Platform/qt/RunLoopQt.cpp \
    323323    Platform/qt/WorkQueueQt.cpp \
     324    Platform/qt/SharedMemorySymbian.cpp \
    324325    Platform/unix/SharedMemoryUnix.cpp \
    325326    PluginProcess/PluginControllerProxy.cpp \
Note: See TracChangeset for help on using the changeset viewer.