| Index: chrome/browser/profiles/profile.cc
|
| diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
|
| index 03f01130783c1a47a25112e4b05a2e8a5225a70f..b61febd8e34485facc1feacbd6ac4094a8a40a4e 100644
|
| --- a/chrome/browser/profiles/profile.cc
|
| +++ b/chrome/browser/profiles/profile.cc
|
| @@ -81,6 +81,18 @@ net::URLRequestContextGetter* Profile::default_request_context_;
|
|
|
| namespace {
|
|
|
| +void NotifyOTRProfileCreatedOnIOThread(ProfileId original_profile_id,
|
| + ProfileId otr_profile_id) {
|
| + ExtensionWebRequestEventRouter::GetInstance()->OnOTRProfileCreated(
|
| + original_profile_id, otr_profile_id);
|
| +}
|
| +
|
| +void NotifyOTRProfileDestroyedOnIOThread(ProfileId original_profile_id,
|
| + ProfileId otr_profile_id) {
|
| + ExtensionWebRequestEventRouter::GetInstance()->OnOTRProfileDestroyed(
|
| + original_profile_id, otr_profile_id);
|
| +}
|
| +
|
| } // namespace
|
|
|
| Profile::Profile()
|
| @@ -231,6 +243,12 @@ class OffTheRecordProfileImpl : public Profile,
|
| // Make the chrome//extension-icon/ resource available.
|
| ExtensionIconSource* icon_source = new ExtensionIconSource(real_profile);
|
| GetChromeURLDataManager()->AddDataSource(icon_source);
|
| +
|
| + BrowserThread::PostTask(
|
| + BrowserThread::IO, FROM_HERE,
|
| + NewRunnableFunction(
|
| + &NotifyOTRProfileCreatedOnIOThread,
|
| + profile_->GetRuntimeId(), GetRuntimeId()));
|
| }
|
|
|
| virtual ~OffTheRecordProfileImpl() {
|
| @@ -240,6 +258,12 @@ class OffTheRecordProfileImpl : public Profile,
|
|
|
| ProfileDependencyManager::GetInstance()->DestroyProfileServices(this);
|
|
|
| + BrowserThread::PostTask(
|
| + BrowserThread::IO, FROM_HERE,
|
| + NewRunnableFunction(
|
| + &NotifyOTRProfileDestroyedOnIOThread,
|
| + profile_->GetRuntimeId(), GetRuntimeId()));
|
| +
|
| // Clean up all DB files/directories
|
| if (db_tracker_)
|
| BrowserThread::PostTask(
|
|
|