| Index: chrome/browser/profiles/profile_impl.cc
|
| diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
|
| index 73adc7fcee46b55e2221652b89ac9c56770126e7..59849ae513f34db5d86f778bc25b7289fd9aa6de 100644
|
| --- a/chrome/browser/profiles/profile_impl.cc
|
| +++ b/chrome/browser/profiles/profile_impl.cc
|
| @@ -613,6 +613,8 @@ ProfileImpl::~ProfileImpl() {
|
| BrowserThread::PostTask(
|
| BrowserThread::FILE, FROM_HERE,
|
| NewRunnableFunction(&BrowsingDataRemover::ClearGearsData, path_));
|
| + if (db_tracker_.get())
|
| + db_tracker_->Shutdown();
|
| }
|
|
|
| // DownloadManager is lazily created, so check before accessing it.
|
| @@ -1325,7 +1327,8 @@ void ProfileImpl::CreateQuotaManagerAndClients() {
|
| GetExtensionSpecialStoragePolicy(),
|
| quota_manager_->proxy());
|
| db_tracker_ = new webkit_database::DatabaseTracker(
|
| - GetPath(), IsOffTheRecord(), GetExtensionSpecialStoragePolicy(),
|
| + GetPath(), IsOffTheRecord(), clear_local_state_on_exit_,
|
| + GetExtensionSpecialStoragePolicy(),
|
| quota_manager_->proxy(),
|
| BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE));
|
| webkit_context_ = new WebKitContext(
|
| @@ -1400,6 +1403,10 @@ void ProfileImpl::Observe(NotificationType type,
|
| appcache_service_->SetClearLocalStateOnExit(
|
| clear_local_state_on_exit_);
|
| }
|
| + if (db_tracker_) {
|
| + db_tracker_->SetClearLocalStateOnExit(
|
| + clear_local_state_on_exit_);
|
| + }
|
| } else if (*pref_name_in == prefs::kGoogleServicesUsername) {
|
| ProfileManager* profile_manager = g_browser_process->profile_manager();
|
| profile_manager->RegisterProfileName(this);
|
|
|