Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1869)

Unified Diff: ppapi/proxy/plugin_globals.cc

Issue 568793002: PPAPI: Fix GetBrowserInterface race conditions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix misspelling Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
}

Powered by Google App Engine
This is Rietveld 408576698