| Index: chrome/browser/profiles/profile_impl.cc
|
| diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
|
| index 6599b978a8cba3bdcec2051fc9b552119086d46c..ff1c9ce3fb8ab606e37d7af0ceb2aa33475f0167 100644
|
| --- a/chrome/browser/profiles/profile_impl.cc
|
| +++ b/chrome/browser/profiles/profile_impl.cc
|
| @@ -14,6 +14,7 @@
|
| #include "base/path_service.h"
|
| #include "base/string_number_conversions.h"
|
| #include "base/string_util.h"
|
| +#include "base/synchronization/waitable_event.h"
|
| #include "chrome/browser/autocomplete/autocomplete_classifier.h"
|
| #include "chrome/browser/autofill/personal_data_manager.h"
|
| #include "chrome/browser/background/background_contents_service_factory.h"
|
| @@ -589,6 +590,12 @@ ProfileImpl::~ProfileImpl() {
|
| Source<Profile>(this),
|
| NotificationService::NoDetails());
|
|
|
| + if (appcache_service_ && prefs_->GetBoolean(prefs::kClearSiteDataOnExit)) {
|
| + // We don't own event
|
| + base::WaitableEvent* event = appcache_service_->ClearAppCache(NULL);
|
| + event->Wait();
|
| + }
|
| +
|
| StopCreateSessionServiceTimer();
|
|
|
| // Remove pref observers
|
| @@ -1322,8 +1329,7 @@ void ProfileImpl::CreateQuotaManagerAndClients() {
|
| IsOffTheRecord()
|
| ? FilePath() : GetPath().Append(chrome::kAppCacheDirname),
|
| &GetResourceContext(),
|
| - make_scoped_refptr(GetExtensionSpecialStoragePolicy()),
|
| - clear_local_state_on_exit_));
|
| + make_scoped_refptr(GetExtensionSpecialStoragePolicy())));
|
| }
|
|
|
| WebKitContext* ProfileImpl::GetWebKitContext() {
|
| @@ -1377,10 +1383,6 @@ void ProfileImpl::Observe(NotificationType type,
|
| webkit_context_->set_clear_local_state_on_exit(
|
| clear_local_state_on_exit_);
|
| }
|
| - if (appcache_service_) {
|
| - appcache_service_->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);
|
|
|