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

Unified Diff: Source/platform/weborigin/SecurityOrigin.h

Issue 27073003: CSP Suborigins Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 6 years, 6 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: Source/platform/weborigin/SecurityOrigin.h
diff --git a/Source/platform/weborigin/SecurityOrigin.h b/Source/platform/weborigin/SecurityOrigin.h
index 9b903ad7dfad751f3c561b1ab6519bd8344daedb..1af8912ed7a0e5c728191bd44afc6601c4258f87 100644
--- a/Source/platform/weborigin/SecurityOrigin.h
+++ b/Source/platform/weborigin/SecurityOrigin.h
@@ -143,12 +143,12 @@ public:
// WARNING: This is an extremely powerful ability. Use with caution!
void grantUniversalAccess();
- bool canAccessDatabase() const { return !isUnique(); };
- bool canAccessLocalStorage() const { return !isUnique(); };
- bool canAccessSharedWorkers() const { return !isUnique(); }
- bool canAccessCookies() const { return !isUnique(); }
- bool canAccessPasswordManager() const { return !isUnique(); }
- bool canAccessFileSystem() const { return !isUnique(); }
+ bool canAccessDatabase() const { return !isUnique() && !hasSuborigin(); };
+ bool canAccessLocalStorage() const { return !isUnique() && !hasSuborigin(); };
+ bool canAccessSharedWorkers() const { return !isUnique() && !hasSuborigin(); }
+ bool canAccessCookies() const { return !isUnique() && !hasSuborigin(); }
+ bool canAccessPasswordManager() const { return !isUnique() && !hasSuborigin(); }
+ bool canAccessFileSystem() const { return !isUnique() && !hasSuborigin(); }
Policy canShowNotifications() const;
// Technically, we should always allow access to sessionStorage, but we
@@ -172,6 +172,10 @@ public:
// addition, the SandboxOrigin flag is inherited by iframes.
bool isUnique() const { return m_isUnique; }
+ void addSuborigin(const String&);
+ bool hasSuborigin() const { return !m_suboriginName.isNull(); }
+ String suboriginName() const { return m_suboriginName; }
abarth-chromium 2014/07/31 04:56:48 const String&
jww 2014/10/21 23:51:06 Done.
+
// Marks a file:// origin as being in a domain defined by its path.
// FIXME 81578: The naming of this is confusing. Files with restricted access to other local files
// still can have other privileges that can be remembered, thereby not making them unique.
@@ -216,6 +220,7 @@ private:
String m_host;
String m_domain;
String m_filePath;
+ String m_suboriginName;
unsigned short m_port;
bool m_isUnique;
bool m_universalAccess;

Powered by Google App Engine
This is Rietveld 408576698