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

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

Issue 11299035: Support manual (white|black)list, previewing and allowing after interstitial (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix bad text in generated_resources.grd and rebase to ToT Created 7 years, 12 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.cc
diff --git a/chrome/browser/managed_mode/managed_mode_url_filter.cc b/chrome/browser/managed_mode/managed_mode_url_filter.cc
index a77e180d4b47ca9797b226bc147ddb66d0d9f0b6..1ebc3b5b96e6954f205927ad0170d82014d9ccec 100644
--- a/chrome/browser/managed_mode/managed_mode_url_filter.cc
+++ b/chrome/browser/managed_mode/managed_mode_url_filter.cc
@@ -191,6 +191,12 @@ ManagedModeURLFilter::GetFilteringBehaviorForURL(const GURL& url) const {
return ALLOW;
#endif
+ // TODO(sergiu): Find a less confusing way to do this.
Pam (message me for reviews) 2013/01/07 13:00:16 Maybe add a TODO to renamethe functions in URLBlac
Sergiu 2013/01/07 16:25:05 Well since URLBlacklist is used a lot in the polic
+ if (!url_manual_list_allow_.IsURLBlocked(url))
+ return ALLOW;
+ if (url_manual_list_block_.IsURLBlocked(url))
+ return BLOCK;
+
// Check the list of URL patterns.
std::set<URLMatcherConditionSet::ID> matching_ids =
contents_->url_matcher.MatchURL(url);
@@ -266,6 +272,50 @@ void ManagedModeURLFilter::SetFromPatterns(
weak_ptr_factory_.GetWeakPtr(), continuation));
}
+void ManagedModeURLFilter::SetManualLists(scoped_ptr<ListValue> whitelist,
+ scoped_ptr<ListValue> blacklist,
+ const base::Closure& continuation){
+ DCHECK(CalledOnValidThread());
+ url_manual_list_block_.ClearFilters();
+ url_manual_list_allow_.ClearFilters();
+ url_manual_list_block_.Block(blacklist.get());
+ ListValue all_sites;
+ all_sites.Append(new base::StringValue("*"));
+ url_manual_list_allow_.Allow(whitelist.get());
+ url_manual_list_allow_.Block(&all_sites);
+
+ // Debug
+ DLOG(ERROR) << "Loaded whitelist: ";
Bernhard Bauer 2013/01/07 12:34:19 Debugging log statements are fine, but could you d
Sergiu 2013/01/07 16:25:05 Changed to use DVLOG(1) as recommended.
+ for (ListValue::iterator it = whitelist.get()->begin();
+ it != whitelist.get()->end(); ++it){
+ std::string item;
+ (*it)->GetAsString(&item);
+ DLOG(ERROR) << item;
+ }
+ LOG(ERROR) << "Loaded blacklist: ";
Pam (message me for reviews) 2013/01/07 13:00:16 ...or users' consoles. (see Bernhard's comment)
Sergiu 2013/01/07 16:25:05 Done.
+ for (ListValue::iterator it = blacklist.get()->begin();
+ it != blacklist.get()->end(); ++it){
+ std::string item;
+ (*it)->GetAsString(&item);
+ DLOG(ERROR) << item;
+ }
+
+ continuation.Run();
+}
+
+void ManagedModeURLFilter::AddURLPatternToManualList(
+ const bool isWhitelist,
+ const std::string& url,
+ const base::Closure& continuation) {
Pam (message me for reviews) 2013/01/07 13:00:16 Not used?
Sergiu 2013/01/07 16:25:05 Removed.
+ DCHECK(CalledOnValidThread());
+ ListValue list;
+ list.AppendString(url);
+ if (isWhitelist)
+ url_manual_list_allow_.Allow(&list);
+ else
+ url_manual_list_block_.Block(&list);
+}
+
void ManagedModeURLFilter::SetContents(const base::Closure& continuation,
scoped_ptr<Contents> contents) {
DCHECK(CalledOnValidThread());

Powered by Google App Engine
This is Rietveld 408576698