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

Side by Side Diff: chrome/browser/browsing_data/origin_filter_builder.cc

Issue 2248403002: Implement origin-based deletion of plugin data (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments. Created 4 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/browsing_data/origin_filter_builder.h" 5 #include "chrome/browser/browsing_data/origin_filter_builder.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "components/content_settings/core/common/content_settings_pattern.h" 10 #include "components/content_settings/core/common/content_settings_pattern.h"
11 11
12 using Relation = ContentSettingsPattern::Relation; 12 using Relation = ContentSettingsPattern::Relation;
13 13
14 namespace {
15
16 template<typename T> bool DontDeleteAnythingFilter(const T& data) {
17 return false;
18 }
19
20 } // namespace
21
22 OriginFilterBuilder::OriginFilterBuilder(Mode mode) 14 OriginFilterBuilder::OriginFilterBuilder(Mode mode)
23 : BrowsingDataFilterBuilder(mode) { 15 : BrowsingDataFilterBuilder(mode) {
24 } 16 }
25 17
26 OriginFilterBuilder::~OriginFilterBuilder() { 18 OriginFilterBuilder::~OriginFilterBuilder() {
27 } 19 }
28 20
29 void OriginFilterBuilder::AddOrigin(const url::Origin& origin) { 21 void OriginFilterBuilder::AddOrigin(const url::Origin& origin) {
30 // TODO(msramek): Optimize OriginFilterBuilder for larger filters if needed. 22 // TODO(msramek): Optimize OriginFilterBuilder for larger filters if needed.
31 DCHECK_LE(origin_list_.size(), 10U) << "OriginFilterBuilder is only suitable " 23 DCHECK_LE(origin_list_.size(), 10U) << "OriginFilterBuilder is only suitable "
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 58
67 return base::Bind(&OriginFilterBuilder::MatchesWebsiteSettingsPattern, 59 return base::Bind(&OriginFilterBuilder::MatchesWebsiteSettingsPattern,
68 base::Owned(patterns_from_origins), mode()); 60 base::Owned(patterns_from_origins), mode());
69 } 61 }
70 62
71 base::Callback<bool(const net::CanonicalCookie& cookie)> 63 base::Callback<bool(const net::CanonicalCookie& cookie)>
72 OriginFilterBuilder::BuildCookieFilter() const { 64 OriginFilterBuilder::BuildCookieFilter() const {
73 NOTREACHED() << 65 NOTREACHED() <<
74 "Origin-based deletion is not suitable for cookies. Please use " 66 "Origin-based deletion is not suitable for cookies. Please use "
75 "different scoping, such as RegistrableDomainFilterBuilder."; 67 "different scoping, such as RegistrableDomainFilterBuilder.";
76 return base::Bind(DontDeleteAnythingFilter<net::CanonicalCookie>); 68 return base::Callback<bool(const net::CanonicalCookie&)>();
77 } 69 }
78 70
79 base::Callback<bool(const std::string& channel_id_server_id)> 71 base::Callback<bool(const std::string& channel_id_server_id)>
80 OriginFilterBuilder::BuildChannelIDFilter() const { 72 OriginFilterBuilder::BuildChannelIDFilter() const {
81 NOTREACHED() << 73 NOTREACHED() <<
82 "Origin-based deletion is not suitable for channel IDs. Please use " 74 "Origin-based deletion is not suitable for channel IDs. Please use "
83 "different scoping, such as RegistrableDomainFilterBuilder."; 75 "different scoping, such as RegistrableDomainFilterBuilder.";
84 return base::Bind(DontDeleteAnythingFilter<std::string>); 76 return base::Callback<bool(const std::string&)>();
77 }
78
79 base::Callback<bool(const std::string& site)>
80 OriginFilterBuilder::BuildPluginFilter() const {
81 NOTREACHED() <<
82 "Origin-based deletion is not suitable for plugins. Please use "
83 "different scoping, such as RegistrableDomainFilterBuilder.";
84 return base::Callback<bool(const std::string&)>();
85 } 85 }
86 86
87 bool OriginFilterBuilder::operator==(const OriginFilterBuilder& other) const { 87 bool OriginFilterBuilder::operator==(const OriginFilterBuilder& other) const {
88 return origin_list_ == other.origin_list_ && mode() == other.mode(); 88 return origin_list_ == other.origin_list_ && mode() == other.mode();
89 } 89 }
90 90
91 bool OriginFilterBuilder::IsEmpty() const { 91 bool OriginFilterBuilder::IsEmpty() const {
92 return origin_list_.empty(); 92 return origin_list_.empty();
93 } 93 }
94 94
(...skipping 10 matching lines...) Expand all
105 } 105 }
106 return mode != WHITELIST; 106 return mode != WHITELIST;
107 } 107 }
108 108
109 // static 109 // static
110 bool OriginFilterBuilder::MatchesURL( 110 bool OriginFilterBuilder::MatchesURL(
111 std::set<url::Origin>* origins, Mode mode, const GURL& url) { 111 std::set<url::Origin>* origins, Mode mode, const GURL& url) {
112 return ((origins->find(url::Origin(url)) != origins->end()) == 112 return ((origins->find(url::Origin(url)) != origins->end()) ==
113 (mode == WHITELIST)); 113 (mode == WHITELIST));
114 } 114 }
OLDNEW
« no previous file with comments | « chrome/browser/browsing_data/origin_filter_builder.h ('k') | chrome/browser/browsing_data/registrable_domain_filter_builder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698