diff options
author | mkwst@chromium.org <mkwst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-04 12:01:45 +0000 |
---|---|---|
committer | mkwst@chromium.org <mkwst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-04 12:01:45 +0000 |
commit | 298f3975f4861aea491f9c3939cee7d54e6c3c6c (patch) | |
tree | ea9def7c3a5aaaa5d503e00aeb865cc5302d4ef5 /chrome/browser/browsing_data_appcache_helper.cc | |
parent | 8b3e1646d50026a5c9a2326e22c6156a9a4b9a3a (diff) | |
download | chromium_src-298f3975f4861aea491f9c3939cee7d54e6c3c6c.zip chromium_src-298f3975f4861aea491f9c3939cee7d54e6c3c6c.tar.gz chromium_src-298f3975f4861aea491f9c3939cee7d54e6c3c6c.tar.bz2 |
Limiting the "Cookies and site data" form to valid Browsing Data schemes.
This change will prevent extension and devtools (as well as data from any other
internal `chrome-*` URL schemes) from showing up in the list of browsing data.
BUG=121441
TEST=unit_test
Review URL: https://chromiumcodereview.appspot.com/9958107
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130598 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browsing_data_appcache_helper.cc')
-rw-r--r-- | chrome/browser/browsing_data_appcache_helper.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/chrome/browser/browsing_data_appcache_helper.cc b/chrome/browser/browsing_data_appcache_helper.cc index 153fa40..7417a19 100644 --- a/chrome/browser/browsing_data_appcache_helper.cc +++ b/chrome/browser/browsing_data_appcache_helper.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,6 +6,7 @@ #include "base/bind.h" #include "base/bind_helpers.h" +#include "chrome/browser/browsing_data_helper.h" #include "chrome/browser/profiles/profile.h" #include "chrome/common/url_constants.h" #include "content/public/browser/browser_thread.h" @@ -74,15 +75,15 @@ BrowsingDataAppCacheHelper::~BrowsingDataAppCacheHelper() {} void BrowsingDataAppCacheHelper::OnFetchComplete(int rv) { if (BrowserThread::CurrentlyOn(BrowserThread::IO)) { - // Filter out appcache info entries for extensions. Extension state is not - // considered browsing data. + // Filter out appcache info entries for non-websafe schemes. Extension state + // and DevTools, for example, are not considered browsing data. typedef std::map<GURL, appcache::AppCacheInfoVector> InfoByOrigin; InfoByOrigin& origin_map = info_collection_->infos_by_origin; for (InfoByOrigin::iterator origin = origin_map.begin(); origin != origin_map.end();) { InfoByOrigin::iterator current = origin; ++origin; - if (current->first.SchemeIs(chrome::kExtensionScheme)) + if (!BrowsingDataHelper::HasValidScheme(current->first)) origin_map.erase(current); } @@ -118,6 +119,9 @@ CannedBrowsingDataAppCacheHelper* CannedBrowsingDataAppCacheHelper::Clone() { } void CannedBrowsingDataAppCacheHelper::AddAppCache(const GURL& manifest_url) { + if (!BrowsingDataHelper::HasValidScheme(manifest_url)) + return; // Ignore non-websafe schemes. + typedef std::map<GURL, appcache::AppCacheInfoVector> InfoByOrigin; InfoByOrigin& origin_map = info_collection_->infos_by_origin; appcache::AppCacheInfoVector& appcache_infos_ = |