Chromium Code Reviews| Index: chrome/browser/extensions/data_deleter.cc |
| diff --git a/chrome/browser/extensions/data_deleter.cc b/chrome/browser/extensions/data_deleter.cc |
| index 15243c0b6746b5a24c2193f689928ebe59dd6d20..ece14a18faddda7a00f0fae7c1ee0dd5f22cf93f 100644 |
| --- a/chrome/browser/extensions/data_deleter.cc |
| +++ b/chrome/browser/extensions/data_deleter.cc |
| @@ -14,6 +14,8 @@ |
| #include "chrome/common/url_constants.h" |
| #include "content/public/browser/dom_storage_context.h" |
| #include "content/public/browser/indexed_db_context.h" |
| +#include "content/public/browser/render_process_host.h" |
| +#include "content/public/browser/site_instance.h" |
| #include "content/public/browser/storage_partition.h" |
| #include "content/public/common/content_constants.h" |
| #include "net/base/completion_callback.h" |
| @@ -92,11 +94,16 @@ DataDeleter::DataDeleter( |
| if (storage_origin.SchemeIs(chrome::kExtensionScheme)) { |
| extension_request_context_ = profile->GetRequestContextForExtensions(); |
| } else if (is_storage_isolated) { |
| - extension_request_context_ = |
| - profile->GetRequestContextForStoragePartition(extension_id); |
| - isolated_app_path_ = |
| - profile->GetPath().Append( |
| - content::StoragePartition::GetPartitionPath(extension_id)); |
| + GURL url = Extension::GetBaseURLFromExtensionId(extension_id); |
| + ExtensionProcessManager* process_manager = |
| + profile->GetExtensionProcessManager(); |
| + if (process_manager) { |
| + content::SiteInstance* site = process_manager->GetSiteInstanceForURL(url); |
|
awong
2012/10/19 23:26:50
variable should be site_instance.
Or if BaseURL i
nasko
2012/10/19 23:55:16
Done.
|
| + content::StoragePartition* storage_partition = |
| + site->GetProcess()->GetStoragePartition(); |
| + extension_request_context_ = storage_partition->GetURLRequestContext(); |
| + isolated_app_path_ = storage_partition->GetPath(); |
| + } |
| } else { |
| extension_request_context_ = profile->GetRequestContext(); |
| } |