Index: content/renderer/pepper/renderer_ppapi_host_impl.cc |
diff --git a/content/renderer/pepper/renderer_ppapi_host_impl.cc b/content/renderer/pepper/renderer_ppapi_host_impl.cc |
index b6e6e9e7e46d08d3789a082ddf88d87788a68da4..5925e9dceb8b3d194a736a3087fb8c2cb8f8d56e 100644 |
--- a/content/renderer/pepper/renderer_ppapi_host_impl.cc |
+++ b/content/renderer/pepper/renderer_ppapi_host_impl.cc |
@@ -241,19 +241,20 @@ void RendererPpapiHostImpl::SetToExternalPluginHost() { |
is_external_plugin_host_ = true; |
} |
-void RendererPpapiHostImpl::CreateBrowserResourceHosts( |
+int32_t RendererPpapiHostImpl::CreateBrowserResourceHosts( |
PP_Instance instance, |
const std::vector<IPC::Message>& nested_msgs, |
- const base::Callback<void(const std::vector<int>&)>& callback) const { |
+ const PendingResourceCallback& callback) const { |
RenderFrame* render_frame = GetRenderFrameForInstance(instance); |
PepperBrowserConnection* browser_connection = |
PepperBrowserConnection::Get(render_frame); |
if (!browser_connection) { |
+ ppapi::proxy::CompletedBrowserResourceHosts empty; |
base::MessageLoop::current()->PostTask( |
- FROM_HERE, |
- base::Bind(callback, std::vector<int>(nested_msgs.size(), 0))); |
+ FROM_HERE, base::Bind(callback, empty)); |
+ return -1; |
} else { |
- browser_connection->SendBrowserCreate( |
+ return browser_connection->SendBrowserCreate( |
module_->GetPluginChildId(), instance, nested_msgs, callback); |
} |
} |
@@ -266,6 +267,19 @@ GURL RendererPpapiHostImpl::GetDocumentURL(PP_Instance instance) const { |
return instance_object->container()->element().document().url(); |
} |
+void RendererPpapiHostImpl::GetAllPendingBrowserHosts( |
+ PP_Instance instance, |
+ std::vector<ppapi::proxy::CompletedBrowserResourceHosts>* result) { |
+ RenderFrame* render_frame = GetRenderFrameForInstance(instance); |
+ PepperBrowserConnection* browser_connection = |
+ PepperBrowserConnection::Get(render_frame); |
+ if (!browser_connection) |
+ return; |
+ browser_connection->GetAllPendingBrowserHosts(instance, |
+ module_->GetPluginChildId(), |
+ result); |
+} |
+ |
PepperPluginInstanceImpl* RendererPpapiHostImpl::GetAndValidateInstance( |
PP_Instance pp_instance) const { |
PepperPluginInstanceImpl* instance = |