| 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
|
|
|