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

Side by Side Diff: net/proxy/proxy_config_service_android.cc

Issue 540593002: Use scoped_refptr<SingleThreadTaskRunner> when initializing ProxyConfigService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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
« no previous file with comments | « net/proxy/proxy_config_service_android.h ('k') | net/proxy/proxy_config_service_linux.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "net/proxy/proxy_config_service_android.h" 5 #include "net/proxy/proxy_config_service_android.h"
6 6
7 #include <sys/system_properties.h> 7 #include <sys/system_properties.h>
8 8
9 #include "base/android/jni_string.h" 9 #include "base/android/jni_string.h"
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 } else { 167 } else {
168 *config = ProxyConfig::CreateDirect(); 168 *config = ProxyConfig::CreateDirect();
169 } 169 }
170 } 170 }
171 171
172 } // namespace 172 } // namespace
173 173
174 class ProxyConfigServiceAndroid::Delegate 174 class ProxyConfigServiceAndroid::Delegate
175 : public base::RefCountedThreadSafe<Delegate> { 175 : public base::RefCountedThreadSafe<Delegate> {
176 public: 176 public:
177 Delegate(base::SequencedTaskRunner* network_task_runner, 177 Delegate(const scoped_refptr<base::SequencedTaskRunner>& network_task_runner,
178 base::SequencedTaskRunner* jni_task_runner, 178 const scoped_refptr<base::SequencedTaskRunner>& jni_task_runner,
179 const GetPropertyCallback& get_property_callback) 179 const GetPropertyCallback& get_property_callback)
180 : jni_delegate_(this), 180 : jni_delegate_(this),
181 network_task_runner_(network_task_runner), 181 network_task_runner_(network_task_runner),
182 jni_task_runner_(jni_task_runner), 182 jni_task_runner_(jni_task_runner),
183 get_property_callback_(get_property_callback) { 183 get_property_callback_(get_property_callback) {
184 } 184 }
185 185
186 void SetupJNI() { 186 void SetupJNI() {
187 DCHECK(OnJNIThread()); 187 DCHECK(OnJNIThread());
188 JNIEnv* env = AttachCurrentThread(); 188 JNIEnv* env = AttachCurrentThread();
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 ObserverList<Observer> observers_; 312 ObserverList<Observer> observers_;
313 scoped_refptr<base::SequencedTaskRunner> network_task_runner_; 313 scoped_refptr<base::SequencedTaskRunner> network_task_runner_;
314 scoped_refptr<base::SequencedTaskRunner> jni_task_runner_; 314 scoped_refptr<base::SequencedTaskRunner> jni_task_runner_;
315 GetPropertyCallback get_property_callback_; 315 GetPropertyCallback get_property_callback_;
316 ProxyConfig proxy_config_; 316 ProxyConfig proxy_config_;
317 317
318 DISALLOW_COPY_AND_ASSIGN(Delegate); 318 DISALLOW_COPY_AND_ASSIGN(Delegate);
319 }; 319 };
320 320
321 ProxyConfigServiceAndroid::ProxyConfigServiceAndroid( 321 ProxyConfigServiceAndroid::ProxyConfigServiceAndroid(
322 base::SequencedTaskRunner* network_task_runner, 322 const scoped_refptr<base::SequencedTaskRunner>& network_task_runner,
323 base::SequencedTaskRunner* jni_task_runner) 323 const scoped_refptr<base::SequencedTaskRunner>& jni_task_runner)
324 : delegate_(new Delegate( 324 : delegate_(new Delegate(
325 network_task_runner, jni_task_runner, base::Bind(&GetJavaProperty))) { 325 network_task_runner, jni_task_runner, base::Bind(&GetJavaProperty))) {
326 delegate_->SetupJNI(); 326 delegate_->SetupJNI();
327 delegate_->FetchInitialConfig(); 327 delegate_->FetchInitialConfig();
328 } 328 }
329 329
330 ProxyConfigServiceAndroid::~ProxyConfigServiceAndroid() { 330 ProxyConfigServiceAndroid::~ProxyConfigServiceAndroid() {
331 delegate_->Shutdown(); 331 delegate_->Shutdown();
332 } 332 }
333 333
334 // static 334 // static
335 bool ProxyConfigServiceAndroid::Register(JNIEnv* env) { 335 bool ProxyConfigServiceAndroid::Register(JNIEnv* env) {
336 return RegisterNativesImpl(env); 336 return RegisterNativesImpl(env);
337 } 337 }
338 338
339 void ProxyConfigServiceAndroid::AddObserver(Observer* observer) { 339 void ProxyConfigServiceAndroid::AddObserver(Observer* observer) {
340 delegate_->AddObserver(observer); 340 delegate_->AddObserver(observer);
341 } 341 }
342 342
343 void ProxyConfigServiceAndroid::RemoveObserver(Observer* observer) { 343 void ProxyConfigServiceAndroid::RemoveObserver(Observer* observer) {
344 delegate_->RemoveObserver(observer); 344 delegate_->RemoveObserver(observer);
345 } 345 }
346 346
347 ProxyConfigService::ConfigAvailability 347 ProxyConfigService::ConfigAvailability
348 ProxyConfigServiceAndroid::GetLatestProxyConfig(ProxyConfig* config) { 348 ProxyConfigServiceAndroid::GetLatestProxyConfig(ProxyConfig* config) {
349 return delegate_->GetLatestProxyConfig(config); 349 return delegate_->GetLatestProxyConfig(config);
350 } 350 }
351 351
352 ProxyConfigServiceAndroid::ProxyConfigServiceAndroid( 352 ProxyConfigServiceAndroid::ProxyConfigServiceAndroid(
353 base::SequencedTaskRunner* network_task_runner, 353 const scoped_refptr<base::SequencedTaskRunner>& network_task_runner,
354 base::SequencedTaskRunner* jni_task_runner, 354 const scoped_refptr<base::SequencedTaskRunner>& jni_task_runner,
355 GetPropertyCallback get_property_callback) 355 GetPropertyCallback get_property_callback)
356 : delegate_(new Delegate( 356 : delegate_(new Delegate(
357 network_task_runner, jni_task_runner, get_property_callback)) { 357 network_task_runner, jni_task_runner, get_property_callback)) {
358 delegate_->SetupJNI(); 358 delegate_->SetupJNI();
359 delegate_->FetchInitialConfig(); 359 delegate_->FetchInitialConfig();
360 } 360 }
361 361
362 void ProxyConfigServiceAndroid::ProxySettingsChanged() { 362 void ProxyConfigServiceAndroid::ProxySettingsChanged() {
363 delegate_->ProxySettingsChanged(); 363 delegate_->ProxySettingsChanged();
364 } 364 }
365 365
366 } // namespace net 366 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/proxy_config_service_android.h ('k') | net/proxy/proxy_config_service_linux.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698