| Index: chrome/browser/ui/webui/chrome_url_data_manager.cc
|
| diff --git a/chrome/browser/ui/webui/chrome_url_data_manager.cc b/chrome/browser/ui/webui/chrome_url_data_manager.cc
|
| index 23b61e7640958ba44081621869351fb2d0c949bf..f9eabaeb3b7470609be87c6f58a94c6b64543bca 100644
|
| --- a/chrome/browser/ui/webui/chrome_url_data_manager.cc
|
| +++ b/chrome/browser/ui/webui/chrome_url_data_manager.cc
|
| @@ -8,6 +8,7 @@
|
|
|
| #include "base/bind.h"
|
| #include "base/i18n/rtl.h"
|
| +#include "base/lazy_instance.h"
|
| #include "base/memory/ref_counted_memory.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/message_loop.h"
|
| @@ -27,8 +28,9 @@
|
|
|
| using content::BrowserThread;
|
|
|
| -// static
|
| -base::Lock ChromeURLDataManager::delete_lock_;
|
| +static base::LazyInstance<base::Lock,
|
| + base::LeakyLazyInstanceTraits<base::Lock> >
|
| + g_delete_lock = LAZY_INSTANCE_INITIALIZER;
|
|
|
| // static
|
| ChromeURLDataManager::DataSources* ChromeURLDataManager::data_sources_ = NULL;
|
| @@ -62,7 +64,7 @@ void ChromeURLDataManager::DeleteDataSources() {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DataSources sources;
|
| {
|
| - base::AutoLock lock(delete_lock_);
|
| + base::AutoLock lock(g_delete_lock.Get());
|
| if (!data_sources_)
|
| return;
|
| data_sources_->swap(sources);
|
| @@ -84,7 +86,7 @@ void ChromeURLDataManager::DeleteDataSource(const DataSource* data_source) {
|
| // to delete.
|
| bool schedule_delete = false;
|
| {
|
| - base::AutoLock lock(delete_lock_);
|
| + base::AutoLock lock(g_delete_lock.Get());
|
| if (!data_sources_)
|
| data_sources_ = new DataSources();
|
| schedule_delete = data_sources_->empty();
|
| @@ -101,7 +103,7 @@ void ChromeURLDataManager::DeleteDataSource(const DataSource* data_source) {
|
| // static
|
| bool ChromeURLDataManager::IsScheduledForDeletion(
|
| const DataSource* data_source) {
|
| - base::AutoLock lock(delete_lock_);
|
| + base::AutoLock lock(g_delete_lock.Get());
|
| if (!data_sources_)
|
| return false;
|
| return std::find(data_sources_->begin(), data_sources_->end(), data_source) !=
|
|
|