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

Side by Side Diff: components/domain_reliability/service.cc

Issue 491753003: Domain Reliability: Don't upload when metrics reporting is off. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Make sure constructor and destructor are on correct threads. Created 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/domain_reliability/service.h" 5 #include "components/domain_reliability/service.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/message_loop/message_loop_proxy.h"
9 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
10 #include "base/task_runner_util.h" 11 #include "base/task_runner_util.h"
11 #include "components/domain_reliability/monitor.h" 12 #include "components/domain_reliability/monitor.h"
12 #include "net/url_request/url_request_context_getter.h" 13 #include "net/url_request/url_request_context_getter.h"
13 14
14 namespace domain_reliability { 15 namespace domain_reliability {
15 16
16 namespace { 17 namespace {
17 18
18 scoped_ptr<base::Value> GetWebUIDataOnNetworkTaskRunner( 19 scoped_ptr<base::Value> GetWebUIDataOnNetworkTaskRunner(
(...skipping 13 matching lines...) Expand all
32 public: 33 public:
33 explicit DomainReliabilityServiceImpl( 34 explicit DomainReliabilityServiceImpl(
34 const std::string& upload_reporter_string) 35 const std::string& upload_reporter_string)
35 : upload_reporter_string_(upload_reporter_string) {} 36 : upload_reporter_string_(upload_reporter_string) {}
36 37
37 virtual ~DomainReliabilityServiceImpl() {} 38 virtual ~DomainReliabilityServiceImpl() {}
38 39
39 // DomainReliabilityService implementation: 40 // DomainReliabilityService implementation:
40 41
41 virtual scoped_ptr<DomainReliabilityMonitor> CreateMonitor( 42 virtual scoped_ptr<DomainReliabilityMonitor> CreateMonitor(
42 scoped_refptr<base::SequencedTaskRunner> network_task_runner) OVERRIDE { 43 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner,
44 PrefService* local_state_pref_service,
45 const char* reporting_pref_name) OVERRIDE {
43 DCHECK(!network_task_runner_); 46 DCHECK(!network_task_runner_);
44 47
45 scoped_ptr<DomainReliabilityMonitor> monitor( 48 scoped_ptr<DomainReliabilityMonitor> monitor(
46 new DomainReliabilityMonitor(upload_reporter_string_)); 49 new DomainReliabilityMonitor(upload_reporter_string_,
50 base::MessageLoopProxy::current(),
51 network_task_runner,
52 local_state_pref_service,
53 reporting_pref_name));
47 54
48 monitor_ = monitor->MakeWeakPtr(); 55 monitor_ = monitor->MakeWeakPtr();
49 network_task_runner_ = network_task_runner; 56 network_task_runner_ = network_task_runner;
50 57
51 return monitor.Pass(); 58 return monitor.Pass();
52 } 59 }
53 60
54 virtual void ClearBrowsingData(DomainReliabilityClearMode clear_mode, 61 virtual void ClearBrowsingData(DomainReliabilityClearMode clear_mode,
55 const base::Closure& callback) OVERRIDE { 62 const base::Closure& callback) OVERRIDE {
56 DCHECK(network_task_runner_); 63 DCHECK(network_task_runner_);
(...skipping 14 matching lines...) Expand all
71 PostTaskAndReplyWithResult( 78 PostTaskAndReplyWithResult(
72 network_task_runner_, 79 network_task_runner_,
73 FROM_HERE, 80 FROM_HERE,
74 base::Bind(&GetWebUIDataOnNetworkTaskRunner, monitor_), 81 base::Bind(&GetWebUIDataOnNetworkTaskRunner, monitor_),
75 callback); 82 callback);
76 } 83 }
77 84
78 private: 85 private:
79 std::string upload_reporter_string_; 86 std::string upload_reporter_string_;
80 base::WeakPtr<DomainReliabilityMonitor> monitor_; 87 base::WeakPtr<DomainReliabilityMonitor> monitor_;
81 scoped_refptr<base::SequencedTaskRunner> network_task_runner_; 88 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_;
82 }; 89 };
83 90
84 // static 91 // static
85 DomainReliabilityService* DomainReliabilityService::Create( 92 DomainReliabilityService* DomainReliabilityService::Create(
86 const std::string& upload_reporter_string) { 93 const std::string& upload_reporter_string) {
87 return new DomainReliabilityServiceImpl(upload_reporter_string); 94 return new DomainReliabilityServiceImpl(upload_reporter_string);
88 } 95 }
89 96
90 DomainReliabilityService::~DomainReliabilityService() {} 97 DomainReliabilityService::~DomainReliabilityService() {}
91 98
92 DomainReliabilityService::DomainReliabilityService() {} 99 DomainReliabilityService::DomainReliabilityService() {}
93 100
94 } // namespace domain_reliability 101 } // namespace domain_reliability
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698