Index: ppapi/proxy/ppb_instance_proxy.cc |
diff --git a/ppapi/proxy/ppb_instance_proxy.cc b/ppapi/proxy/ppb_instance_proxy.cc |
index e8d07abadae6ae9065ed3c9d839061a61187525a..4e3282227cf0b5005c0ff266689b57ffab53205e 100644 |
--- a/ppapi/proxy/ppb_instance_proxy.cc |
+++ b/ppapi/proxy/ppb_instance_proxy.cc |
@@ -539,17 +539,22 @@ void PPB_Instance_Proxy::KeyMessage(PP_Instance instance, |
PP_Var session_id, |
PP_Resource message, |
PP_Var default_url) { |
- Resource* object = |
- PpapiGlobals::Get()->GetResourceTracker()->GetResource(message); |
- if (!object || object->pp_instance() != instance) |
- return; |
+ PP_Resource host_resource = 0; |
+ if (message) { |
+ Resource* object = |
+ PpapiGlobals::Get()->GetResourceTracker()->GetResource(message); |
+ if (!object || object->pp_instance() != instance) |
+ return; |
+ host_resource = object->host_resource().host_resource(); |
+ } |
+ |
dispatcher()->Send( |
new PpapiHostMsg_PPBInstance_KeyMessage( |
API_ID_PPB_INSTANCE, |
instance, |
SerializedVarSendInput(dispatcher(), key_system), |
SerializedVarSendInput(dispatcher(), session_id), |
- object->host_resource().host_resource(), |
+ host_resource, |
SerializedVarSendInput(dispatcher(), default_url))); |
} |