Changeset 69029 in webkit


Ignore:
Timestamp:
Oct 4, 2010 1:06:49 PM (13 years ago)
Author:
weinig@apple.com
Message:

Generate messages sent to the WebProcess class.
https://bugs.webkit.org/show_bug.cgi?id=47097

Reviewed by Adam Roben.

  • DerivedSources.make:

Add new file to generate and new directory to search.

  • Scripts/webkit2/messages.py:

(forward_declarations_and_headers): Special case class templates.
(headers_for_type): Special case Vector.

  • Scripts/webkit2/messages_unittest.py:

Make this script work for passing a templated type.

  • Shared/CoreIPCSupport/WebProcessMessageKinds.h: Removed.
  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::initializeHistoryClient):
(WebKit::WebContext::ensureWebProcess):
(WebKit::WebContext::registerURLSchemeAsEmptyDocument):
(WebKit::WebContext::setCacheModel):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::reinitializeWebPage):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy): Always pass both
the bundle path and a key, even if the key is null, which it will be for
all non-mac builds for now.

  • UIProcess/mac/WebProcessProxyMac.mm:

(WebKit::WebProcessProxy::setUpAcceleratedCompositing):

  • UIProcess/win/WebContextWin.cpp:

(WebKit::WebContext::setShouldPaintNativeControls):
(WebKit::WebContext::platformSetUpWebProcess):
Use the new syntax for sending the messages.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::setShouldTrackVisitedLinks):
(WebKit::WebProcess::setCacheModel):
(WebKit::WebProcess::setupAcceleratedCompositingPort):
(WebKit::WebProcess::setShouldPaintNativeControls):
(WebKit::WebProcess::didReceiveMessage):

  • WebProcess/WebProcess.h:

Convert to using generated didReceiveWebProcessMessage.

  • WebProcess/WebProcess.messages.in: Added.
  • WebKit2.pro:
  • WebKit2.xcodeproj/project.pbxproj:
  • win/WebKit2.vcproj:

Update projects.

Location:
trunk/WebKit2
Files:
1 added
1 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r69021 r69029  
     12010-10-04  Sam Weinig  <sam@webkit.org>
     2
     3        Reviewed by Adam Roben.
     4
     5        Generate messages sent to the WebProcess class.
     6        https://bugs.webkit.org/show_bug.cgi?id=47097
     7
     8        * DerivedSources.make:
     9        Add new file to generate and new directory to search.
     10
     11        * Scripts/webkit2/messages.py:
     12        (forward_declarations_and_headers): Special case class templates.
     13        (headers_for_type): Special case Vector.
     14        * Scripts/webkit2/messages_unittest.py:
     15        Make this script work for passing a templated type.
     16
     17        * Shared/CoreIPCSupport/WebProcessMessageKinds.h: Removed.
     18
     19        * UIProcess/VisitedLinkProvider.cpp:
     20        (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
     21        * UIProcess/WebContext.cpp:
     22        (WebKit::WebContext::initializeHistoryClient):
     23        (WebKit::WebContext::ensureWebProcess):
     24        (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
     25        (WebKit::WebContext::setCacheModel):
     26        * UIProcess/WebPageProxy.cpp:
     27        (WebKit::WebPageProxy::initializeWebPage):
     28        (WebKit::WebPageProxy::reinitializeWebPage):
     29        * UIProcess/WebProcessProxy.cpp:
     30        (WebKit::WebProcessProxy::WebProcessProxy): Always pass both
     31        the bundle path and a key, even if the key is null, which it will be for
     32        all non-mac builds for now.
     33        * UIProcess/mac/WebProcessProxyMac.mm:
     34        (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
     35        * UIProcess/win/WebContextWin.cpp:
     36        (WebKit::WebContext::setShouldPaintNativeControls):
     37        (WebKit::WebContext::platformSetUpWebProcess):
     38        Use the new syntax for sending the messages.
     39
     40        * WebProcess/WebProcess.cpp:
     41        (WebKit::WebProcess::setShouldTrackVisitedLinks):
     42        (WebKit::WebProcess::setCacheModel):
     43        (WebKit::WebProcess::setupAcceleratedCompositingPort):
     44        (WebKit::WebProcess::setShouldPaintNativeControls):
     45        (WebKit::WebProcess::didReceiveMessage):
     46        * WebProcess/WebProcess.h:
     47        Convert to using generated didReceiveWebProcessMessage.
     48
     49        * WebProcess/WebProcess.messages.in: Added.
     50
     51        * WebKit2.pro:
     52        * WebKit2.xcodeproj/project.pbxproj:
     53        * win/WebKit2.vcproj:
     54        Update projects.
     55
    1562010-10-04  Sam Weinig  <sam@webkit.org>
    257
  • trunk/WebKit2/DerivedSources.make

    r68612 r69029  
    33    $(WebKit2)/WebProcess/Plugins \
    44    $(WebKit2)/WebProcess/WebPage \
     5    $(WebKit2)/WebProcess \
    56    $(WebKit2)/UIProcess/Plugins \
    67#
     
    1213    PluginProxy \
    1314    WebPage \
     15    WebProcess \
    1416    WebProcessConnection \
    1517#
  • trunk/WebKit2/Scripts/webkit2/messages.py

    r68811 r69029  
    228228    for parameter in receiver.iterparameters():
    229229        type = parameter.type
     230
     231        if type.find('<') != -1:
     232            # Don't forward declare class templates.
     233            headers.update(headers_for_type(type))
     234            continue
     235
    230236        split = type.split('::')
    231237
     
    332338
    333339def headers_for_type(type):
     340    # Check for Vector.
     341    match = re.search(r'Vector<(.+)>', type)
     342    if match:
     343        element_type = match.groups()[0].strip()
     344        return ['<wtf/Vector.h>'] + headers_for_type(element_type)
     345
    334346    special_cases = {
    335347        'WTF::String': '<wtf/text/WTFString.h>',
  • trunk/WebKit2/Scripts/webkit2/messages_unittest.py

    r68811 r69029  
    239239#include "MessageID.h"
    240240#include "Plugin.h"
     241#include <wtf/Vector.h>
    241242
    242243namespace CoreIPC {
  • trunk/WebKit2/UIProcess/VisitedLinkProvider.cpp

    r64775 r69029  
    2929#include "VisitedLinkTable.h"
    3030#include "WebContext.h"
    31 #include "WebProcessMessageKinds.h"
     31#include "WebProcessMessages.h"
    3232
    3333using namespace WebCore;
     
    152152            return;
    153153
    154         m_context->process()->send(WebProcessMessage::SetVisitedLinkTable, 0, CoreIPC::In(handle));
     154        m_context->process()->send(Messages::WebProcess::SetVisitedLinkTable(handle), 0);
    155155    }
    156156   
    157157    // We now need to let the web process know that we've added links.
    158158    if (addedVisitedLinks.size() <= 20) {
    159         m_context->process()->send(WebProcessMessage::VisitedLinkStateChanged, 0, CoreIPC::In(addedVisitedLinks));
     159        m_context->process()->send(Messages::WebProcess::VisitedLinkStateChanged(addedVisitedLinks), 0);
    160160        return;
    161161    }
    162162   
    163163    // Just recalculate all the visited links.
    164     m_context->process()->send(WebProcessMessage::AllVisitedLinkStateChanged, 0, CoreIPC::In());
    165     return;
     164    m_context->process()->send(Messages::WebProcess::AllVisitedLinkStateChanged(), 0);
    166165}
    167166
  • trunk/WebKit2/UIProcess/WebContext.cpp

    r69020 r69029  
    2929#include "InjectedBundleMessageKinds.h"
    3030#include "RunLoop.h"
     31#include "WKContextPrivate.h"
    3132#include "WebContextMessageKinds.h"
    3233#include "WebContextUserMessageCoders.h"
     
    3536#include "WebPreferences.h"
    3637#include "WebProcessManager.h"
    37 #include "WebProcessMessageKinds.h"
     38#include "WebProcessMessages.h"
    3839#include "WebProcessProxy.h"
     40#include <WebCore/LinkHash.h>
    3941#include <wtf/OwnArrayPtr.h>
    4042#include <wtf/PassOwnArrayPtr.h>
    41 
    42 #include "WKContextPrivate.h"
    43 
    44 #include <WebCore/LinkHash.h>
    4543
    4644#ifndef NDEBUG
     
    117115        return;
    118116       
    119     m_process->send(WebProcessMessage::SetShouldTrackVisitedLinks, 0, CoreIPC::In(m_historyClient.shouldTrackVisitedLinks()));
     117    m_process->send(Messages::WebProcess::SetShouldTrackVisitedLinks(m_historyClient.shouldTrackVisitedLinks()), 0);
    120118}
    121119
     
    127125    m_process = WebProcessManager::shared().getWebProcess(this);
    128126
    129     m_process->send(WebProcessMessage::SetShouldTrackVisitedLinks, 0, CoreIPC::In(m_historyClient.shouldTrackVisitedLinks()));
    130     m_process->send(WebProcessMessage::SetCacheModel, 0, CoreIPC::In(static_cast<uint32_t>(m_cacheModel)));
     127    m_process->send(Messages::WebProcess::SetShouldTrackVisitedLinks(m_historyClient.shouldTrackVisitedLinks()), 0);
     128    m_process->send(Messages::WebProcess::SetCacheModel(static_cast<uint32_t>(m_cacheModel)), 0);
    131129
    132130    for (HashSet<String>::iterator it = m_schemesToRegisterAsEmptyDocument.begin(), end = m_schemesToRegisterAsEmptyDocument.end(); it != end; ++it)
    133         m_process->send(WebProcessMessage::RegisterURLSchemeAsEmptyDocument, 0, CoreIPC::In(*it));
     131        m_process->send(Messages::WebProcess::RegisterURLSchemeAsEmptyDocument(*it), 0);
    134132
    135133    for (size_t i = 0; i != m_pendingMessagesToPostToInjectedBundle.size(); ++i) {
     
    284282        return;
    285283
    286     m_process->send(WebProcessMessage::RegisterURLSchemeAsEmptyDocument, 0, CoreIPC::In(urlScheme));
     284    m_process->send(Messages::WebProcess::RegisterURLSchemeAsEmptyDocument(urlScheme), 0);
    287285}
    288286
     
    307305    if (!hasValidProcess())
    308306        return;
    309     m_process->send(WebProcessMessage::SetCacheModel, 0, CoreIPC::In(static_cast<uint32_t>(m_cacheModel)));
     307    m_process->send(Messages::WebProcess::SetCacheModel(static_cast<uint32_t>(m_cacheModel)), 0);
    310308}
    311309
  • trunk/WebKit2/UIProcess/WebPageProxy.cpp

    r68557 r69029  
    4747#include "WebPreferences.h"
    4848#include "WebProcessManager.h"
    49 #include "WebProcessMessageKinds.h"
     49#include "WebProcessMessages.h"
    5050#include "WebProcessProxy.h"
    5151#include "WebURLRequest.h"
     
    156156
    157157    ASSERT(m_drawingArea);
    158 
    159     process()->send(WebProcessMessage::Create, m_pageID, CoreIPC::In(creationParameters(size)));
     158    process()->send(Messages::WebProcess::CreateWebPage(m_pageID, creationParameters(size)), 0);
    160159}
    161160
     
    166165
    167166    ASSERT(m_drawingArea);
    168 
    169     process()->send(WebProcessMessage::Create, m_pageID, CoreIPC::In(creationParameters(size)));
     167    process()->send(Messages::WebProcess::CreateWebPage(m_pageID, creationParameters(size)), 0);
    170168}
    171169
  • trunk/WebKit2/UIProcess/WebProcessProxy.cpp

    r68205 r69029  
    3434#include "WebPageProxy.h"
    3535#include "WebProcessManager.h"
    36 #include "WebProcessMessageKinds.h"
     36#include "WebProcessMessages.h"
    3737#include "WebProcessProxyMessageKinds.h"
    3838#include <WebCore/KURL.h>
     
    6969    String applicationCacheDirectory = m_context->applicationCacheDirectory();
    7070    if (!applicationCacheDirectory.isEmpty())
    71         send(WebProcessMessage::SetApplicationCacheDirectory, 0, CoreIPC::In(applicationCacheDirectory));
     71        send(Messages::WebProcess::SetApplicationCacheDirectory(applicationCacheDirectory), 0);
    7272
    7373    // FIXME: We could instead send the bundle path as part of the arguments to process creation?
     
    7878        CString injectedBundlePath = context->injectedBundlePath().utf8();
    7979        sandbox_issue_extension(injectedBundlePath.data(), &sandboxBundleToken);
    80         send(WebProcessMessage::LoadInjectedBundle, 0, CoreIPC::In(context->injectedBundlePath(), String::fromUTF8(sandboxBundleToken)));
     80        send(Messages::WebProcess::LoadInjectedBundle(context->injectedBundlePath(), String::fromUTF8(sandboxBundleToken)), 0);
    8181        if (sandboxBundleToken)
    8282            free(sandboxBundleToken);
    8383#else
    84         send(WebProcessMessage::LoadInjectedBundle, 0, CoreIPC::In(context->injectedBundlePath()));
     84        send(Messages::WebProcess::LoadInjectedBundle(context->injectedBundlePath(), String()), 0);
    8585#endif
    8686    }
  • trunk/WebKit2/UIProcess/mac/WebProcessProxyMac.mm

    r62392 r69029  
    2828#include "MachPort.h"
    2929#include "WebKitSystemInterface.h"
    30 #include "WebProcessMessageKinds.h"
     30#include "WebProcessMessages.h"
    3131
    3232using namespace WebCore;
     
    4040    mach_port_t renderServerPort = WKInitializeRenderServer();
    4141    if (renderServerPort != MACH_PORT_NULL)
    42         send(WebProcessMessage::SetupAcceleratedCompositingPort, 0, CoreIPC::In(CoreIPC::MachPort(renderServerPort, MACH_MSG_TYPE_COPY_SEND)));
     42        send(Messages::WebProcess::SetUpAcceleratedCompositingPort(CoreIPC::MachPort(renderServerPort, MACH_MSG_TYPE_COPY_SEND)), 0);
    4343#endif
    4444}
  • trunk/WebKit2/UIProcess/win/WebContextWin.cpp

    r65270 r69029  
    2626#include "WebContext.h"
    2727
    28 #include "WebProcessMessageKinds.h"
     28#include "WebProcessMessages.h"
    2929#include <WebCore/FileSystem.h>
    3030
     
    4444    if (!hasValidProcess())
    4545        return;
    46 
    47     m_process->send(WebProcessMessage::SetShouldPaintNativeControls, 0, CoreIPC::In(m_shouldPaintNativeControls));
     46    m_process->send(Messages::WebProcess::SetShouldPaintNativeControls(m_shouldPaintNativeControls), 0);
    4847}
    4948
    5049void WebContext::platformSetUpWebProcess()
    5150{
    52     m_process->send(WebProcessMessage::SetShouldPaintNativeControls, 0, CoreIPC::In(m_shouldPaintNativeControls));
     51    m_process->send(Messages::WebProcess::SetShouldPaintNativeControls(m_shouldPaintNativeControls), 0);
    5352}
    5453
  • trunk/WebKit2/WebKit2.pro

    r69020 r69029  
    141141
    142142WEBKIT2_GENERATED_HEADERS = \
    143     $$OUTPUT_DIR/WebKit2/generated/WebPageMessages.h
     143    $$OUTPUT_DIR/WebKit2/generated/WebPageMessages.h \
     144    $$OUTPUT_DIR/WebKit2/generated/WebProcessMessages.h
    144145
    145146WEBKIT2_GENERATED_SOURCES = \
    146     $$OUTPUT_DIR/WebKit2/generated/WebPageMessageReceiver.cpp
     147    $$OUTPUT_DIR/WebKit2/generated/WebPageMessageReceiver.cpp \
     148    $$OUTPUT_DIR/WebKit2/generated/WebProcessMessageReceiver.cpp
    147149
    148150HEADERS += \
     
    176178    Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h \
    177179    Shared/CoreIPCSupport/WebPageProxyMessageKinds.h \
    178     Shared/CoreIPCSupport/WebProcessMessageKinds.h \
    179180    Shared/CacheModel.h \
    180181    Shared/DrawingAreaBase.h \
  • trunk/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r69020 r69029  
    226226                BC3065C412592F8900E71278 /* WebProcessMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC3065C312592F8900E71278 /* WebProcessMac.mm */; };
    227227                BC3065FA1259344E00E71278 /* CacheModel.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3065F91259344E00E71278 /* CacheModel.h */; };
     228                BC3066BE125A442100E71278 /* WebProcessMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3066BC125A442100E71278 /* WebProcessMessageReceiver.cpp */; };
     229                BC3066BF125A442100E71278 /* WebProcessMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3066BD125A442100E71278 /* WebProcessMessages.h */; };
    228230                BC33DD681238464600360F3F /* WebNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = BC33DD671238464600360F3F /* WebNumber.h */; };
    229231                BC33E0D112408E8600360F3F /* InjectedBundleRangeHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = BC33E0CF12408E8600360F3F /* InjectedBundleRangeHandle.h */; };
     
    675677                BC3065C312592F8900E71278 /* WebProcessMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebProcessMac.mm; sourceTree = "<group>"; };
    676678                BC3065F91259344E00E71278 /* CacheModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CacheModel.h; sourceTree = "<group>"; };
     679                BC3066B9125A436300E71278 /* WebProcess.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebProcess.messages.in; sourceTree = "<group>"; };
     680                BC3066BC125A442100E71278 /* WebProcessMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebProcessMessageReceiver.cpp; sourceTree = "<group>"; };
     681                BC3066BD125A442100E71278 /* WebProcessMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProcessMessages.h; sourceTree = "<group>"; };
    677682                BC33DD671238464600360F3F /* WebNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNumber.h; sourceTree = "<group>"; };
    678683                BC33E0CF12408E8600360F3F /* InjectedBundleRangeHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundleRangeHandle.h; sourceTree = "<group>"; };
     
    12141219                                BC032D9110F437AF0058C15A /* WebProcess.h */,
    12151220                                1A6FA01F11E1528700DB1371 /* WebProcessMain.h */,
     1221                                BC3066B9125A436300E71278 /* WebProcess.messages.in */,
    12161222                        );
    12171223                        path = WebProcess;
     
    16961702                                1A043F6712514D8B00FFBFB5 /* WebProcessConnectionMessageReceiver.cpp */,
    16971703                                1A043F6812514D8B00FFBFB5 /* WebProcessConnectionMessages.h */,
     1704                                BC3066BC125A442100E71278 /* WebProcessMessageReceiver.cpp */,
     1705                                BC3066BD125A442100E71278 /* WebProcessMessages.h */,
    16981706                        );
    16991707                        name = "Derived Sources";
     
    19261934                                BC9099801256A98200083756 /* WKStringPrivate.h in Headers */,
    19271935                                BC3065FA1259344E00E71278 /* CacheModel.h in Headers */,
     1936                                BC3066BF125A442100E71278 /* WebProcessMessages.h in Headers */,
    19281937                        );
    19291938                        runOnlyForDeploymentPostprocessing = 0;
     
    22212230                                1A8EFDFE1253CB6E00F7067F /* DataReference.cpp in Sources */,
    22222231                                BC3065C412592F8900E71278 /* WebProcessMac.mm in Sources */,
     2232                                BC3066BE125A442100E71278 /* WebProcessMessageReceiver.cpp in Sources */,
    22232233                        );
    22242234                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp

    r68397 r69029  
    122122        return 0;
    123123
    124     WebPage* newWebPage = WebProcess::shared().createWebPage(newPageID, parameters);
    125     return newWebPage->corePage();
     124    WebProcess::shared().createWebPage(newPageID, parameters);
     125    return WebProcess::shared().webPage(newPageID)->corePage();
    126126}
    127127
  • trunk/WebKit2/WebProcess/WebProcess.cpp

    r69020 r69029  
    3535#include "WebPlatformStrategies.h"
    3636#include "WebPreferencesStore.h"
     37#include "WebProcessMessages.h"
    3738#include "WebProcessProxyMessageKinds.h"
    38 #include "WebProcessMessageKinds.h"
    3939#include <WebCore/ApplicationCacheStorage.h>
    4040#include <WebCore/Page.h>
     
    4545#include <wtf/RandomNumber.h>
    4646
    47 #if PLATFORM(MAC)
    48 #include "MachPort.h"
    49 #endif
    50 
    5147#ifndef NDEBUG
    5248#include <WebCore/Cache.h>
     
    141137}
    142138
     139void WebProcess::setShouldTrackVisitedLinks(bool shouldTrackVisitedLinks)
     140{
     141    PageGroup::setShouldTrackVisitedLinks(shouldTrackVisitedLinks);
     142}
     143
    143144void WebProcess::registerURLSchemeAsEmptyDocument(const String& urlScheme)
    144145{
     
    184185}
    185186
    186 void WebProcess::setCacheModel(CacheModel cacheModel)
    187 {
     187void WebProcess::setCacheModel(uint32_t cm)
     188{
     189    CacheModel cacheModel = static_cast<CacheModel>(cm);
     190
    188191    if (!m_hasSetCacheModel || cacheModel != m_cacheModel) {
    189192        m_hasSetCacheModel = true;
     
    193196}
    194197
     198#if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC)
     199void WebProcess::setUpAcceleratedCompositingPort(CoreIPC::MachPort port)
     200{
     201    m_compositingRenderServerPort = port.port();
     202}
     203#endif
     204
     205#if PLATFORM(WIN)
     206void WebProcess::setShouldPaintNativeControls(bool shouldPaintNativeControls)
     207{
     208#if USE(SAFARI_THEME)
     209    Settings::setShouldPaintNativeControls(shouldPaintNativeControls);
     210#endif
     211}
     212#endif
     213
    195214WebPage* WebProcess::webPage(uint64_t pageID) const
    196215{
     
    198217}
    199218
    200 WebPage* WebProcess::createWebPage(uint64_t pageID, const WebPageCreationParameters& parameters)
     219void WebProcess::createWebPage(uint64_t pageID, const WebPageCreationParameters& parameters)
    201220{
    202221    // It is necessary to check for page existence here since during a window.open() (or targeted
     
    209228
    210229    ASSERT(result.first->second);
    211     return result.first->second.get();
    212230}
    213231
     
    248266{
    249267    if (messageID.is<CoreIPC::MessageClassWebProcess>()) {
    250         switch (messageID.get<WebProcessMessage::Kind>()) {
    251             case WebProcessMessage::SetVisitedLinkTable: {
    252                 SharedMemory::Handle handle;
    253                 if (!arguments->decode(CoreIPC::Out(handle)))
    254                     return;
    255                
    256                 setVisitedLinkTable(handle);
    257                 return;
    258             }
    259             case WebProcessMessage::VisitedLinkStateChanged: {
    260                 Vector<LinkHash> linkHashes;
    261                 if (!arguments->decode(CoreIPC::Out(linkHashes)))
    262                     return;
    263                 visitedLinkStateChanged(linkHashes);
    264                 return;
    265             }
    266             case WebProcessMessage::AllVisitedLinkStateChanged:
    267                 allVisitedLinkStateChanged();
    268                 return;
    269            
    270             case WebProcessMessage::LoadInjectedBundle: {
    271                 String path;
    272 
    273 #if ENABLE(WEB_PROCESS_SANDBOX)
    274                 String token;
    275                 if (!arguments->decode(CoreIPC::Out(path, token)))
    276                     return;
    277 
    278                 loadInjectedBundle(path, token);
    279                 return;
    280 #else
    281                 if (!arguments->decode(CoreIPC::Out(path)))
    282                     return;
    283 
    284                 loadInjectedBundle(path);
    285                 return;
    286 #endif
    287             }
    288             case WebProcessMessage::SetApplicationCacheDirectory: {
    289                 String directory;
    290                 if (!arguments->decode(CoreIPC::Out(directory)))
    291                     return;
    292                
    293                 setApplicationCacheDirectory(directory);
    294                 return;
    295             }
    296             case WebProcessMessage::SetShouldTrackVisitedLinks: {
    297                 bool shouldTrackVisitedLinks;
    298                 if (!arguments->decode(CoreIPC::Out(shouldTrackVisitedLinks)))
    299                     return;
    300                
    301                 PageGroup::setShouldTrackVisitedLinks(shouldTrackVisitedLinks);
    302                 return;
    303             }
    304             case WebProcessMessage::SetCacheModel: {
    305                 uint32_t cacheModel;
    306                 if (!arguments->decode(CoreIPC::Out(cacheModel)))
    307                     return;
    308                
    309                 setCacheModel(static_cast<CacheModel>(cacheModel));
    310                 return;
    311             }
    312             case WebProcessMessage::Create: {
    313                 uint64_t pageID = arguments->destinationID();
    314                 WebPageCreationParameters parameters;
    315                 if (!arguments->decode(CoreIPC::Out(parameters)))
    316                     return;
    317 
    318                 createWebPage(pageID, parameters);
    319                 return;
    320             }
    321             case WebProcessMessage::RegisterURLSchemeAsEmptyDocument: {
    322                 String message;
    323                 if (!arguments->decode(CoreIPC::Out(message)))
    324                     return;
    325 
    326                 registerURLSchemeAsEmptyDocument(message);
    327                 return;
    328             }
    329 #if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC)
    330             case WebProcessMessage::SetupAcceleratedCompositingPort: {
    331                 CoreIPC::MachPort port;
    332                 if (!arguments->decode(port))
    333                     return;
    334 
    335                 m_compositingRenderServerPort = port.port();
    336                 return;
    337             }
    338 #endif
    339 #if PLATFORM(WIN)
    340             case WebProcessMessage::SetShouldPaintNativeControls: {
    341                 bool b;
    342                 if (!arguments->decode(b))
    343                     return;
    344 #if USE(SAFARI_THEME)
    345                 Settings::setShouldPaintNativeControls(b);
    346 #endif
    347                 return;
    348             }
    349 #endif
    350         }
     268        didReceiveWebProcessMessage(connection, messageID, arguments);
     269        return;
    351270    }
    352271
  • trunk/WebKit2/WebProcess/WebProcess.h

    r69020 r69029  
    3636#include <wtf/HashMap.h>
    3737
     38#if PLATFORM(MAC)
     39#include "MachPort.h"
     40#endif
     41
    3842namespace WebCore {
    3943    class IntSize;
     
    5963
    6064    WebPage* webPage(uint64_t pageID) const;
    61     WebPage* createWebPage(uint64_t pageID, const WebPageCreationParameters&);
     65    void createWebPage(uint64_t pageID, const WebPageCreationParameters&);
    6266    void removeWebPage(uint64_t pageID);
    6367
     
    8993#endif
    9094    void setApplicationCacheDirectory(const String&);
     95    void setShouldTrackVisitedLinks(bool);
    9196    void registerURLSchemeAsEmptyDocument(const String&);
     97
     98#if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC)
     99    void setUpAcceleratedCompositingPort(CoreIPC::MachPort);
     100#endif
     101#if PLATFORM(WIN)
     102    void setShouldPaintNativeControls(bool);
     103#endif
     104
    92105
    93106    void setVisitedLinkTable(const SharedMemory::Handle&);
     
    95108    void allVisitedLinkStateChanged();
    96109
    97     void setCacheModel(CacheModel cacheModel);
     110    void setCacheModel(uint32_t);
    98111    void platformSetCacheModel(CacheModel);
    99112
     
    103116    void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::MessageID);
    104117
     118    // Implemented in generated WebProcessMessageReceiver.cpp
     119    void didReceiveWebProcessMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
     120   
    105121    RefPtr<CoreIPC::Connection> m_connection;
    106122    HashMap<uint64_t, RefPtr<WebPage> > m_pageMap;
  • trunk/WebKit2/win/WebKit2.vcproj

    r69020 r69029  
    761761                                </File>
    762762                                <File
    763                                         RelativePath="..\Shared\CoreIPCSupport\WebProcessMessageKinds.h"
    764                                         >
    765                                 </File>
    766                                 <File
    767763                                        RelativePath="..\Shared\CoreIPCSupport\WebProcessProxyMessageKinds.h"
    768764                                        >
     
    20232019                        <File
    20242020                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebPageMessages.h"
     2021                                >
     2022                        </File>
     2023                        <File
     2024                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebProcessMessageReceiver.cpp"
     2025                                >
     2026                        </File>
     2027                        <File
     2028                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebProcessMessages.h"
    20252029                                >
    20262030                        </File>
Note: See TracChangeset for help on using the changeset viewer.