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

Unified Diff: content/public/common/origin_util.h

Issue 2005783005: Re-enable storage for Suborigins. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Rebase on ToT Created 4 years, 2 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
Index: content/public/common/origin_util.h
diff --git a/content/public/common/origin_util.h b/content/public/common/origin_util.h
index bb050c94327f26842ecbc7e0c274a8d4152346bd..4ca94e0314ec30f8a714807839bef9484adfe75b 100644
--- a/content/public/common/origin_util.h
+++ b/content/public/common/origin_util.h
@@ -5,6 +5,8 @@
#ifndef CONTENT_PUBLIC_COMMON_ORIGIN_UTIL_H_
#define CONTENT_PUBLIC_COMMON_ORIGIN_UTIL_H_
+#include <string>
+
#include "content/common/content_export.h"
class GURL;
@@ -25,6 +27,27 @@ bool CONTENT_EXPORT OriginCanAccessServiceWorkers(const GURL& url);
// Resets the internal schemes/origins whitelist. Used only for testing.
void CONTENT_EXPORT ResetSchemesAndOriginsWhitelistForTesting();
+// Utility functions for extracting Suborigin information from a URL that a
+// Suborigin has been serialized into. See
+// https://w3c.github.io/webappsec-suborigins/ for more information on
+// Suborigins.
+//
+// Returns true if the url has a serialized Suborigin in the host. Otherwise,
+// returns false.
+bool CONTENT_EXPORT HasSuborigin(const GURL& url);
+
+// If the host in the URL has a Suborigin serialized into it, returns the name.
+// Otherwise, returns the empty string.
+std::string CONTENT_EXPORT SuboriginFromUrl(const GURL& url);
+
+// If the URL has a suborigin serialized into it, returns the same URL with the
+// suborigin stripped. Otherwise, returns the original URL unchanged.
+//
+// For example, if given the URL https-so://foobar.example.com, the returned URL
+// would be https://example.com. If given the URL https://foobar.com (no
+// suborigin), the returned URL would be https://foobar.com.
+GURL CONTENT_EXPORT StripSuboriginFromUrl(const GURL& url);
+
} // namespace content
#endif // CONTENT_PUBLIC_COMMON_ORIGIN_UTIL_H_

Powered by Google App Engine
This is Rietveld 408576698