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

Side by Side Diff: chrome/browser/browser_process_impl.cc

Issue 211033006: Move destruction of WebRtcLogUploader to post threads teardown. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Proper fix. Created 6 years, 9 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 (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 "chrome/browser/browser_process_impl.h" 5 #include "chrome/browser/browser_process_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 279
280 #if defined(USE_AURA) 280 #if defined(USE_AURA)
281 // Delete aura after the metrics service has been deleted as it accesses 281 // Delete aura after the metrics service has been deleted as it accesses
282 // monitor information. 282 // monitor information.
283 aura::Env::DeleteInstance(); 283 aura::Env::DeleteInstance();
284 #endif 284 #endif
285 285
286 platform_part()->StartTearDown(); 286 platform_part()->StartTearDown();
287 287
288 #if defined(ENABLE_WEBRTC) 288 #if defined(ENABLE_WEBRTC)
289 webrtc_log_uploader_.reset(); 289 // Cancel any uploads to release the system url request context references.
290 if (webrtc_log_uploader_)
291 webrtc_log_uploader_->CancelURLFetcherOperations();
290 #endif 292 #endif
291 293
292 if (local_state()) 294 if (local_state())
293 local_state()->CommitPendingWrite(); 295 local_state()->CommitPendingWrite();
294 } 296 }
295 297
296 void BrowserProcessImpl::PostDestroyThreads() { 298 void BrowserProcessImpl::PostDestroyThreads() {
297 // With the file_thread_ flushed, we can release any icon resources. 299 // With the file_thread_ flushed, we can release any icon resources.
298 icon_manager_.reset(); 300 icon_manager_.reset();
299 301
302 #if defined(ENABLE_WEBRTC)
303 // Must outlive the file thread.
304 webrtc_log_uploader_.reset();
305 #endif
306
300 // Reset associated state right after actual thread is stopped, 307 // Reset associated state right after actual thread is stopped,
301 // as io_thread_.global_ cleanup happens in CleanUp on the IO 308 // as io_thread_.global_ cleanup happens in CleanUp on the IO
302 // thread, i.e. as the thread exits its message loop. 309 // thread, i.e. as the thread exits its message loop.
303 // 310 //
304 // This is important also because in various places, the 311 // This is important also because in various places, the
305 // IOThread object being NULL is considered synonymous with the 312 // IOThread object being NULL is considered synonymous with the
306 // IO thread having stopped. 313 // IO thread having stopped.
307 io_thread_.reset(); 314 io_thread_.reset();
308 } 315 }
309 316
(...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after
1084 } 1091 }
1085 1092
1086 void BrowserProcessImpl::OnAutoupdateTimer() { 1093 void BrowserProcessImpl::OnAutoupdateTimer() {
1087 if (CanAutorestartForUpdate()) { 1094 if (CanAutorestartForUpdate()) {
1088 DLOG(WARNING) << "Detected update. Restarting browser."; 1095 DLOG(WARNING) << "Detected update. Restarting browser.";
1089 RestartBackgroundInstance(); 1096 RestartBackgroundInstance();
1090 } 1097 }
1091 } 1098 }
1092 1099
1093 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) 1100 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/media/webrtc_log_uploader.h » ('j') | chrome/browser/media/webrtc_log_uploader.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698