Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(654)

Unified Diff: trunk/src/chrome/browser/extensions/data_deleter.cc

Issue 23551005: Revert 219709 "Remove the Extensions URLRequestContext." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: trunk/src/chrome/browser/extensions/data_deleter.cc
===================================================================
--- trunk/src/chrome/browser/extensions/data_deleter.cc (revision 219785)
+++ trunk/src/chrome/browser/extensions/data_deleter.cc (working copy)
@@ -29,12 +29,36 @@
const GURL& site = Extension::GetBaseURLFromExtensionId(extension_id);
- BrowserContext::GetStoragePartitionForSite(profile, site)->
- ClearDataForOrigin((StoragePartition::REMOVE_DATA_MASK_ALL &
- ~StoragePartition::REMOVE_DATA_MASK_SHADER_CACHE),
- StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL,
- storage_origin);
+ StoragePartition* partition =
+ BrowserContext::GetStoragePartitionForSite(profile, site);
+ if (storage_origin.SchemeIs(extensions::kExtensionScheme)) {
+ // TODO(ajwong): Cookies are not properly isolated for
+ // chrome-extension:// scheme. (http://crbug.com/158386).
+ //
+ // However, no isolated apps actually can write to kExtensionScheme
+ // origins. Thus, it is benign to delete from the
+ // RequestContextForExtensions because there's nothing stored there. We
+ // preserve this code path without checking for isolation because it's
+ // simpler than special casing. This code should go away once we merge
+ // the various URLRequestContexts (http://crbug.com/159193).
+ partition->ClearDataForOrigin(
+ StoragePartition::REMOVE_DATA_MASK_ALL &
+ (~StoragePartition::REMOVE_DATA_MASK_SHADER_CACHE),
+ StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL,
+ storage_origin,
+ profile->GetRequestContextForExtensions());
+ } else {
+ // We don't need to worry about the media request context because that
+ // shares the same cookie store as the main request context.
+ partition->ClearDataForOrigin(
+ StoragePartition::REMOVE_DATA_MASK_ALL &
+ (~StoragePartition::REMOVE_DATA_MASK_SHADER_CACHE),
+ StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL,
+ storage_origin,
+ partition->GetURLRequestContext());
+ }
+
// Begin removal of the settings for the current extension.
profile->GetExtensionService()->settings_frontend()->
DeleteStorageSoon(extension_id);

Powered by Google App Engine
This is Rietveld 408576698