| Index: content/child/npobject_util.cc
|
| diff --git a/content/child/npobject_util.cc b/content/child/npobject_util.cc
|
| index 80fed0e53dc0c3734b27c1a20e0891ecff746d38..7b4953c3e1ccbccbb722d76ae6e0f7fc635a6eac 100644
|
| --- a/content/child/npobject_util.cc
|
| +++ b/content/child/npobject_util.cc
|
| @@ -204,6 +204,11 @@ void CreateNPVariantParam(const NPVariant& variant,
|
| page_url);
|
| param->npobject_routing_id = route_id;
|
| }
|
| +
|
| + // Include the object's owner.
|
| + NPP owner = WebBindings::getObjectOwner(variant.value.objectValue);
|
| + param->npobject_owner_id =
|
| + channel->GetExistingRouteForNPObjectOwner(owner);
|
| } else {
|
| param->type = NPVARIANT_PARAM_VOID;
|
| }
|
| @@ -259,11 +264,16 @@ bool CreateNPVariant(const NPVariant_Param& param,
|
| WebBindings::retainObject(object);
|
| result->value.objectValue = object;
|
| } else {
|
| + NPP owner =
|
| + channel->GetExistingNPObjectOwner(param.npobject_owner_id);
|
| + // TODO(wez): Once NPObject tracking lands in Blink, check |owner| and
|
| + // return NPVariantType_Void if it is NULL.
|
| result->value.objectValue =
|
| NPObjectProxy::Create(channel,
|
| param.npobject_routing_id,
|
| render_view_id,
|
| - page_url);
|
| + page_url,
|
| + owner);
|
| }
|
| break;
|
| }
|
|
|