| 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_
|
|
|