summaryrefslogtreecommitdiffstats
path: root/chrome_frame
diff options
context:
space:
mode:
Diffstat (limited to 'chrome_frame')
-rw-r--r--chrome_frame/chrome_frame_automation.cc8
-rw-r--r--chrome_frame/external_tab.cc7
2 files changed, 9 insertions, 6 deletions
diff --git a/chrome_frame/chrome_frame_automation.cc b/chrome_frame/chrome_frame_automation.cc
index 0d7a4b9..7294e6f 100644
--- a/chrome_frame/chrome_frame_automation.cc
+++ b/chrome_frame/chrome_frame_automation.cc
@@ -11,11 +11,11 @@
#include "base/debug/trace_event.h"
#include "base/file_util.h"
#include "base/file_version_info.h"
+#include "base/lazy_instance.h"
#include "base/lock.h"
#include "base/logging.h"
#include "base/path_service.h"
#include "base/process_util.h"
-#include "base/singleton.h"
#include "base/string_util.h"
#include "base/sys_info.h"
#include "base/utf_string_conversions.h"
@@ -565,7 +565,9 @@ bool ProxyFactory::ReleaseAutomationServer(void* server_id,
return true;
}
-Singleton<ProxyFactory, LeakySingletonTraits<ProxyFactory> > g_proxy_factory;
+static base::LazyInstance<ProxyFactory,
+ base::LeakyLazyInstanceTraits<ProxyFactory> >
+ g_proxy_factory(base::LINKER_INITIALIZED);
template <> struct RunnableMethodTraits<ChromeFrameAutomationClient> {
static void RetainCallee(ChromeFrameAutomationClient* obj) {}
@@ -582,7 +584,7 @@ ChromeFrameAutomationClient::ChromeFrameAutomationClient()
ui_thread_id_(NULL),
init_state_(UNINITIALIZED),
use_chrome_network_(false),
- proxy_factory_(g_proxy_factory.get()),
+ proxy_factory_(g_proxy_factory.Pointer()),
handle_top_level_requests_(false),
tab_handle_(-1),
session_id_(-1),
diff --git a/chrome_frame/external_tab.cc b/chrome_frame/external_tab.cc
index ef5fe8c..785b189 100644
--- a/chrome_frame/external_tab.cc
+++ b/chrome_frame/external_tab.cc
@@ -3,7 +3,7 @@
// found in the LICENSE file.
#include "chrome_frame/external_tab.h"
-#include "base/singleton.h"
+#include "base/lazy_instance.h"
#include "base/tracked.h"
#include "base/task.h"
#include "base/waitable_event.h"
@@ -15,7 +15,8 @@ DISABLE_RUNNABLE_METHOD_REFCOUNT(ExternalTabProxy);
DISABLE_RUNNABLE_METHOD_REFCOUNT(UIDelegate);
namespace {
- Singleton<ChromeProxyFactory> g_proxy_factory;
+ static base::LazyInstance<ChromeProxyFactory> g_proxy_factory(
+ base::LINKER_INITIALIZED);
struct UserDataHolder : public SyncMessageContext {
explicit UserDataHolder(void* p) : data(p) {}
@@ -25,7 +26,7 @@ namespace {
ExternalTabProxy::ExternalTabProxy() : state_(NONE), tab_(0), tab_wnd_(NULL),
- chrome_wnd_(NULL), proxy_factory_(g_proxy_factory.get()), proxy_(NULL),
+ chrome_wnd_(NULL), proxy_factory_(g_proxy_factory.Pointer()), proxy_(NULL),
ui_delegate_(NULL) {
}