Index: chrome/browser/managed_mode/managed_mode_url_filter.h |
diff --git a/chrome/browser/managed_mode/managed_mode_url_filter.h b/chrome/browser/managed_mode/managed_mode_url_filter.h |
deleted file mode 100644 |
index c43326af939e2cfb72b6adea51fd059de0bb1a4b..0000000000000000000000000000000000000000 |
--- a/chrome/browser/managed_mode/managed_mode_url_filter.h |
+++ /dev/null |
@@ -1,127 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_BROWSER_MANAGED_MODE_MANAGED_MODE_URL_FILTER_H_ |
-#define CHROME_BROWSER_MANAGED_MODE_MANAGED_MODE_URL_FILTER_H_ |
- |
-#include "base/callback_forward.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/memory/scoped_vector.h" |
-#include "base/observer_list.h" |
-#include "base/threading/non_thread_safe.h" |
-#include "base/values.h" |
-#include "chrome/browser/managed_mode/managed_mode_site_list.h" |
-#include "chrome/browser/managed_mode/managed_users.h" |
- |
-class GURL; |
- |
-// This class manages the filtering behavior for a given URL, i.e. it tells |
-// callers if a given URL should be allowed, blocked or warned about. It uses |
-// information from multiple sources: |
-// * A default setting (allow, block or warn). |
-// * The set of installed and enabled content packs, which contain whitelists |
-// of URL patterns that should be allowed. |
-// * User-specified manual overrides (allow or block) for either sites |
-// (hostnames) or exact URLs, which take precedence over the previous |
-// sources. |
-// References to it can be passed around on different threads (the refcounting |
-// is thread-safe), but the object itself should always be accessed on the same |
-// thread (member access isn't thread-safe). |
-class ManagedModeURLFilter |
- : public base::RefCountedThreadSafe<ManagedModeURLFilter>, |
- public base::NonThreadSafe { |
- public: |
- enum FilteringBehavior { |
- ALLOW, |
- WARN, |
- BLOCK, |
- HISTOGRAM_BOUNDING_VALUE |
- }; |
- |
- class Observer { |
- public: |
- virtual void OnSiteListUpdated() = 0; |
- }; |
- |
- struct Contents; |
- |
- ManagedModeURLFilter(); |
- |
- static FilteringBehavior BehaviorFromInt(int behavior_value); |
- |
- // Normalizes a URL for matching purposes. |
- static GURL Normalize(const GURL& url); |
- |
- // Returns true if the URL has a standard scheme. Only URLs with standard |
- // schemes are filtered. |
- // This method is public for testing. |
- static bool HasFilteredScheme(const GURL& url); |
- |
- // Returns true if the |host| matches the pattern. A pattern is a hostname |
- // with one or both of the following modifications: |
- // - If the pattern starts with "*.", it matches the host or any subdomain |
- // (e.g. the pattern "*.google.com" would match google.com, www.google.com, |
- // or accounts.google.com). |
- // - If the pattern ends with ".*", it matches the host on any known TLD |
- // (e.g. the pattern "google.*" would match google.com or google.co.uk). |
- // See the ManagedModeURLFilterTest.HostMatchesPattern unit test for more |
- // examples. |
- // Asterisks in other parts of the pattern are not allowed. |
- // |host| and |pattern| are assumed to be normalized to lower-case. |
- // This method is public for testing. |
- static bool HostMatchesPattern(const std::string& host, |
- const std::string& pattern); |
- |
- void GetSites(const GURL& url, |
- std::vector<ManagedModeSiteList::Site*>* sites) const; |
- |
- // Returns the filtering behavior for a given URL, based on the default |
- // behavior and whether it is on a site list. |
- FilteringBehavior GetFilteringBehaviorForURL(const GURL& url) const; |
- |
- // Sets the filtering behavior for pages not on a list (default is ALLOW). |
- void SetDefaultFilteringBehavior(FilteringBehavior behavior); |
- |
- // Asynchronously loads the specified site lists from disk and updates the |
- // filter to recognize each site on them. |
- // Calls |continuation| when the filter has been updated. |
- void LoadWhitelists(ScopedVector<ManagedModeSiteList> site_lists); |
- |
- // Set the list of matched patterns to the passed in list. |
- // This method is only used for testing. |
- void SetFromPatterns(const std::vector<std::string>& patterns); |
- |
- // Sets the set of manually allowed or blocked hosts. |
- void SetManualHosts(const std::map<std::string, bool>* host_map); |
- |
- // Sets the set of manually allowed or blocked URLs. |
- void SetManualURLs(const std::map<GURL, bool>* url_map); |
- |
- void AddObserver(Observer* observer); |
- void RemoveObserver(Observer* observer); |
- |
- private: |
- friend class base::RefCountedThreadSafe<ManagedModeURLFilter>; |
- ~ManagedModeURLFilter(); |
- |
- void SetContents(scoped_ptr<Contents> url_matcher); |
- |
- ObserverList<Observer> observers_; |
- |
- FilteringBehavior default_behavior_; |
- scoped_ptr<Contents> contents_; |
- |
- // Maps from a URL to whether it is manually allowed (true) or blocked |
- // (false). |
- std::map<GURL, bool> url_map_; |
- |
- // Maps from a hostname to whether it is manually allowed (true) or blocked |
- // (false). |
- std::map<std::string, bool> host_map_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ManagedModeURLFilter); |
-}; |
- |
-#endif // CHROME_BROWSER_MANAGED_MODE_MANAGED_MODE_URL_FILTER_H_ |