Index: chrome/browser/policy/url_blacklist_manager.cc |
diff --git a/chrome/browser/policy/url_blacklist_manager.cc b/chrome/browser/policy/url_blacklist_manager.cc |
index c68b7744a343bfcabb92466f287afdd6c654bd45..8cc32c7d3f718378e890f7becf7d22957332728f 100644 |
--- a/chrome/browser/policy/url_blacklist_manager.cc |
+++ b/chrome/browser/policy/url_blacklist_manager.cc |
@@ -7,7 +7,6 @@ |
#include "base/bind.h" |
#include "base/stl_util.h" |
#include "base/string_number_conversions.h" |
-#include "base/string_util.h" |
#include "base/values.h" |
#include "chrome/browser/net/url_fixer_upper.h" |
#include "chrome/browser/prefs/pref_service.h" |
@@ -86,60 +85,6 @@ URLBlacklist::~URLBlacklist() { |
STLDeleteValues(&host_filters_); |
} |
-void URLBlacklist::AddFilter(const std::string& filter, bool block) { |
- std::string scheme; |
- std::string host; |
- uint16 port; |
- std::string path; |
- SchemeFlag flag; |
- bool match_subdomains = true; |
- |
- if (!FilterToComponents(filter, &scheme, &host, &port, &path)) { |
- LOG(WARNING) << "Invalid filter, ignoring: " << filter; |
- return; |
- } |
- |
- if (!SchemeToFlag(scheme, &flag)) { |
- LOG(WARNING) << "Unsupported scheme in filter, ignoring filter: " << filter; |
- return; |
- } |
- |
- // Special syntax to disable subdomain matching. |
- if (!host.empty() && host[0] == '.') { |
- host.erase(0, 1); |
- match_subdomains = false; |
- } |
- |
- // Try to find an existing PathFilter with the same path prefix, port and |
- // match_subdomains value. |
- PathFilterList* list; |
- HostFilterTable::iterator host_filter = host_filters_.find(host); |
- if (host_filter == host_filters_.end()) { |
- list = new PathFilterList; |
- host_filters_[host] = list; |
- } else { |
- list = host_filter->second; |
- } |
- PathFilterList::iterator it; |
- for (it = list->begin(); it != list->end(); ++it) { |
- if (it->port == port && it->match_subdomains == match_subdomains && |
- it->path_prefix == path) |
- break; |
- } |
- PathFilter* path_filter; |
- if (it == list->end()) { |
- list->push_back(PathFilter(path, port, match_subdomains)); |
- path_filter = &list->back(); |
- } else { |
- path_filter = &(*it); |
- } |
- |
- if (block) |
- path_filter->blocked_schemes |= flag; |
- else |
- path_filter->allowed_schemes |= flag; |
-} |
- |
void URLBlacklist::Block(const std::string& filter) { |
AddFilter(filter, true); |
} |
@@ -295,6 +240,60 @@ bool URLBlacklist::FilterToComponents(const std::string& filter, |
return true; |
} |
+void URLBlacklist::AddFilter(const std::string& filter, bool block) { |
+ std::string scheme; |
+ std::string host; |
+ uint16 port; |
+ std::string path; |
+ SchemeFlag flag; |
+ bool match_subdomains = true; |
+ |
+ if (!FilterToComponents(filter, &scheme, &host, &port, &path)) { |
+ LOG(WARNING) << "Invalid filter, ignoring: " << filter; |
+ return; |
+ } |
+ |
+ if (!SchemeToFlag(scheme, &flag)) { |
+ LOG(WARNING) << "Unsupported scheme in filter, ignoring filter: " << filter; |
+ return; |
+ } |
+ |
+ // Special syntax to disable subdomain matching. |
+ if (!host.empty() && host[0] == '.') { |
+ host.erase(0, 1); |
+ match_subdomains = false; |
+ } |
+ |
+ // Try to find an existing PathFilter with the same path prefix, port and |
+ // match_subdomains value. |
+ PathFilterList* list; |
+ HostFilterTable::iterator host_filter = host_filters_.find(host); |
+ if (host_filter == host_filters_.end()) { |
+ list = new PathFilterList; |
+ host_filters_[host] = list; |
+ } else { |
+ list = host_filter->second; |
+ } |
+ PathFilterList::iterator it; |
+ for (it = list->begin(); it != list->end(); ++it) { |
+ if (it->port == port && it->match_subdomains == match_subdomains && |
+ it->path_prefix == path) |
+ break; |
+ } |
+ PathFilter* path_filter; |
+ if (it == list->end()) { |
+ list->push_back(PathFilter(path, port, match_subdomains)); |
+ path_filter = &list->back(); |
+ } else { |
+ path_filter = &(*it); |
+ } |
+ |
+ if (block) |
+ path_filter->blocked_schemes |= flag; |
+ else |
+ path_filter->allowed_schemes |= flag; |
+} |
+ |
URLBlacklistManager::URLBlacklistManager(PrefService* pref_service) |
: ALLOW_THIS_IN_INITIALIZER_LIST(ui_method_factory_(this)), |
pref_service_(pref_service), |