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
3 // found in the LICENSE file.
5 // Defines methods relevant to all code that wants to work with browsing data.
7 #ifndef CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_HELPER_H_
8 #define CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_HELPER_H_
12 #include "base/basictypes.h"
14 class ExtensionSpecialStoragePolicy
;
17 class BrowsingDataHelper
{
20 UNPROTECTED_WEB
= 1 << 0, // drive-by web.
21 PROTECTED_WEB
= 1 << 1, // hosted applications.
22 EXTENSION
= 1 << 2, // chrome-extension://*
23 // Always add new items to the enum above ALL and add them to ALL.
24 ALL
= UNPROTECTED_WEB
| PROTECTED_WEB
| EXTENSION
,
27 // Returns true iff the provided scheme is (really) web safe, and suitable
28 // for treatment as "browsing data". This relies on the definition of web safe
29 // in ChildProcessSecurityPolicy, but excluding schemes like
30 // `chrome-extension`.
31 static bool IsWebScheme(const std::string
& scheme
);
32 static bool HasWebScheme(const GURL
& origin
);
34 // Returns true iff the provided scheme is an extension.
35 static bool IsExtensionScheme(const std::string
& scheme
);
36 static bool HasExtensionScheme(const GURL
& origin
);
38 // Returns true if the provided origin matches the provided mask.
39 static bool DoesOriginMatchMask(const GURL
& origin
,
41 ExtensionSpecialStoragePolicy
* policy
);
44 DISALLOW_IMPLICIT_CONSTRUCTORS(BrowsingDataHelper
);
47 #endif // CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_HELPER_H_