| Index: content/child/plugin_param_traits.cc
|
| diff --git a/content/child/plugin_param_traits.cc b/content/child/plugin_param_traits.cc
|
| index da1b24130ad7c82b5c338f64833d7a482aeed8bc..f50aecf9a2ce0799a5b43ddfe9d5b3ff6077d752 100644
|
| --- a/content/child/plugin_param_traits.cc
|
| +++ b/content/child/plugin_param_traits.cc
|
| @@ -24,7 +24,8 @@ NPVariant_Param::NPVariant_Param()
|
| bool_value(false),
|
| int_value(0),
|
| double_value(0),
|
| - npobject_routing_id(-1) {
|
| + npobject_routing_id(-1),
|
| + npobject_owner_id(-1) {
|
| }
|
|
|
| NPVariant_Param::~NPVariant_Param() {
|
| @@ -53,6 +54,9 @@ void ParamTraits<NPVariant_Param>::Write(Message* m, const param_type& p) {
|
| // process with NPObjectStub in this process or to identify the raw
|
| // npobject pointer to be used in the callee process.
|
| WriteParam(m, p.npobject_routing_id);
|
| + // This is a routing Id used to identify the plugin instance that owns
|
| + // the object, for ownership-tracking purposes.
|
| + WriteParam(m, p.npobject_owner_id);
|
| } else {
|
| DCHECK(p.type == content::NPVARIANT_PARAM_VOID ||
|
| p.type == content::NPVARIANT_PARAM_NULL);
|
| @@ -79,6 +83,7 @@ bool ParamTraits<NPVariant_Param>::Read(const Message* m,
|
| } else if (r->type == content::NPVARIANT_PARAM_SENDER_OBJECT_ROUTING_ID ||
|
| r->type == content::NPVARIANT_PARAM_RECEIVER_OBJECT_ROUTING_ID) {
|
| result = ReadParam(m, iter, &r->npobject_routing_id);
|
| + result = ReadParam(m, iter, &r->npobject_owner_id);
|
| } else if ((r->type == content::NPVARIANT_PARAM_VOID) ||
|
| (r->type == content::NPVARIANT_PARAM_NULL)) {
|
| result = true;
|
|
|