Index: ppapi/shared_impl/ppapi_globals.cc |
diff --git a/ppapi/shared_impl/ppapi_globals.cc b/ppapi/shared_impl/ppapi_globals.cc |
index 9f4aaa3c3bc1785109eaa28ff4516de8b69b3ebb..f5166c3cab5ed4ba95d3222eababceb54e8b47da 100644 |
--- a/ppapi/shared_impl/ppapi_globals.cc |
+++ b/ppapi/shared_impl/ppapi_globals.cc |
@@ -18,29 +18,38 @@ base::LazyInstance<base::ThreadLocalPointer<PpapiGlobals> >::Leaky |
tls_ppapi_globals_for_test = LAZY_INSTANCE_INITIALIZER; |
} // namespace |
-PpapiGlobals* PpapiGlobals::ppapi_globals_ = NULL; |
+PpapiGlobals* ppapi_globals = NULL; |
PpapiGlobals::PpapiGlobals() { |
- DCHECK(!ppapi_globals_); |
- ppapi_globals_ = this; |
+ DCHECK(!ppapi_globals); |
+ ppapi_globals = this; |
main_loop_proxy_ = base::MessageLoopProxy::current(); |
} |
PpapiGlobals::PpapiGlobals(PerThreadForTest) { |
- DCHECK(!ppapi_globals_); |
+ DCHECK(!ppapi_globals); |
main_loop_proxy_ = base::MessageLoopProxy::current(); |
} |
PpapiGlobals::~PpapiGlobals() { |
- DCHECK(ppapi_globals_ == this || !ppapi_globals_); |
- ppapi_globals_ = NULL; |
+ DCHECK(ppapi_globals == this || !ppapi_globals); |
+ ppapi_globals = NULL; |
+} |
+ |
+//Static Getter for the global singleton. |
+PpapiGlobals* PpapiGlobals::Get() { |
+ if (ppapi_globals) |
+ return ppapi_globals; |
+ // In unit tests, the following might be valid (see |
+ // SetPpapiGlobalsOnThreadForTest). Normally, this will just return NULL. |
+ return GetThreadLocalPointer(); |
} |
// static |
void PpapiGlobals::SetPpapiGlobalsOnThreadForTest(PpapiGlobals* ptr) { |
// If we're using a per-thread PpapiGlobals, we should not have a global one. |
// If we allowed it, it would always over-ride the "test" versions. |
- DCHECK(!ppapi_globals_); |
+ DCHECK(!ppapi_globals); |
tls_ppapi_globals_for_test.Pointer()->Set(ptr); |
} |