Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5547)

Unified Diff: chrome/browser/managed_mode/managed_mode_url_filter.h

Issue 335833003: Rename "managed (mode|user)" to "supervised user" (part 2) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review comments (+ a few other cleanups) Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_
« no previous file with comments | « chrome/browser/managed_mode/managed_mode_site_list.cc ('k') | chrome/browser/managed_mode/managed_mode_url_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698