Changeset 71075 in webkit


Ignore:
Timestamp:
Nov 1, 2010 4:58:05 PM (13 years ago)
Author:
andersca@apple.com
Message:

Respond to NP_GetProperty by sending a GetProperty message
https://bugs.webkit.org/show_bug.cgi?id=48797

Reviewed by John Sullivan.

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC::callMemberFunction):
Add new sync message overload.

  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::didReceiveSyncMessage):
If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap.

  • Shared/Plugins/NPIdentifierData.cpp:
  • Shared/Plugins/NPIdentifierData.h:

Add NPIdentifierData, a CoreIPC representation of an NPIdentifier.

  • Shared/Plugins/NPObjectMessageReceiver.cpp:

(WebKit::NPObjectMessageReceiver::getProperty):
Add stub.

  • Shared/Plugins/NPObjectMessageReceiver.messages.in:

Add GetProperty.

  • Shared/Plugins/NPObjectProxy.cpp:

(WebKit::NPObjectProxy::create):
(WebKit::NPObjectProxy::NPObjectProxy):
(WebKit::NPObjectProxy::initialize):
NPObjectProxy now takes an NPRemoteObjectMap in its create function.

(WebKit::NPObjectProxy::getProperty):
Send a GetProperty message.

(WebKit::NPObjectProxy::NP_GetProperty):
Call getProperty.

  • Shared/Plugins/NPRemoteObjectMap.cpp:

(WebKit::NPRemoteObjectMap::createNPObjectProxy):
Pass the NPRemoteObjectMap.

(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
Find the right message receiver and dispatch the message to it.

  • Shared/Plugins/NPVariantData.cpp:
  • Shared/Plugins/NPVariantData.h:

Add NPVariantData, which will be a CoreIPC representation of an NPVariant.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::didReceiveSyncMessage):
If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap.

Location:
trunk/WebKit2
Files:
12 edited
4 copied

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r71069 r71075  
     12010-11-01  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Add ArgumentCoder specialization for WTF::CString
     6        https://bugs.webkit.org/show_bug.cgi?id=48796
     7
     8        * Platform/CoreIPC/ArgumentCoders.h:
     9
     102010-11-01  Anders Carlsson  <andersca@apple.com>
     11
     12        Reviewed by John Sullivan.
     13
     14        Respond to NP_GetProperty by sending a GetProperty message
     15        https://bugs.webkit.org/show_bug.cgi?id=48797
     16
     17        * Platform/CoreIPC/HandleMessage.h:
     18        (CoreIPC::callMemberFunction):
     19        Add new sync message overload.
     20
     21        * PluginProcess/WebProcessConnection.cpp:
     22        (WebKit::WebProcessConnection::didReceiveSyncMessage):
     23        If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap.
     24
     25        * Shared/Plugins/NPIdentifierData.cpp:
     26        * Shared/Plugins/NPIdentifierData.h:
     27        Add NPIdentifierData, a CoreIPC representation of an NPIdentifier.
     28
     29        * Shared/Plugins/NPObjectMessageReceiver.cpp:
     30        (WebKit::NPObjectMessageReceiver::getProperty):
     31        Add stub.
     32
     33        * Shared/Plugins/NPObjectMessageReceiver.messages.in:
     34        Add GetProperty.
     35
     36        * Shared/Plugins/NPObjectProxy.cpp:
     37        (WebKit::NPObjectProxy::create):
     38        (WebKit::NPObjectProxy::NPObjectProxy):
     39        (WebKit::NPObjectProxy::initialize):
     40        NPObjectProxy now takes an NPRemoteObjectMap in its create function.
     41
     42        (WebKit::NPObjectProxy::getProperty):
     43        Send a GetProperty message.
     44
     45        (WebKit::NPObjectProxy::NP_GetProperty):
     46        Call getProperty.
     47
     48        * Shared/Plugins/NPRemoteObjectMap.cpp:
     49        (WebKit::NPRemoteObjectMap::createNPObjectProxy):
     50        Pass the NPRemoteObjectMap.
     51
     52        (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
     53        Find the right message receiver and dispatch the message to it.
     54
     55        * Shared/Plugins/NPVariantData.cpp:
     56        * Shared/Plugins/NPVariantData.h:
     57        Add NPVariantData, which will be a CoreIPC representation of an NPVariant.
     58       
     59        * WebKit2.xcodeproj/project.pbxproj:
     60        Add new files.
     61
     62        * WebProcess/Plugins/PluginProcessConnection.cpp:
     63        (WebKit::PluginProcessConnection::didReceiveSyncMessage):
     64        If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap.
     65
    1662010-11-01  Anders Carlsson  <andersca@apple.com>
    267
  • trunk/WebKit2/Platform/CoreIPC/HandleMessage.h

    r70333 r71075  
    8484{
    8585    (object->*function)(args.argument1, replyArgs.argument1);
     86}
     87
     88template<typename C, typename MF, typename P1, typename R1, typename R2>
     89void callMemberFunction(const Arguments1<P1>& args, Arguments2<R1, R2>& replyArgs, C* object, MF function)
     90{
     91    (object->*function)(args.argument1, replyArgs.argument1, replyArgs.argument2);
    8692}
    8793
  • trunk/WebKit2/PluginProcess/WebProcessConnection.cpp

    r71051 r71075  
    100100CoreIPC::SyncReplyMode WebProcessConnection::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply)
    101101{
    102     if (!arguments->destinationID())
     102    uint64_t destinationID = arguments->destinationID();
     103
     104    if (!destinationID)
    103105        return didReceiveSyncWebProcessConnectionMessage(connection, messageID, arguments, reply);
    104    
    105     if (PluginControllerProxy* pluginControllerProxy = m_pluginControllers.get(arguments->destinationID()))
     106
     107    if (messageID.is<CoreIPC::MessageClassNPObjectMessageReceiver>())
     108        return m_npRemoteObjectMap.didReceiveSyncMessage(connection, messageID, arguments, reply);
     109
     110    if (PluginControllerProxy* pluginControllerProxy = m_pluginControllers.get(destinationID))
    106111        return pluginControllerProxy->didReceiveSyncPluginControllerProxyMessage(connection, messageID, arguments, reply);
    107112
  • trunk/WebKit2/Shared/Plugins/NPIdentifierData.cpp

    r71074 r71075  
    2626#if ENABLE(PLUGIN_PROCESS)
    2727
    28 #include "NPObjectMessageReceiver.h"
     28#include "NPIdentifierData.h"
    2929
    30 #include "NPRuntimeUtilities.h"
     30#include "ArgumentDecoder.h"
     31#include "ArgumentEncoder.h"
    3132#include "NotImplemented.h"
     33#include "WebCoreArgumentCoders.h"
     34#include <WebCore/IdentifierRep.h>
     35
     36using namespace WebCore;
    3237
    3338namespace WebKit {
    3439
    35 PassOwnPtr<NPObjectMessageReceiver> NPObjectMessageReceiver::create(NPObject* npObject)
     40NPIdentifierData::NPIdentifierData()
     41    : m_isString(false)
     42    , m_number(0)
    3643{
    37     return adoptPtr(new NPObjectMessageReceiver(npObject));
    3844}
    3945
    40 NPObjectMessageReceiver::NPObjectMessageReceiver(NPObject* npObject)
    41     : m_npObject(npObject)
     46
     47NPIdentifierData NPIdentifierData::fromNPIdentifier(NPIdentifier npIdentifier)
    4248{
    43     retainNPObject(m_npObject);
     49    NPIdentifierData npIdentifierData;
     50
     51    IdentifierRep* identifierRep = static_cast<IdentifierRep*>(npIdentifier);
     52    npIdentifierData.m_isString = identifierRep->isString();
     53
     54    if (npIdentifierData.m_isString)
     55        npIdentifierData.m_string = identifierRep->string();
     56    else
     57        npIdentifierData.m_number = identifierRep->number();
     58
     59    return npIdentifierData;
    4460}
    4561
    46 NPObjectMessageReceiver::~NPObjectMessageReceiver()
     62void NPIdentifierData::encode(CoreIPC::ArgumentEncoder* encoder) const
    4763{
    48     releaseNPObject(m_npObject);
     64    encoder->encode(m_isString);
     65    if (m_isString)
     66        encoder->encode(m_string);
     67    else
     68        encoder->encodeInt32(m_number);
    4969}
    5070
    51 void NPObjectMessageReceiver::deallocate()
     71bool NPIdentifierData::decode(CoreIPC::ArgumentDecoder* decoder, NPIdentifierData& result)
    5272{
    53     notImplemented();
     73    if (!decoder->decode(result.m_isString))
     74        return false;
     75       
     76    if (result.m_isString)
     77        return decoder->decode(result.m_string);
     78
     79    return decoder->decodeInt32(result.m_number);
    5480}
    5581
     
    5783
    5884#endif // ENABLE(PLUGIN_PROCESS)
    59 
  • trunk/WebKit2/Shared/Plugins/NPIdentifierData.h

    r71074 r71075  
    2424 */
    2525
     26#ifndef NPIdentifierData_h
     27#define NPIdentifierData_h
     28
    2629#if ENABLE(PLUGIN_PROCESS)
    2730
    28 #include "NPObjectMessageReceiver.h"
     31#include <WebCore/npruntime.h>
     32#include <wtf/text/CString.h>
    2933
    30 #include "NPRuntimeUtilities.h"
    31 #include "NotImplemented.h"
     34namespace CoreIPC {
     35    class ArgumentDecoder;
     36    class ArgumentEncoder;
     37}
    3238
    3339namespace WebKit {
    3440
    35 PassOwnPtr<NPObjectMessageReceiver> NPObjectMessageReceiver::create(NPObject* npObject)
    36 {
    37     return adoptPtr(new NPObjectMessageReceiver(npObject));
    38 }
     41// The CoreIPC representation of an NPIdentifier.
    3942
    40 NPObjectMessageReceiver::NPObjectMessageReceiver(NPObject* npObject)
    41     : m_npObject(npObject)
    42 {
    43     retainNPObject(m_npObject);
    44 }
     43class NPIdentifierData {
     44public:
     45    NPIdentifierData();
     46   
     47    static NPIdentifierData fromNPIdentifier(NPIdentifier);
    4548
    46 NPObjectMessageReceiver::~NPObjectMessageReceiver()
    47 {
    48     releaseNPObject(m_npObject);
    49 }
     49    void encode(CoreIPC::ArgumentEncoder*) const;
     50    static bool decode(CoreIPC::ArgumentDecoder*, NPIdentifierData&);
    5051
    51 void NPObjectMessageReceiver::deallocate()
    52 {
    53     notImplemented();
    54 }
     52private:
     53    bool m_isString;
     54    CString m_string;
     55    int m_number;
     56};
    5557
    5658} // namespace WebKit
    5759
    5860#endif // ENABLE(PLUGIN_PROCESS)
    59 
     61   
     62#endif // NPIdentifierData_h
  • trunk/WebKit2/Shared/Plugins/NPObjectMessageReceiver.cpp

    r71057 r71075  
    2828#include "NPObjectMessageReceiver.h"
    2929
     30#include "NPIdentifierData.h"
    3031#include "NPRuntimeUtilities.h"
    3132#include "NotImplemented.h"
     
    5455}
    5556
     57void NPObjectMessageReceiver::getProperty(const NPIdentifierData& propertyNameData, bool& returnValue, NPVariantData& result)
     58{
     59    notImplemented();
     60    returnValue = false;
     61}
     62
    5663} // namespace WebKit
    5764
  • trunk/WebKit2/Shared/Plugins/NPObjectMessageReceiver.h

    r71057 r71075  
    3636namespace WebKit {
    3737
     38class NPIdentifierData;
     39class NPVariantData;
     40
    3841class NPObjectMessageReceiver {
    3942    WTF_MAKE_NONCOPYABLE(NPObjectMessageReceiver);
     
    4245    static PassOwnPtr<NPObjectMessageReceiver> create(NPObject* npObject);
    4346    ~NPObjectMessageReceiver();
     47
     48    CoreIPC::SyncReplyMode didReceiveSyncNPObjectMessageReceiverMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
    4449   
    4550private:
     
    4752
    4853    // Message handlers.
    49     CoreIPC::SyncReplyMode didReceiveSyncNPObjectMessageReceiverMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
    5054    void deallocate();
     55    void getProperty(const NPIdentifierData&, bool& returnValue, NPVariantData& result);
    5156
    5257    NPObject* m_npObject;
  • trunk/WebKit2/Shared/Plugins/NPObjectMessageReceiver.messages.in

    r71057 r71075  
    2626    # Deallocate the NPObject.
    2727    Deallocate() -> ()
     28
     29    # Get the given property.
     30    GetProperty(WebKit::NPIdentifierData propertyName) -> (bool returnValue, WebKit::NPVariantData result)
    2831}
    2932
  • trunk/WebKit2/Shared/Plugins/NPObjectProxy.cpp

    r71054 r71075  
    2828#include "NPObjectProxy.h"
    2929
     30#include "Connection.h"
     31#include "NPIdentifierData.h"
     32#include "NPObjectMessageReceiverMessages.h"
     33#include "NPRemoteObjectMap.h"
     34#include "NPRuntimeUtilities.h"
     35#include "NPVariantData.h"
    3036#include "NotImplemented.h"
    31 #include "NPRuntimeUtilities.h"
    3237
    3338namespace WebKit {
    3439
    35 NPObjectProxy* NPObjectProxy::create(uint64_t npObjectID)
     40NPObjectProxy* NPObjectProxy::create(NPRemoteObjectMap* npRemoteObjectMap, uint64_t npObjectID)
    3641{
    3742    NPObjectProxy* npObjectProxy = toNPObjectProxy(createNPObject(0, npClass()));
    38     npObjectProxy->initialize(npObjectID);
     43    npObjectProxy->initialize(npRemoteObjectMap, npObjectID);
    3944
    4045    return npObjectProxy;
     
    4247
    4348NPObjectProxy::NPObjectProxy()
    44     : m_npObjectID(0)
     49    : m_npRemoteObjectMap(0)
     50    , m_npObjectID(0)
    4551{
    4652}
     
    5561}
    5662   
    57 void NPObjectProxy::initialize(uint64_t npObjectID)
     63void NPObjectProxy::initialize(NPRemoteObjectMap* npRemoteObjectMap, uint64_t npObjectID)
    5864{
     65    ASSERT(!m_npRemoteObjectMap);
    5966    ASSERT(!m_npObjectID);
     67
     68    ASSERT(npRemoteObjectMap);
     69    ASSERT(npObjectID);
     70
     71    m_npRemoteObjectMap = npRemoteObjectMap;
    6072    m_npObjectID = npObjectID;
     73}
     74
     75bool NPObjectProxy::getProperty(NPIdentifier propertyName, NPVariant* result)
     76{
     77    if (!m_npRemoteObjectMap)
     78        return false;
     79
     80    NPIdentifierData propertyNameData = NPIdentifierData::fromNPIdentifier(propertyName);
     81
     82    bool returnValue = false;
     83    NPVariantData resultData;
     84   
     85    if (!m_npRemoteObjectMap->connection()->sendSync(Messages::NPObjectMessageReceiver::GetProperty(propertyNameData), Messages::NPObjectMessageReceiver::GetProperty::Reply(returnValue, resultData), m_npObjectID))
     86        return false;
     87
     88    notImplemented();   
     89    return false;
    6190}
    6291
     
    119148}
    120149
    121 bool NPObjectProxy::NP_GetProperty(NPObject*, NPIdentifier propertyName, NPVariant* result)
     150bool NPObjectProxy::NP_GetProperty(NPObject* npObject, NPIdentifier propertyName, NPVariant* result)
    122151{
    123     notImplemented();
    124     return false;
     152    return toNPObjectProxy(npObject)->getProperty(propertyName, result);
    125153}
    126154
  • trunk/WebKit2/Shared/Plugins/NPObjectProxy.h

    r71054 r71075  
    3434namespace WebKit {
    3535
     36class NPRemoteObjectMap;
     37
    3638class NPObjectProxy : public NPObject {
    3739    WTF_MAKE_NONCOPYABLE(NPObjectProxy);
    3840
    3941public:
    40     static NPObjectProxy* create(uint64_t npObjectID);
     42    static NPObjectProxy* create(NPRemoteObjectMap* npRemoteObjectMap, uint64_t npObjectID);
    4143
    4244    static bool isNPObjectProxy(NPObject*);
     
    5254    ~NPObjectProxy();
    5355
    54     void initialize(uint64_t npObjectID);
     56    void initialize(NPRemoteObjectMap* npRemoteObjectMap, uint64_t npObjectID);
     57
     58    bool getProperty(NPIdentifier propertyName, NPVariant* result);
    5559
    5660    static NPClass* npClass();
     
    6771    static bool NP_Construct(NPObject*, const NPVariant* arguments, uint32_t argumentCount, NPVariant* result);
    6872
     73    NPRemoteObjectMap* m_npRemoteObjectMap;
    6974    uint64_t m_npObjectID;
    7075};
  • trunk/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp

    r71054 r71075  
    4747NPObjectProxy* NPRemoteObjectMap::createNPObjectProxy(uint64_t remoteObjectID)
    4848{
    49     return NPObjectProxy::create(remoteObjectID);
     49    return NPObjectProxy::create(this, remoteObjectID);
    5050}
    5151
     
    5858}
    5959
     60CoreIPC::SyncReplyMode NPRemoteObjectMap::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply)
     61{
     62    NPObjectMessageReceiver* messageReceiver = m_registeredNPObjects.get(arguments->destinationID());
     63    if (!messageReceiver)
     64        return CoreIPC::AutomaticReply;
     65
     66    return messageReceiver->didReceiveSyncNPObjectMessageReceiverMessage(connection, messageID, arguments, reply);
     67}
     68
    6069} // namespace WebKit
    6170
  • trunk/WebKit2/Shared/Plugins/NPRemoteObjectMap.h

    r71054 r71075  
    2929#if ENABLE(PLUGIN_PROCESS)
    3030
     31#include "Connection.h"
    3132#include <WebCore/npruntime.h>
    3233#include <wtf/HashMap.h>
    3334#include <wtf/Noncopyable.h>
    34 
    35 namespace CoreIPC {
    36     class Connection;
    37 }
    3835
    3936namespace WebKit {
     
    5451    uint64_t registerNPObject(NPObject*);
    5552
     53    CoreIPC::Connection* connection() const { return m_connection; }
     54
     55    CoreIPC::SyncReplyMode didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply);
     56
    5657private:
    5758    CoreIPC::Connection* m_connection;
  • trunk/WebKit2/Shared/Plugins/NPVariantData.cpp

    r71074 r71075  
    2626#if ENABLE(PLUGIN_PROCESS)
    2727
    28 #include "NPObjectMessageReceiver.h"
     28#include "NPVariantData.h"
    2929
    30 #include "NPRuntimeUtilities.h"
    3130#include "NotImplemented.h"
    3231
    3332namespace WebKit {
    3433
    35 PassOwnPtr<NPObjectMessageReceiver> NPObjectMessageReceiver::create(NPObject* npObject)
     34void NPVariantData::encode(CoreIPC::ArgumentEncoder*) const
    3635{
    37     return adoptPtr(new NPObjectMessageReceiver(npObject));
     36    notImplemented();
    3837}
    3938
    40 NPObjectMessageReceiver::NPObjectMessageReceiver(NPObject* npObject)
    41     : m_npObject(npObject)
    42 {
    43     retainNPObject(m_npObject);
    44 }
    45 
    46 NPObjectMessageReceiver::~NPObjectMessageReceiver()
    47 {
    48     releaseNPObject(m_npObject);
    49 }
    50 
    51 void NPObjectMessageReceiver::deallocate()
     39bool NPVariantData::decode(CoreIPC::ArgumentDecoder*, NPVariantData&)
    5240{
    5341    notImplemented();
     42    return false;
    5443}
    5544
     
    5746
    5847#endif // ENABLE(PLUGIN_PROCESS)
    59 
  • trunk/WebKit2/Shared/Plugins/NPVariantData.h

    r71074 r71075  
    2424 */
    2525
     26#ifndef NPVariantData_h
     27#define NPVariantData_h
     28
    2629#if ENABLE(PLUGIN_PROCESS)
    2730
    28 #include "NPObjectMessageReceiver.h"
    29 
    30 #include "NPRuntimeUtilities.h"
    31 #include "NotImplemented.h"
     31namespace CoreIPC {
     32    class ArgumentDecoder;
     33    class ArgumentEncoder;
     34}
    3235
    3336namespace WebKit {
    3437
    35 PassOwnPtr<NPObjectMessageReceiver> NPObjectMessageReceiver::create(NPObject* npObject)
    36 {
    37     return adoptPtr(new NPObjectMessageReceiver(npObject));
    38 }
     38// The CoreIPC representation of an NPVariant.
    3939
    40 NPObjectMessageReceiver::NPObjectMessageReceiver(NPObject* npObject)
    41     : m_npObject(npObject)
    42 {
    43     retainNPObject(m_npObject);
    44 }
    45 
    46 NPObjectMessageReceiver::~NPObjectMessageReceiver()
    47 {
    48     releaseNPObject(m_npObject);
    49 }
    50 
    51 void NPObjectMessageReceiver::deallocate()
    52 {
    53     notImplemented();
    54 }
     40class NPVariantData {
     41public:
     42    void encode(CoreIPC::ArgumentEncoder*) const;
     43    static bool decode(CoreIPC::ArgumentDecoder*, NPVariantData&);
     44   
     45};
    5546
    5647} // namespace WebKit
    5748
    5849#endif // ENABLE(PLUGIN_PROCESS)
    59 
     50   
     51#endif // NPVariantData_h
  • trunk/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r71060 r71075  
    9090                1A2D8439127F65D5001EB962 /* NPObjectMessageReceiverMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2D8437127F65D5001EB962 /* NPObjectMessageReceiverMessageReceiver.cpp */; };
    9191                1A2D843A127F65D5001EB962 /* NPObjectMessageReceiverMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2D8438127F65D5001EB962 /* NPObjectMessageReceiverMessages.h */; };
     92                1A2D848B127F6A49001EB962 /* NPIdentifierData.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2D8489127F6A49001EB962 /* NPIdentifierData.h */; };
     93                1A2D848C127F6A49001EB962 /* NPIdentifierData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2D848A127F6A49001EB962 /* NPIdentifierData.cpp */; };
     94                1A2D84A3127F6AD1001EB962 /* NPVariantData.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2D84A1127F6AD1001EB962 /* NPVariantData.h */; };
     95                1A2D84A4127F6AD1001EB962 /* NPVariantData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2D84A2127F6AD1001EB962 /* NPVariantData.cpp */; };
    9296                1A30066E1110F4F70031937C /* ResponsivenessTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A30066C1110F4F70031937C /* ResponsivenessTimer.h */; };
    9397                1A30EAC6115D7DA30053E937 /* ConnectionMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A30EAC5115D7DA30053E937 /* ConnectionMac.cpp */; };
     
    598602                1A2D8437127F65D5001EB962 /* NPObjectMessageReceiverMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NPObjectMessageReceiverMessageReceiver.cpp; sourceTree = "<group>"; };
    599603                1A2D8438127F65D5001EB962 /* NPObjectMessageReceiverMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NPObjectMessageReceiverMessages.h; sourceTree = "<group>"; };
     604                1A2D8489127F6A49001EB962 /* NPIdentifierData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NPIdentifierData.h; sourceTree = "<group>"; };
     605                1A2D848A127F6A49001EB962 /* NPIdentifierData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NPIdentifierData.cpp; sourceTree = "<group>"; };
     606                1A2D84A1127F6AD1001EB962 /* NPVariantData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NPVariantData.h; sourceTree = "<group>"; };
     607                1A2D84A2127F6AD1001EB962 /* NPVariantData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NPVariantData.cpp; sourceTree = "<group>"; };
    600608                1A30066C1110F4F70031937C /* ResponsivenessTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResponsivenessTimer.h; sourceTree = "<group>"; };
    601609                1A30EAC5115D7DA30053E937 /* ConnectionMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConnectionMac.cpp; sourceTree = "<group>"; };
     
    13481356                        isa = PBXGroup;
    13491357                        children = (
     1358                                1A2D848A127F6A49001EB962 /* NPIdentifierData.cpp */,
     1359                                1A2D8489127F6A49001EB962 /* NPIdentifierData.h */,
    13501360                                1A1FA35C127A45BF0050E709 /* NPObjectMessageReceiver.cpp */,
    13511361                                1A1FA35B127A45BF0050E709 /* NPObjectMessageReceiver.h */,
     
    13551365                                1A1FA252127A0E4F0050E709 /* NPRemoteObjectMap.cpp */,
    13561366                                1A1FA251127A0E4F0050E709 /* NPRemoteObjectMap.h */,
     1367                                1A2D84A2127F6AD1001EB962 /* NPVariantData.cpp */,
     1368                                1A2D84A1127F6AD1001EB962 /* NPVariantData.h */,
    13571369                        );
    13581370                        path = Plugins;
     
    22582270                                1A2D82A9127F4EAB001EB962 /* NPRemoteObjectMap.h in Headers */,
    22592271                                1A2D843A127F65D5001EB962 /* NPObjectMessageReceiverMessages.h in Headers */,
     2272                                1A2D848B127F6A49001EB962 /* NPIdentifierData.h in Headers */,
     2273                                1A2D84A3127F6AD1001EB962 /* NPVariantData.h in Headers */,
    22602274                        );
    22612275                        runOnlyForDeploymentPostprocessing = 0;
     
    25932607                                1A2D82A8127F4EAB001EB962 /* NPRemoteObjectMap.cpp in Sources */,
    25942608                                1A2D8439127F65D5001EB962 /* NPObjectMessageReceiverMessageReceiver.cpp in Sources */,
     2609                                1A2D848C127F6A49001EB962 /* NPIdentifierData.cpp in Sources */,
     2610                                1A2D84A4127F6AD1001EB962 /* NPVariantData.cpp in Sources */,
    25952611                        );
    25962612                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebKit2/WebProcess/Plugins/PluginProcessConnection.cpp

    r71051 r71075  
    8383CoreIPC::SyncReplyMode PluginProcessConnection::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply)
    8484{
     85    if (messageID.is<CoreIPC::MessageClassNPObjectMessageReceiver>())
     86        return m_npRemoteObjectMap.didReceiveSyncMessage(connection, messageID, arguments, reply);
     87
    8588    if (PluginProxy* pluginProxy = m_plugins.get(arguments->destinationID()))
    8689        return pluginProxy->didReceiveSyncPluginProxyMessage(connection, messageID, arguments, reply);
    87    
     90
    8891    ASSERT_NOT_REACHED();
    8992    return CoreIPC::AutomaticReply;
Note: See TracChangeset for help on using the changeset viewer.