| Index: chrome/browser/supervised_user/supervised_user_url_filter.cc
|
| diff --git a/chrome/browser/supervised_user/supervised_user_url_filter.cc b/chrome/browser/supervised_user/supervised_user_url_filter.cc
|
| index ded8c42d843889fc30cd2549e9e148b8f879422f..2e160243048ad1a4530f2221e66417b6d9613cfc 100644
|
| --- a/chrome/browser/supervised_user/supervised_user_url_filter.cc
|
| +++ b/chrome/browser/supervised_user/supervised_user_url_filter.cc
|
| @@ -54,7 +54,6 @@ const char* kFilteredSchemes[] = {
|
| "wss"
|
| };
|
|
|
| -
|
| // This class encapsulates all the state that is required during construction of
|
| // a new SupervisedUserURLFilter::Contents.
|
| class FilterBuilder {
|
| @@ -90,7 +89,6 @@ FilterBuilder::~FilterBuilder() {
|
| }
|
|
|
| bool FilterBuilder::AddPattern(const std::string& pattern, int site_id) {
|
| - DCHECK(BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread());
|
| std::string scheme;
|
| std::string host;
|
| uint16 port;
|
| @@ -137,15 +135,12 @@ void FilterBuilder::AddSiteList(
|
| }
|
|
|
| scoped_ptr<SupervisedUserURLFilter::Contents> FilterBuilder::Build() {
|
| - DCHECK(BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread());
|
| contents_->url_matcher.AddConditionSets(all_conditions_);
|
| return contents_.Pass();
|
| }
|
|
|
| scoped_ptr<SupervisedUserURLFilter::Contents> CreateWhitelistFromPatterns(
|
| const std::vector<std::string>& patterns) {
|
| - DCHECK(BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread());
|
| -
|
| FilterBuilder builder;
|
| for (const std::string& pattern : patterns) {
|
| // TODO(bauerb): We should create a fake site for the whitelist.
|
| @@ -158,8 +153,6 @@ scoped_ptr<SupervisedUserURLFilter::Contents> CreateWhitelistFromPatterns(
|
| scoped_ptr<SupervisedUserURLFilter::Contents>
|
| LoadWhitelistsOnBlockingPoolThread(
|
| const std::vector<scoped_refptr<SupervisedUserSiteList> >& site_lists) {
|
| - DCHECK(BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread());
|
| -
|
| FilterBuilder builder;
|
| for (const scoped_refptr<SupervisedUserSiteList>& site_list : site_lists)
|
| builder.AddSiteList(site_list);
|
| @@ -172,7 +165,8 @@ LoadWhitelistsOnBlockingPoolThread(
|
| SupervisedUserURLFilter::SupervisedUserURLFilter()
|
| : default_behavior_(ALLOW),
|
| contents_(new Contents()),
|
| - blacklist_(NULL) {
|
| + blacklist_(nullptr),
|
| + blocking_task_runner_(BrowserThread::GetBlockingPool()) {
|
| // Detach from the current thread so we can be constructed on a different
|
| // thread than the one where we're used.
|
| DetachFromThread();
|
| @@ -396,7 +390,7 @@ void SupervisedUserURLFilter::LoadWhitelists(
|
| DCHECK(CalledOnValidThread());
|
|
|
| base::PostTaskAndReplyWithResult(
|
| - BrowserThread::GetBlockingPool(),
|
| + blocking_task_runner_.get(),
|
| FROM_HERE,
|
| base::Bind(&LoadWhitelistsOnBlockingPoolThread, site_lists),
|
| base::Bind(&SupervisedUserURLFilter::SetContents, this));
|
| @@ -415,7 +409,7 @@ void SupervisedUserURLFilter::SetFromPatterns(
|
| DCHECK(CalledOnValidThread());
|
|
|
| base::PostTaskAndReplyWithResult(
|
| - BrowserThread::GetBlockingPool(),
|
| + blocking_task_runner_.get(),
|
| FROM_HERE,
|
| base::Bind(&CreateWhitelistFromPatterns, patterns),
|
| base::Bind(&SupervisedUserURLFilter::SetContents, this));
|
| @@ -464,6 +458,11 @@ void SupervisedUserURLFilter::RemoveObserver(Observer* observer) {
|
| observers_.RemoveObserver(observer);
|
| }
|
|
|
| +void SupervisedUserURLFilter::SetBlockingTaskRunnerForTesting(
|
| + const scoped_refptr<base::TaskRunner>& task_runner) {
|
| + blocking_task_runner_ = task_runner;
|
| +}
|
| +
|
| void SupervisedUserURLFilter::SetContents(scoped_ptr<Contents> contents) {
|
| DCHECK(CalledOnValidThread());
|
| contents_ = contents.Pass();
|
|
|