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

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

Issue 2335023002: Adding a previews IO-thread blacklist (Closed)
Patch Set: tbansal comments Created 4 years, 3 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_io_data.h" 5 #include "components/previews/core/previews_io_data.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h"
9 #include "base/files/file_path.h"
8 #include "base/location.h" 10 #include "base/location.h"
11 #include "base/memory/ptr_util.h"
12 #include "base/sequenced_task_runner.h"
13 #include "base/time/default_clock.h"
14 #include "components/previews/core/previews_black_list.h"
15 #include "components/previews/core/previews_opt_out_store.h"
9 #include "components/previews/core/previews_ui_service.h" 16 #include "components/previews/core/previews_ui_service.h"
10 17
11 namespace previews { 18 namespace previews {
12 19
13 PreviewsIOData::PreviewsIOData( 20 PreviewsIOData::PreviewsIOData(
14 const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner, 21 const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner,
15 const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner) 22 const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner)
16 : ui_task_runner_(ui_task_runner), 23 : ui_task_runner_(ui_task_runner),
17 io_task_runner_(io_task_runner), 24 io_task_runner_(io_task_runner),
18 weak_factory_(this) {} 25 weak_factory_(this) {}
19 26
20 PreviewsIOData::~PreviewsIOData() {} 27 PreviewsIOData::~PreviewsIOData() {}
21 28
22 void PreviewsIOData::Initialize( 29 void PreviewsIOData::Initialize(
23 base::WeakPtr<PreviewsUIService> previews_ui_service) { 30 base::WeakPtr<PreviewsUIService> previews_ui_service,
31 std::unique_ptr<PreviewsOptOutStore> previews_opt_out_store) {
24 DCHECK(ui_task_runner_->BelongsToCurrentThread()); 32 DCHECK(ui_task_runner_->BelongsToCurrentThread());
25 previews_ui_service_ = previews_ui_service; 33 previews_ui_service_ = previews_ui_service;
26 34
27 // Set up the IO thread portion of |this|. 35 // Set up the IO thread portion of |this|.
28 io_task_runner_->PostTask(FROM_HERE, 36 io_task_runner_->PostTask(
29 base::Bind(&PreviewsIOData::InitializeOnIOThread, 37 FROM_HERE,
30 base::Unretained(this))); 38 base::Bind(&PreviewsIOData::InitializeOnIOThread, base::Unretained(this),
39 base::Passed(&previews_opt_out_store)));
31 } 40 }
32 41
33 void PreviewsIOData::InitializeOnIOThread() { 42 void PreviewsIOData::InitializeOnIOThread(
43 std::unique_ptr<PreviewsOptOutStore> previews_opt_out_store) {
34 DCHECK(io_task_runner_->BelongsToCurrentThread()); 44 DCHECK(io_task_runner_->BelongsToCurrentThread());
45 previews_black_list_.reset(
46 new PreviewsBlackList(std::move(previews_opt_out_store),
47 base::MakeUnique<base::DefaultClock>()));
35 ui_task_runner_->PostTask( 48 ui_task_runner_->PostTask(
36 FROM_HERE, base::Bind(&PreviewsUIService::SetIOData, previews_ui_service_, 49 FROM_HERE, base::Bind(&PreviewsUIService::SetIOData, previews_ui_service_,
37 weak_factory_.GetWeakPtr())); 50 weak_factory_.GetWeakPtr()));
38 } 51 }
39 52
40 } // namespace previews 53 } // namespace previews
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698