Chromium Code Reviews| Index: content/public/common/url_constants.cc |
| diff --git a/content/public/common/url_constants.cc b/content/public/common/url_constants.cc |
| index 4ac3da67e08cb083896966392bca126432778512..ce2eb9cafe9eb08a824f2f7923775ea8033ca5d3 100644 |
| --- a/content/public/common/url_constants.cc |
| +++ b/content/public/common/url_constants.cc |
| @@ -4,31 +4,7 @@ |
| #include "content/public/common/url_constants.h" |
| -#include <algorithm> |
| - |
| -#include "base/string_util.h" |
| -#include "content/public/common/content_client.h" |
| -#include "googleurl/src/url_util.h" |
| - |
| -namespace { |
| -const char* kDefaultSavableSchemes[] = { |
| - chrome::kHttpScheme, |
| - chrome::kHttpsScheme, |
| - chrome::kFileScheme, |
| - chrome::kFileSystemScheme, |
| - chrome::kFtpScheme, |
| - chrome::kChromeDevToolsScheme, |
| - chrome::kChromeUIScheme, |
| - chrome::kDataScheme, |
| - NULL |
| -}; |
| -char** g_savable_schemes = const_cast<char**>(kDefaultSavableSchemes); |
| - |
| -void AddStandardSchemeHelper(const std::string& scheme) { |
| - url_util::AddStandardScheme(scheme.c_str()); |
| -} |
| - |
| -} // namespace |
| +#include "content/public/common/savable_url_schemes.h" |
| namespace chrome { |
| @@ -82,49 +58,8 @@ const char kUnreachableWebDataURL[] = "data:text/html,chromewebdata"; |
| // scripted by other pages in the process. |
| const char kSwappedOutURL[] = "swappedout://"; |
| -const char** GetSavableSchemes() { |
| - return const_cast<const char**>(g_savable_schemes); |
| -} |
| - |
| -void RegisterContentSchemes(bool lock_standard_schemes) { |
| - std::vector<std::string> additional_standard_schemes; |
| - std::vector<std::string> additional_savable_schemes; |
| - GetContentClient()->AddAdditionalSchemes( |
| - &additional_standard_schemes, |
| - &additional_savable_schemes); |
| - |
| - // Don't need "chrome-internal" which was used in old versions of Chrome for |
| - // the new tab page. |
| - url_util::AddStandardScheme(chrome::kChromeDevToolsScheme); |
| - url_util::AddStandardScheme(chrome::kChromeUIScheme); |
| - url_util::AddStandardScheme(chrome::kMetadataScheme); |
| - std::for_each(additional_standard_schemes.begin(), |
| - additional_standard_schemes.end(), |
| - AddStandardSchemeHelper); |
| - |
| - // Prevent future modification of the standard schemes list. This is to |
| - // prevent accidental creation of data races in the program. AddStandardScheme |
| - // isn't threadsafe so must be called when GURL isn't used on any other |
| - // thread. This is really easy to mess up, so we say that all calls to |
| - // AddStandardScheme in Chrome must be inside this function. |
| - if (lock_standard_schemes) |
| - url_util::LockStandardSchemes(); |
| - |
| - // We rely on the above lock to protect this part from being invoked twice. |
| - if (!additional_savable_schemes.empty()) { |
| - int schemes = static_cast<int>(additional_savable_schemes.size()); |
| - // The array, and the copied schemes won't be freed, but will remain |
| - // reachable. |
| - g_savable_schemes = new char*[schemes + arraysize(kDefaultSavableSchemes)]; |
| - memcpy(g_savable_schemes, |
| - kDefaultSavableSchemes, |
| - arraysize(kDefaultSavableSchemes) * sizeof(char*)); |
| - for (int i = 0; i < schemes; ++i) { |
| - g_savable_schemes[arraysize(kDefaultSavableSchemes) + i - 1] = |
| - base::strdup(additional_savable_schemes[i].c_str()); |
| - } |
| - g_savable_schemes[arraysize(kDefaultSavableSchemes) + schemes - 1] = 0; |
| - } |
| +const char* const* GetSavableSchemes() { |
| + return GetSavableSchemesInternal(); |
|
grt (UTC plus 2)
2012/05/25 16:48:13
since i had to move savable_url_schemes.* into pub
|
| } |
| } // namespace content |