Index: url/url_util.h |
diff --git a/url/url_util.h b/url/url_util.h |
index e9da9b21137edd6f70108847920f17206d5bc769..a4b74b13e5db1fe6241b4a70ce747d81fd52e67f 100644 |
--- a/url/url_util.h |
+++ b/url/url_util.h |
@@ -6,6 +6,7 @@ |
#define URL_URL_UTIL_H_ |
#include <string> |
+#include <vector> |
#include "base/strings/string16.h" |
#include "base/strings/string_piece.h" |
@@ -57,25 +58,44 @@ struct URL_EXPORT SchemeWithType { |
SchemeType type; |
}; |
+// The following Add*Scheme method are not threadsafe and can not be called |
+// concurrently with any other url_util function. They will assert if the lists |
+// of schemes have been locked (see LockSchemeRegistries). |
+ |
// Adds an application-defined scheme to the internal list of "standard-format" |
// URL schemes. A standard-format scheme adheres to what RFC 3986 calls "generic |
// URI syntax" (https://tools.ietf.org/html/rfc3986#section-3). |
-// |
-// This function is not threadsafe and can not be called concurrently with any |
-// other url_util function. It will assert if the lists of schemes have |
-// been locked (see LockSchemeRegistries). |
+ |
URL_EXPORT void AddStandardScheme(const char* new_scheme, |
SchemeType scheme_type); |
// Adds an application-defined scheme to the internal list of schemes allowed |
// for referrers. |
-// |
-// This function is not threadsafe and can not be called concurrently with any |
-// other url_util function. It will assert if the lists of schemes have |
-// been locked (see LockSchemeRegistries). |
URL_EXPORT void AddReferrerScheme(const char* new_scheme, |
SchemeType scheme_type); |
+// Adds an application-defined scheme to the list of schemes that do not trigger |
+// mixed content warnings. |
+URL_EXPORT void AddSecureScheme(const char* new_scheme); |
+URL_EXPORT const std::vector<std::string>& GetSecureSchemes(); |
+ |
+// Adds an application-defined scheme to the list of schemes that normal pages |
+// cannot link to or access (i.e., with the same security rules as those applied |
+// to "file" URLs). |
+URL_EXPORT void AddLocalScheme(const char* new_scheme); |
+URL_EXPORT const std::vector<std::string>& GetLocalSchemes(); |
+ |
+// Adds an application-defined scheme to the list of schemes that cause pages |
+// loaded with them to not have access to pages loaded with any other URL |
+// scheme. |
+URL_EXPORT void AddNoAccessScheme(const char* new_scheme); |
+URL_EXPORT const std::vector<std::string>& GetNoAccessSchemes(); |
+ |
+// Adds an application-defined scheme to the list of schemes that can be sent |
+// CORS requests. |
+URL_EXPORT void AddCORSEnabledScheme(const char* new_scheme); |
+URL_EXPORT const std::vector<std::string>& GetCORSEnabledSchemes(); |
+ |
// Sets a flag to prevent future calls to Add*Scheme from succeeding. |
// |
// This is designed to help prevent errors for multithreaded applications. |