Index: ppapi/proxy/plugin_globals.cc |
diff --git a/ppapi/proxy/plugin_globals.cc b/ppapi/proxy/plugin_globals.cc |
index 82e16ffe328582f2a5bade188fad7057d1e4e4be..b372207c6f00e124ffbc250eebec3ba34b6f89ff 100644 |
--- a/ppapi/proxy/plugin_globals.cc |
+++ b/ppapi/proxy/plugin_globals.cc |
@@ -192,11 +192,8 @@ void PluginGlobals::MarkPluginIsActive() { |
} |
IPC::Sender* PluginGlobals::GetBrowserSender() { |
- if (!browser_sender_.get()) { |
- browser_sender_.reset( |
- new BrowserSender(plugin_proxy_delegate_->GetBrowserSender())); |
- } |
- |
+ // CAUTION: This function is called without the ProxyLock. See also |
+ // InterfaceList::GetInterfaceForPPB. |
return browser_sender_.get(); |
} |
@@ -217,6 +214,12 @@ PP_Resource PluginGlobals::CreateBrowserFont( |
connection, instance, desc, prefs); |
} |
+void PluginGlobals::SetPluginProxyDelegate(PluginProxyDelegate* delegate) { |
+ plugin_proxy_delegate_ = delegate; |
+ browser_sender_.reset( |
+ new BrowserSender(plugin_proxy_delegate_->GetBrowserSender())); |
+} |
+ |
MessageLoopResource* PluginGlobals::loop_for_main_thread() { |
return loop_for_main_thread_.get(); |
} |