Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / browsing_data / browsing_data_helper.h
blob1afacdb1147e00f80e7e957ad1825402eaa9b2d7
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_
10 #include <string>
12 #include "base/basictypes.h"
14 class ExtensionSpecialStoragePolicy;
15 class GURL;
17 class BrowsingDataHelper {
18 public:
19 enum OriginSetMask {
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,
40 int origin_set_mask,
41 ExtensionSpecialStoragePolicy* policy);
43 private:
44 DISALLOW_IMPLICIT_CONSTRUCTORS(BrowsingDataHelper);
47 #endif // CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_HELPER_H_