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

Side by Side Diff: components/previews/core/previews_black_list.cc

Issue 2878363004: If users clear history, the previews recency rule should be cleared (Closed)
Patch Set: Created 3 years, 7 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 "components/previews/core/previews_black_list.h" 5 #include "components/previews/core/previews_black_list.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/optional.h" 10 #include "base/optional.h"
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 // synchronous operations will be accurate. Otherwise, queue the task to run 146 // synchronous operations will be accurate. Otherwise, queue the task to run
147 // asynchronously. 147 // asynchronously.
148 if (loaded_) { 148 if (loaded_) {
149 ClearBlackListSync(begin_time, end_time); 149 ClearBlackListSync(begin_time, end_time);
150 } else { 150 } else {
151 QueuePendingTask(base::Bind(&PreviewsBlackList::ClearBlackListSync, 151 QueuePendingTask(base::Bind(&PreviewsBlackList::ClearBlackListSync,
152 base::Unretained(this), begin_time, end_time)); 152 base::Unretained(this), begin_time, end_time));
153 } 153 }
154 } 154 }
155 155
156 void PreviewsBlackList::ClearBlackListSync(base::Time begin_time, 156 void PreviewsBlackList::ClearBlackListSync(base::Time begin_time,
bengr 2017/05/15 21:15:14 How robust is your blacklist logic to the system c
RyanSturm 2017/05/15 21:58:58 About as robust as anything that is in ChromeBrows
bengr 2017/05/16 17:06:36 OK. I filed https://bugs.chromium.org/p/chromium/i
157 base::Time end_time) { 157 base::Time end_time) {
158 DCHECK(thread_checker_.CalledOnValidThread()); 158 DCHECK(thread_checker_.CalledOnValidThread());
159 DCHECK(loaded_); 159 DCHECK(loaded_);
160 DCHECK_LE(begin_time, end_time); 160 DCHECK_LE(begin_time, end_time);
161
162 // Clear last_opt_out_time_ if the period being cleared is larger than the
163 // short black list timeout and the last time the user opted out was before
164 // |end_time|.
165 if (end_time - begin_time > params::SingleOptOutDuration() &&
166 last_opt_out_time_ && last_opt_out_time_.value() < end_time) {
167 last_opt_out_time_.reset();
168 }
161 black_list_item_map_.reset(); 169 black_list_item_map_.reset();
162 host_indifferent_black_list_item_.reset(); 170 host_indifferent_black_list_item_.reset();
163 loaded_ = false; 171 loaded_ = false;
164 // Delete relevant entries and reload the blacklist into memory. 172 // Delete relevant entries and reload the blacklist into memory.
165 if (opt_out_store_) { 173 if (opt_out_store_) {
166 opt_out_store_->ClearBlackList(begin_time, end_time); 174 opt_out_store_->ClearBlackList(begin_time, end_time);
167 opt_out_store_->LoadBlackList(base::Bind( 175 opt_out_store_->LoadBlackList(base::Bind(
168 &PreviewsBlackList::LoadBlackListDone, weak_factory_.GetWeakPtr())); 176 &PreviewsBlackList::LoadBlackListDone, weak_factory_.GetWeakPtr()));
169 } else { 177 } else {
170 LoadBlackListDone(base::MakeUnique<BlackListItemMap>(), 178 LoadBlackListDone(base::MakeUnique<BlackListItemMap>(),
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 // static 229 // static
222 std::unique_ptr<PreviewsBlackListItem> 230 std::unique_ptr<PreviewsBlackListItem>
223 PreviewsBlackList::CreateHostIndifferentBlackListItem() { 231 PreviewsBlackList::CreateHostIndifferentBlackListItem() {
224 return base::MakeUnique<PreviewsBlackListItem>( 232 return base::MakeUnique<PreviewsBlackListItem>(
225 params::MaxStoredHistoryLengthForHostIndifferentBlackList(), 233 params::MaxStoredHistoryLengthForHostIndifferentBlackList(),
226 params::HostIndifferentBlackListOptOutThreshold(), 234 params::HostIndifferentBlackListOptOutThreshold(),
227 params::HostIndifferentBlackListPerHostDuration()); 235 params::HostIndifferentBlackListPerHostDuration());
228 } 236 }
229 237
230 } // namespace previews 238 } // namespace previews
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698