Changeset 86489 in webkit


Ignore:
Timestamp:
May 14, 2011 11:06:28 AM (13 years ago)
Author:
andersca@apple.com
Message:

2011-05-14 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Consolidate plug-in creation parameters to a single struct
https://bugs.webkit.org/show_bug.cgi?id=60839

  • PluginProcess/PluginControllerProxy.cpp: (WebKit::PluginControllerProxy::create): (WebKit::PluginControllerProxy::PluginControllerProxy):
  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginCreationParameters.cpp: Added. (WebKit::PluginCreationParameters::PluginCreationParameters): (WebKit::PluginCreationParameters::encode): (WebKit::PluginCreationParameters::decode):
  • PluginProcess/PluginCreationParameters.h: Added.
  • PluginProcess/WebProcessConnection.cpp: (WebKit::WebProcessConnection::createPlugin):
  • PluginProcess/WebProcessConnection.h:
  • PluginProcess/WebProcessConnection.messages.in:
  • Scripts/webkit2/messages.py:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Plugins/PluginProxy.cpp: (WebKit::PluginProxy::initialize):
Location:
trunk/Source/WebKit2
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r86487 r86489  
     12011-05-14  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Consolidate plug-in creation parameters to a single struct
     6        https://bugs.webkit.org/show_bug.cgi?id=60839
     7
     8        * PluginProcess/PluginControllerProxy.cpp:
     9        (WebKit::PluginControllerProxy::create):
     10        (WebKit::PluginControllerProxy::PluginControllerProxy):
     11        * PluginProcess/PluginControllerProxy.h:
     12        * PluginProcess/PluginCreationParameters.cpp: Added.
     13        (WebKit::PluginCreationParameters::PluginCreationParameters):
     14        (WebKit::PluginCreationParameters::encode):
     15        (WebKit::PluginCreationParameters::decode):
     16        * PluginProcess/PluginCreationParameters.h: Added.
     17        * PluginProcess/WebProcessConnection.cpp:
     18        (WebKit::WebProcessConnection::createPlugin):
     19        * PluginProcess/WebProcessConnection.h:
     20        * PluginProcess/WebProcessConnection.messages.in:
     21        * Scripts/webkit2/messages.py:
     22        * WebKit2.xcodeproj/project.pbxproj:
     23        * WebProcess/Plugins/PluginProxy.cpp:
     24        (WebKit::PluginProxy::initialize):
     25
    1262011-05-14  Anders Carlsson  <andersca@apple.com>
    227
  • trunk/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp

    r86467 r86489  
    3535#include "NPVariantData.h"
    3636#include "NetscapePlugin.h"
     37#include "PluginCreationParameters.h"
    3738#include "PluginProcess.h"
    3839#include "PluginProxyMessages.h"
     
    4849namespace WebKit {
    4950
    50 PassOwnPtr<PluginControllerProxy> PluginControllerProxy::create(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled)
    51 {
    52     return adoptPtr(new PluginControllerProxy(connection, pluginInstanceID, userAgent, isPrivateBrowsingEnabled, isAcceleratedCompositingEnabled));
    53 }
    54 
    55 PluginControllerProxy::PluginControllerProxy(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled)
     51PassOwnPtr<PluginControllerProxy> PluginControllerProxy::create(WebProcessConnection* connection, const PluginCreationParameters& creationParameters)
     52{
     53    return adoptPtr(new PluginControllerProxy(connection, creationParameters));
     54}
     55
     56PluginControllerProxy::PluginControllerProxy(WebProcessConnection* connection, const PluginCreationParameters& creationParameters)
    5657    : m_connection(connection)
    57     , m_pluginInstanceID(pluginInstanceID)
    58     , m_userAgent(userAgent)
    59     , m_isPrivateBrowsingEnabled(isPrivateBrowsingEnabled)
    60     , m_isAcceleratedCompositingEnabled(isAcceleratedCompositingEnabled)
     58    , m_pluginInstanceID(creationParameters.pluginInstanceID)
     59    , m_userAgent(creationParameters.userAgent)
     60    , m_isPrivateBrowsingEnabled(creationParameters.isPrivateBrowsingEnabled)
     61#if USE(ACCELERATED_COMPOSITING)
     62    , m_isAcceleratedCompositingEnabled(creationParameters.isAcceleratedCompositingEnabled)
     63#endif
    6164    , m_paintTimer(RunLoop::main(), this, &PluginControllerProxy::paint)
    6265    , m_pluginDestructionProtectCount(0)
  • trunk/Source/WebKit2/PluginProcess/PluginControllerProxy.h

    r86467 r86489  
    5151class ShareableBitmap;
    5252class WebProcessConnection;
     53struct PluginCreationParameters;
    5354
    5455class PluginControllerProxy : PluginController {
     
    5657
    5758public:
    58     static PassOwnPtr<PluginControllerProxy> create(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled);
     59    static PassOwnPtr<PluginControllerProxy> create(WebProcessConnection*, const PluginCreationParameters&);
    5960    ~PluginControllerProxy();
    6061
     
    7475
    7576private:
    76     PluginControllerProxy(WebProcessConnection* connection, uint64_t pluginInstanceID, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled);
     77    PluginControllerProxy(WebProcessConnection*, const PluginCreationParameters&);
    7778
    7879    void startPaintTimer();
  • trunk/Source/WebKit2/PluginProcess/WebProcessConnection.cpp

    r84293 r86489  
    3131#include "NPRemoteObjectMap.h"
    3232#include "PluginControllerProxy.h"
     33#include "PluginCreationParameters.h"
    3334#include "PluginProcess.h"
    3435#include "RunLoop.h"
     
    162163}
    163164
    164 void WebProcessConnection::createPlugin(uint64_t pluginInstanceID, const Plugin::Parameters& parameters, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled, bool& result, uint32_t& remoteLayerClientID)
     165void WebProcessConnection::createPlugin(const PluginCreationParameters& creationParameters, bool& result, uint32_t& remoteLayerClientID)
    165166{
    166     OwnPtr<PluginControllerProxy> pluginControllerProxy = PluginControllerProxy::create(this, pluginInstanceID, userAgent, isPrivateBrowsingEnabled, isAcceleratedCompositingEnabled);
     167    OwnPtr<PluginControllerProxy> pluginControllerProxy = PluginControllerProxy::create(this, creationParameters);
    167168
    168169    PluginControllerProxy* pluginControllerProxyPtr = pluginControllerProxy.get();
     
    173174
    174175    // Now try to initialize the plug-in.
    175     result = pluginControllerProxyPtr->initialize(parameters);
     176    result = pluginControllerProxyPtr->initialize(creationParameters.parameters);
    176177
    177178    if (!result)
  • trunk/Source/WebKit2/PluginProcess/WebProcessConnection.h

    r84293 r86489  
    3737class NPRemoteObjectMap;
    3838class PluginControllerProxy;
     39struct PluginCreationParameters;
    3940   
    4041// A connection from a plug-in process to a web process.
     
    6667    // Message handlers.
    6768    CoreIPC::SyncReplyMode didReceiveSyncWebProcessConnectionMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
    68     void createPlugin(uint64_t pluginInstanceID, const Plugin::Parameters&, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled, bool& result, uint32_t& remoteLayerClientID);
     69    void createPlugin(const PluginCreationParameters&, bool& result, uint32_t& remoteLayerClientID);
    6970    void destroyPlugin(uint64_t pluginInstanceID);
    7071
  • trunk/Source/WebKit2/PluginProcess/WebProcessConnection.messages.in

    r74359 r86489  
    2424
    2525messages -> WebProcessConnection {
    26     # Creates a plug-in instance with the given instance ID.
    27     CreatePlugin(uint64_t pluginInstanceID, WebKit::Plugin::Parameters parameters, WTF::String userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled) -> (bool result, uint32_t remoteLayerClientID)
     26    # Creates a plug-in instance using the given creation parameters.
     27    CreatePlugin(WebKit::PluginCreationParameters pluginCreationParameters) -> (bool result, uint32_t remoteLayerClientID)
    2828
    2929    # Destroys the plug-in instance with the given instance ID.
  • trunk/Source/WebKit2/Scripts/webkit2/messages.py

    r85958 r86489  
    266266        'WebKit::EditorState',
    267267        'WebKit::PlatformPopupMenuData',
     268        'WebKit::PluginCreationParameters',
    268269        'WebKit::PluginProcessCreationParameters',
    269270        'WebKit::PrintInfo',
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r86089 r86489  
    6363                1A0F29E4120B44420053D1B9 /* VisitedLinkProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A0F29E2120B44420053D1B9 /* VisitedLinkProvider.h */; };
    6464                1A119A95127B796200A9ECB1 /* MessageSender.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A119A94127B796200A9ECB1 /* MessageSender.h */; };
     65                1A17977F137EE82C00F97D45 /* PluginCreationParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A17977D137EE82C00F97D45 /* PluginCreationParameters.cpp */; };
     66                1A179780137EE82C00F97D45 /* PluginCreationParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A17977E137EE82C00F97D45 /* PluginCreationParameters.h */; };
    6567                1A186EEA12EF7618008E5F37 /* LayerTreeHost.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A186EE812EF7618008E5F37 /* LayerTreeHost.h */; };
    6668                1A186EEB12EF7618008E5F37 /* LayerTreeHost.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A186EE912EF7618008E5F37 /* LayerTreeHost.cpp */; };
     
    933935                1A0F29E2120B44420053D1B9 /* VisitedLinkProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisitedLinkProvider.h; sourceTree = "<group>"; };
    934936                1A119A94127B796200A9ECB1 /* MessageSender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageSender.h; sourceTree = "<group>"; };
     937                1A17977D137EE82C00F97D45 /* PluginCreationParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginCreationParameters.cpp; sourceTree = "<group>"; };
     938                1A17977E137EE82C00F97D45 /* PluginCreationParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginCreationParameters.h; sourceTree = "<group>"; };
    935939                1A186EE812EF7618008E5F37 /* LayerTreeHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayerTreeHost.h; sourceTree = "<group>"; };
    936940                1A186EE912EF7618008E5F37 /* LayerTreeHost.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayerTreeHost.cpp; sourceTree = "<group>"; };
     
    18821886                                1A8EF4C91252403700F7067F /* PluginControllerProxy.h */,
    18831887                                1A8EF9411252AE8400F7067F /* PluginControllerProxy.messages.in */,
     1888                                1A17977D137EE82C00F97D45 /* PluginCreationParameters.cpp */,
     1889                                1A17977E137EE82C00F97D45 /* PluginCreationParameters.h */,
    18841890                                1A043975124D034800FFBFB5 /* PluginProcess.cpp */,
    18851891                                1A043974124D034800FFBFB5 /* PluginProcess.h */,
     
    37203726                                37F90DE31376560E0051CF68 /* HTTPCookieAcceptPolicy.h in Headers */,
    37213727                                1A7C6CDB1378950800B9C04D /* EnvironmentVariables.h in Headers */,
     3728                                1A179780137EE82C00F97D45 /* PluginCreationParameters.h in Headers */,
    37223729                        );
    37233730                        runOnlyForDeploymentPostprocessing = 0;
     
    43524359                                DF58C6361371ACA000F9A37C /* NativeWebWheelEventMac.mm in Sources */,
    43534360                                1A7C6CDA1378950800B9C04D /* EnvironmentVariables.cpp in Sources */,
     4361                                1A17977F137EE82C00F97D45 /* PluginCreationParameters.cpp in Sources */,
    43544362                        );
    43554363                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/Source/WebKit2/WebProcess/Plugins/PluginProxy.cpp

    r86467 r86489  
    3535#include "PluginController.h"
    3636#include "PluginControllerProxyMessages.h"
     37#include "PluginCreationParameters.h"
    3738#include "PluginProcessConnection.h"
    3839#include "PluginProcessConnectionManager.h"
     
    99100
    100101    // Ask the plug-in process to create a plug-in.
     102    PluginCreationParameters creationParameters;
     103    creationParameters.pluginInstanceID = m_pluginInstanceID;
     104    creationParameters.parameters = parameters;
     105    creationParameters.userAgent = pluginController->userAgent();
     106    creationParameters.isPrivateBrowsingEnabled = pluginController->isPrivateBrowsingEnabled();
     107#if USE(ACCELERATED_COMPOSITING)
     108    creationParameters.isAcceleratedCompositingEnabled = pluginController->isAcceleratedCompositingEnabled();
     109#endif
     110
    101111    bool result = false;
    102     bool isAcceleratedCompositingEnabled = false;
    103 #if USE(ACCELERATED_COMPOSITING)
    104     isAcceleratedCompositingEnabled = pluginController->isAcceleratedCompositingEnabled();
    105 #endif
    106 
    107112    uint32_t remoteLayerClientID = 0;
    108     if (!m_connection->connection()->sendSync(Messages::WebProcessConnection::CreatePlugin(m_pluginInstanceID, parameters, pluginController->userAgent(), pluginController->isPrivateBrowsingEnabled(), isAcceleratedCompositingEnabled), Messages::WebProcessConnection::CreatePlugin::Reply(result, remoteLayerClientID), 0) || !result) {
     113
     114    if (!m_connection->connection()->sendSync(Messages::WebProcessConnection::CreatePlugin(creationParameters), Messages::WebProcessConnection::CreatePlugin::Reply(result, remoteLayerClientID), 0) || !result) {
    109115        m_connection->removePluginProxy(this);
    110116        return false;
Note: See TracChangeset for help on using the changeset viewer.