Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Defines methods relevant to all code that wants to work with browsing data. | 5 // Defines methods relevant to all code that wants to work with browsing data. |
| 6 | 6 |
| 7 #ifndef CHROME_BROWSER_BROWSING_DATA_HELPER_H_ | 7 #ifndef CHROME_BROWSER_BROWSING_DATA_HELPER_H_ |
| 8 #define CHROME_BROWSER_BROWSING_DATA_HELPER_H_ | 8 #define CHROME_BROWSER_BROWSING_DATA_HELPER_H_ |
| 9 #pragma once | 9 #pragma once |
| 10 | 10 |
| 11 #include <string> | 11 #include <string> |
| 12 | 12 |
| 13 #include "base/basictypes.h" | 13 #include "base/basictypes.h" |
| 14 | 14 |
| 15 namespace WebKit { | 15 namespace WebKit { |
| 16 class WebString; | 16 class WebString; |
| 17 } | 17 } |
| 18 | 18 |
| 19 class ExtensionSpecialStoragePolicy; | 19 class ExtensionSpecialStoragePolicy; |
| 20 class GURL; | 20 class GURL; |
| 21 | 21 |
| 22 class BrowsingDataHelper { | 22 class BrowsingDataHelper { |
| 23 public: | 23 public: |
| 24 enum OriginSetMask { | 24 enum OriginSetMask { |
| 25 UNPROTECTED_WEB = 1 << 0, // drive-by web. | 25 UNPROTECTED_WEB = 1 << 0, // drive-by web. |
| 26 PROTECTED_WEB = 1 << 1, // hosted applications. | 26 PROTECTED_WEB = 1 << 1, // hosted applications. |
| 27 EXTENSION = 1 << 2, // chrome-extension://* | 27 EXTENSION = 1 << 2, // chrome-extension://* |
| 28 ALL = UNPROTECTED_WEB | PROTECTED_WEB | EXTENSION, | |
|
Mike West
2012/06/14 08:32:39
Nit: Can you add a comment here, something like "t
battre
2012/06/14 09:24:52
Done.
| |
| 28 }; | 29 }; |
| 29 | 30 |
| 30 // Returns true iff the provided scheme is (really) web safe, and suitable | 31 // Returns true iff the provided scheme is (really) web safe, and suitable |
| 31 // for treatment as "browsing data". This relies on the definition of web safe | 32 // for treatment as "browsing data". This relies on the definition of web safe |
| 32 // in ChildProcessSecurityPolicy, but excluding schemes like | 33 // in ChildProcessSecurityPolicy, but excluding schemes like |
| 33 // `chrome-extension`. | 34 // `chrome-extension`. |
| 34 static bool IsWebScheme(const std::string& scheme); | 35 static bool IsWebScheme(const std::string& scheme); |
| 35 static bool IsWebScheme(const WebKit::WebString& scheme); | 36 static bool IsWebScheme(const WebKit::WebString& scheme); |
| 36 static bool HasWebScheme(const GURL& origin); | 37 static bool HasWebScheme(const GURL& origin); |
| 37 | 38 |
| 38 // Returns true iff the provided scheme is an extension. | 39 // Returns true iff the provided scheme is an extension. |
| 39 static bool IsExtensionScheme(const std::string& scheme); | 40 static bool IsExtensionScheme(const std::string& scheme); |
| 40 static bool IsExtensionScheme(const WebKit::WebString& scheme); | 41 static bool IsExtensionScheme(const WebKit::WebString& scheme); |
| 41 static bool HasExtensionScheme(const GURL& origin); | 42 static bool HasExtensionScheme(const GURL& origin); |
| 42 | 43 |
| 43 // Returns true if the provided origin matches the provided mask. | 44 // Returns true if the provided origin matches the provided mask. |
| 44 static bool DoesOriginMatchMask(const GURL& origin, | 45 static bool DoesOriginMatchMask(const GURL& origin, |
| 45 int origin_set_mask, | 46 int origin_set_mask, |
| 46 ExtensionSpecialStoragePolicy* policy); | 47 ExtensionSpecialStoragePolicy* policy); |
| 47 | 48 |
| 48 private: | 49 private: |
| 49 DISALLOW_IMPLICIT_CONSTRUCTORS(BrowsingDataHelper); | 50 DISALLOW_IMPLICIT_CONSTRUCTORS(BrowsingDataHelper); |
| 50 }; | 51 }; |
| 51 | 52 |
| 52 #endif // CHROME_BROWSER_BROWSING_DATA_HELPER_H_ | 53 #endif // CHROME_BROWSER_BROWSING_DATA_HELPER_H_ |
| OLD | NEW |