Changeset 71247 in webkit


Ignore:
Timestamp:
Nov 3, 2010 10:17:21 AM (13 years ago)
Author:
andersca@apple.com
Message:

Pass the accelerated compositing render server port to the plug-in process at startup
https://bugs.webkit.org/show_bug.cgi?id=48925

Reviewed by Adam Roben.

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::PluginProcess):
Initialize m_compositingRenderServerPort to MACH_PORT_NULL.

(WebKit::PluginProcess::initialize):
Get the plug-in path and render server port from the creation parameters.

  • PluginProcess/PluginProcess.messages.in:

Change the Initialize message to take a PluginProcessCreationParameters struct.

  • Shared/Plugins/PluginProcessCreationParameters.cpp: Added.
  • Shared/Plugins/PluginProcessCreationParameters.h: Added.

Add new PluginProcessCreationParameters struct.

  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didFinishLaunching):
Initialize now takes a PluginProcessCreationParameters struct.

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm: Added.

(WebKit::PluginProcessProxy::platformInitializePluginProcess):
Initialize the render server port.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

Location:
trunk/WebKit2
Files:
3 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r71243 r71247  
     12010-11-03  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Adam Roben.
     4
     5        Pass the accelerated compositing render server port to the plug-in process at startup
     6        https://bugs.webkit.org/show_bug.cgi?id=48925
     7
     8        * PluginProcess/PluginProcess.cpp:
     9        (WebKit::PluginProcess::PluginProcess):
     10        Initialize m_compositingRenderServerPort to MACH_PORT_NULL.
     11
     12        (WebKit::PluginProcess::initialize):
     13        Get the plug-in path and render server port from the creation parameters.
     14       
     15        * PluginProcess/PluginProcess.messages.in:
     16        Change the Initialize message to take a PluginProcessCreationParameters struct.
     17
     18        * Shared/Plugins/PluginProcessCreationParameters.cpp: Added.
     19        * Shared/Plugins/PluginProcessCreationParameters.h: Added.
     20        Add new PluginProcessCreationParameters struct.
     21
     22        * UIProcess/Plugins/PluginProcessProxy.cpp:
     23        (WebKit::PluginProcessProxy::didFinishLaunching):
     24        Initialize now takes a PluginProcessCreationParameters struct.
     25
     26        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: Added.
     27        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
     28        Initialize the render server port.
     29
     30        * WebKit2.xcodeproj/project.pbxproj:
     31        Add new files.
     32
    1332010-11-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
    234
  • trunk/WebKit2/PluginProcess/PluginProcess.cpp

    r68350 r71247  
    3131#include "NetscapePluginModule.h"
    3232#include "PluginProcessProxyMessages.h"
     33#include "PluginProcessCreationParameters.h"
    3334#include "WebProcessConnection.h"
    3435
     
    4546PluginProcess::PluginProcess()
    4647    : m_shutdownTimer(RunLoop::main(), this, &PluginProcess::shutdownTimerFired)
     48#if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC)
     49    , m_compositingRenderServerPort(MACH_PORT_NULL)
     50#endif
    4751{
    4852}
     
    8993}
    9094
    91 void PluginProcess::initialize(const String& pluginPath)
     95void PluginProcess::initialize(const PluginProcessCreationParameters& parameters)
    9296{
    9397    ASSERT(!m_pluginModule);
    9498
    95     m_pluginModule = NetscapePluginModule::getOrCreate(pluginPath);
     99    m_pluginModule = NetscapePluginModule::getOrCreate(parameters.pluginPath);
     100
     101#if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC)
     102    m_compositingRenderServerPort = parameters.acceleratedCompositingPort.port();
     103#endif
    96104}
    97105
  • trunk/WebKit2/PluginProcess/PluginProcess.h

    r68350 r71247  
    3636
    3737class NetscapePluginModule;
     38class PluginProcessCreationParameters;
    3839class WebProcessConnection;
    3940       
     
    5859    // Message handlers.
    5960    void didReceivePluginProcessMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
    60     void initialize(const String& pluginPath);
     61    void initialize(const PluginProcessCreationParameters&);
    6162    void createWebProcessConnection();
    6263   
     
    7475    // A timer used for the shutdown timeout.
    7576    RunLoop::Timer<PluginProcess> m_shutdownTimer;
     77
     78#if USE(ACCELERATED_COMPOSITING) && PLATFORM(MAC)
     79    // The Mach port used for accelerated compositing.
     80    mach_port_t m_compositingRenderServerPort;
     81#endif
     82   
    7683};
    7784
  • trunk/WebKit2/PluginProcess/PluginProcess.messages.in

    r68350 r71247  
    2424
    2525messages -> PluginProcess {
    26     # Initializes the plug-in and specifies the path to the plug-in module.
    27     Initialize(WTF::String pluginPath)
     26    # Initializes the plug-in.
     27    Initialize(WebKit::PluginProcessCreationParameters processCreationParameters)
    2828   
    2929    # Creates a web process connection. When the connection has been created,
  • trunk/WebKit2/Scripts/webkit2/messages.py

    r71175 r71247  
    253253        'WebCore::ViewportArguments',
    254254        'WebCore::WindowFeatures',
     255        'WebKit::PluginProcessCreationParameters',
    255256        'WebKit::WebPageCreationParameters',
    256257        'WebKit::WebPreferencesStore',
  • trunk/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp

    r68562 r71247  
    2929
    3030#include "MachPort.h"
     31#include "PluginProcessCreationParameters.h"
    3132#include "PluginProcessManager.h"
    3233#include "PluginProcessMessages.h"
     
    119120    m_connection->open();
    120121   
     122    PluginProcessCreationParameters parameters;
     123
     124    parameters.pluginPath = m_pluginInfo.path;
     125
     126    platformInitializePluginProcess(parameters);
     127
    121128    // Initialize the plug-in host process.
    122     m_connection->send(Messages::PluginProcess::Initialize(m_pluginInfo.path), 0);
     129    m_connection->send(Messages::PluginProcess::Initialize(parameters), 0);
    123130
    124131    // Send all our pending requests.
  • trunk/WebKit2/UIProcess/Plugins/PluginProcessProxy.h

    r68562 r71247  
    4141namespace WebKit {
    4242
     43class PluginProcessCreationParameters;
    4344class PluginProcessManager;
    4445class WebProcessProxy;
    45    
     46
    4647class PluginProcessProxy : CoreIPC::Connection::Client, ProcessLauncher::Client {
    4748public:
     
    7273    void didCreateWebProcessConnection(const CoreIPC::MachPort&);
    7374
     75    void platformInitializePluginProcess(PluginProcessCreationParameters& parameters);
     76
    7477    // The plug-in host process manager.
    7578    PluginProcessManager* m_pluginProcessManager;
  • trunk/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r71115 r71247  
    9494                1A2D84A3127F6AD1001EB962 /* NPVariantData.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2D84A1127F6AD1001EB962 /* NPVariantData.h */; };
    9595                1A2D84A4127F6AD1001EB962 /* NPVariantData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2D84A2127F6AD1001EB962 /* NPVariantData.cpp */; };
     96                1A2D90BB1281C931001EB962 /* PluginProcessProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A2D90BA1281C931001EB962 /* PluginProcessProxyMac.mm */; };
     97                1A2D90D21281C966001EB962 /* PluginProcessCreationParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2D90D01281C966001EB962 /* PluginProcessCreationParameters.h */; };
     98                1A2D90D31281C966001EB962 /* PluginProcessCreationParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2D90D11281C966001EB962 /* PluginProcessCreationParameters.cpp */; };
    9699                1A30066E1110F4F70031937C /* ResponsivenessTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A30066C1110F4F70031937C /* ResponsivenessTimer.h */; };
    97100                1A30EAC6115D7DA30053E937 /* ConnectionMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A30EAC5115D7DA30053E937 /* ConnectionMac.cpp */; };
     
    608611                1A2D84A1127F6AD1001EB962 /* NPVariantData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NPVariantData.h; sourceTree = "<group>"; };
    609612                1A2D84A2127F6AD1001EB962 /* NPVariantData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NPVariantData.cpp; sourceTree = "<group>"; };
     613                1A2D90BA1281C931001EB962 /* PluginProcessProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PluginProcessProxyMac.mm; sourceTree = "<group>"; };
     614                1A2D90D01281C966001EB962 /* PluginProcessCreationParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginProcessCreationParameters.h; sourceTree = "<group>"; };
     615                1A2D90D11281C966001EB962 /* PluginProcessCreationParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginProcessCreationParameters.cpp; sourceTree = "<group>"; };
    610616                1A30066C1110F4F70031937C /* ResponsivenessTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResponsivenessTimer.h; sourceTree = "<group>"; };
    611617                1A30EAC5115D7DA30053E937 /* ConnectionMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConnectionMac.cpp; sourceTree = "<group>"; };
     
    13611367                        isa = PBXGroup;
    13621368                        children = (
     1369                                1A2D90D11281C966001EB962 /* PluginProcessCreationParameters.cpp */,
     1370                                1A2D90D01281C966001EB962 /* PluginProcessCreationParameters.h */,
    13631371                                1A2D848A127F6A49001EB962 /* NPIdentifierData.cpp */,
    13641372                                1A2D8489127F6A49001EB962 /* NPIdentifierData.h */,
     
    14221430                        children = (
    14231431                                1AEFCCBC11D02C5E008219D3 /* PluginInfoStoreMac.mm */,
     1432                                1A2D90BA1281C931001EB962 /* PluginProcessProxyMac.mm */,
    14241433                        );
    14251434                        path = mac;
     
    22812290                                1A2D84A3127F6AD1001EB962 /* NPVariantData.h in Headers */,
    22822291                                1C8E2A361277852400BC7BD0 /* WebInspectorMessages.h in Headers */,
     2292                                1A2D90D21281C966001EB962 /* PluginProcessCreationParameters.h in Headers */,
    22832293                        );
    22842294                        runOnlyForDeploymentPostprocessing = 0;
     
    26192629                                1A2D84A4127F6AD1001EB962 /* NPVariantData.cpp in Sources */,
    26202630                                1C8E2A351277852400BC7BD0 /* WebInspectorMessageReceiver.cpp in Sources */,
     2631                                1A2D90BB1281C931001EB962 /* PluginProcessProxyMac.mm in Sources */,
     2632                                1A2D90D31281C966001EB962 /* PluginProcessCreationParameters.cpp in Sources */,
    26212633                        );
    26222634                        runOnlyForDeploymentPostprocessing = 0;
Note: See TracChangeset for help on using the changeset viewer.