| Index: content/child/np_channel_base.cc
|
| diff --git a/content/child/np_channel_base.cc b/content/child/np_channel_base.cc
|
| index 81b848b0866a638681a66d657898b8422b653991..23805e756df37b87481b0acc3570c39818ad1651 100644
|
| --- a/content/child/np_channel_base.cc
|
| +++ b/content/child/np_channel_base.cc
|
| @@ -72,12 +72,19 @@ NPChannelBase::NPChannelBase()
|
| non_npobject_count_(0),
|
| peer_pid_(0),
|
| in_remove_route_(false),
|
| + default_owner_(NULL),
|
| channel_valid_(false),
|
| in_unblock_dispatch_(0),
|
| send_unblocking_only_during_unblock_dispatch_(false) {
|
| }
|
|
|
| NPChannelBase::~NPChannelBase() {
|
| + // TODO(wez): Establish why these would ever be non-empty at teardown.
|
| + //DCHECK(npobject_listeners_.empty());
|
| + //DCHECK(proxy_map_.empty());
|
| + //DCHECK(stub_map_.empty());
|
| + DCHECK(owner_to_route_.empty());
|
| + DCHECK(route_to_owner_.empty());
|
| }
|
|
|
| NPChannelBase* NPChannelBase::GetCurrentChannel() {
|
| @@ -271,21 +278,15 @@ void NPChannelBase::OnChannelError() {
|
| }
|
| }
|
|
|
| -NPObject* NPChannelBase::GetExistingNPObjectProxy(int route_id) {
|
| - ProxyMap::iterator iter = proxy_map_.find(route_id);
|
| - return iter != proxy_map_.end() ? iter->second : NULL;
|
| -}
|
| -
|
| -int NPChannelBase::GetExistingRouteForNPObjectStub(NPObject* npobject) {
|
| - StubMap::iterator iter = stub_map_.find(npobject);
|
| - return iter != stub_map_.end() ? iter->second : MSG_ROUTING_NONE;
|
| -}
|
| -
|
| void NPChannelBase::AddMappingForNPObjectProxy(int route_id,
|
| NPObject* object) {
|
| proxy_map_[route_id] = object;
|
| }
|
|
|
| +void NPChannelBase::RemoveMappingForNPObjectProxy(int route_id) {
|
| + proxy_map_.erase(route_id);
|
| +}
|
| +
|
| void NPChannelBase::AddMappingForNPObjectStub(int route_id,
|
| NPObject* object) {
|
| DCHECK(object != NULL);
|
| @@ -298,8 +299,42 @@ void NPChannelBase::RemoveMappingForNPObjectStub(int route_id,
|
| stub_map_.erase(object);
|
| }
|
|
|
| -void NPChannelBase::RemoveMappingForNPObjectProxy(int route_id) {
|
| - proxy_map_.erase(route_id);
|
| +void NPChannelBase::AddMappingForNPObjectOwner(int route_id,
|
| + struct _NPP* owner) {
|
| + DCHECK(owner != NULL);
|
| + route_to_owner_[route_id] = owner;
|
| + owner_to_route_[owner] = route_id;
|
| +}
|
| +
|
| +void NPChannelBase::SetDefaultNPObjectOwner(struct _NPP* owner) {
|
| + DCHECK(owner != NULL);
|
| + default_owner_ = owner;
|
| +}
|
| +
|
| +void NPChannelBase::RemoveMappingForNPObjectOwner(int route_id) {
|
| + DCHECK(route_to_owner_.find(route_id) != route_to_owner_.end());
|
| + owner_to_route_.erase(route_to_owner_[route_id]);
|
| + route_to_owner_.erase(route_id);
|
| +}
|
| +
|
| +NPObject* NPChannelBase::GetExistingNPObjectProxy(int route_id) {
|
| + ProxyMap::iterator iter = proxy_map_.find(route_id);
|
| + return iter != proxy_map_.end() ? iter->second : NULL;
|
| +}
|
| +
|
| +int NPChannelBase::GetExistingRouteForNPObjectStub(NPObject* npobject) {
|
| + StubMap::iterator iter = stub_map_.find(npobject);
|
| + return iter != stub_map_.end() ? iter->second : MSG_ROUTING_NONE;
|
| +}
|
| +
|
| +NPP NPChannelBase::GetExistingNPObjectOwner(int route_id) {
|
| + RouteToOwnerMap::iterator iter = route_to_owner_.find(route_id);
|
| + return iter != route_to_owner_.end() ? iter->second : default_owner_;
|
| +}
|
| +
|
| +int NPChannelBase::GetExistingRouteForNPObjectOwner(NPP owner) {
|
| + OwnerToRouteMap::iterator iter = owner_to_route_.find(owner);
|
| + return iter != owner_to_route_.end() ? iter->second : MSG_ROUTING_NONE;
|
| }
|
|
|
| } // namespace content
|
|
|