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

Unified Diff: content/common/url_schemes.cc

Issue 2623353002: Share schemes needed for mixed content checking between the browser and renderer. (Closed)
Patch Set: remove unused public methods Created 3 years, 11 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
« no previous file with comments | « content/common/url_schemes.h ('k') | content/public/common/content_client.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/common/url_schemes.cc
diff --git a/content/common/url_schemes.cc b/content/common/url_schemes.cc
index e5ba48745c202a0e91f74c4f7302c829b6d1fd45..f9bdbf814afbd4897edb2f62e33c9124cbfa04bc 100644
--- a/content/common/url_schemes.cc
+++ b/content/common/url_schemes.cc
@@ -20,7 +20,6 @@ namespace {
// prevent any destructors from being called that will slow us down or cause
// problems.
std::vector<std::string>* savable_schemes = nullptr;
-std::vector<std::string>* secure_schemes = nullptr;
// Note we store GURLs here instead of strings to deal with canonicalization.
std::vector<GURL>* secure_origins = nullptr;
std::vector<std::string>* service_worker_schemes = nullptr;
@@ -52,6 +51,20 @@ void RegisterContentSchemes(bool lock_schemes) {
for (auto& scheme : schemes.referrer_schemes)
url::AddReferrerScheme(scheme.c_str(), url::SCHEME_WITHOUT_PORT);
+ schemes.secure_schemes.push_back(kChromeUIScheme);
+ for (auto& scheme : schemes.secure_schemes)
+ url::AddSecureScheme(scheme.c_str());
+
+ for (auto& scheme : schemes.local_schemes)
+ url::AddLocalScheme(scheme.c_str());
+
+ for (auto& scheme : schemes.no_access_schemes)
+ url::AddNoAccessScheme(scheme.c_str());
+
+ schemes.cors_enabled_schemes.push_back(kChromeUIScheme);
+ for (auto& scheme : schemes.cors_enabled_schemes)
+ url::AddCORSEnabledScheme(scheme.c_str());
+
// Prevent future modification of the scheme lists. This is to prevent
// accidental creation of data races in the program. Add*Scheme aren't
// threadsafe so must be called when GURL isn't used on any other thread. This
@@ -61,6 +74,7 @@ void RegisterContentSchemes(bool lock_schemes) {
url::LockSchemeRegistries();
// Combine the default savable schemes with the additional ones given.
+ delete savable_schemes;
savable_schemes = new std::vector<std::string>;
for (auto& default_scheme : kDefaultSavableSchemes)
savable_schemes->push_back(default_scheme);
@@ -68,12 +82,11 @@ void RegisterContentSchemes(bool lock_schemes) {
schemes.savable_schemes.begin(),
schemes.savable_schemes.end());
- secure_schemes = new std::vector<std::string>;
- *secure_schemes = std::move(schemes.secure_schemes);
-
+ delete service_worker_schemes;
service_worker_schemes = new std::vector<std::string>;
*service_worker_schemes = std::move(schemes.service_worker_schemes);
+ delete secure_origins;
secure_origins = new std::vector<GURL>;
*secure_origins = std::move(schemes.secure_origins);
}
@@ -82,10 +95,6 @@ const std::vector<std::string>& GetSavableSchemes() {
return *savable_schemes;
}
-const std::vector<std::string>& GetSecureSchemes() {
- return *secure_schemes;
-}
-
const std::vector<GURL>& GetSecureOrigins() {
return *secure_origins;
}
@@ -94,13 +103,4 @@ const std::vector<std::string>& GetServiceWorkerSchemes() {
return *service_worker_schemes;
}
-void RefreshSecuritySchemesForTesting() {
- ContentClient::Schemes schemes;
- GetContentClient()->AddAdditionalSchemes(&schemes);
-
- *secure_schemes = std::move(schemes.secure_schemes);
- *service_worker_schemes = std::move(schemes.service_worker_schemes);
- *secure_origins = std::move(schemes.secure_origins);
-}
-
} // namespace content
« no previous file with comments | « content/common/url_schemes.h ('k') | content/public/common/content_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698