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

Side by Side Diff: chrome/browser/download/download_history.cc

Issue 2845293004: Switch SupportsUserData uses to use unique_ptr. (Closed)
Patch Set: Created 3 years, 7 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 (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 // DownloadHistory manages persisting DownloadItems to the history service by 5 // DownloadHistory manages persisting DownloadItems to the history service by
6 // observing a single DownloadManager and all its DownloadItems using an 6 // observing a single DownloadManager and all its DownloadItems using an
7 // AllDownloadItemNotifier. 7 // AllDownloadItemNotifier.
8 // 8 //
9 // DownloadHistory decides whether and when to add items to, remove items from, 9 // DownloadHistory decides whether and when to add items to, remove items from,
10 // and update items in the database. DownloadHistory uses DownloadHistoryData to 10 // and update items in the database. DownloadHistory uses DownloadHistoryData to
(...skipping 13 matching lines...) Expand all
24 // DownloadHistory to prevent use-after-free bugs. 24 // DownloadHistory to prevent use-after-free bugs.
25 // ChromeDownloadManagerDelegate owns DownloadHistory, and deletes it in 25 // ChromeDownloadManagerDelegate owns DownloadHistory, and deletes it in
26 // Shutdown(), which is called by DownloadManagerImpl::Shutdown() after all 26 // Shutdown(), which is called by DownloadManagerImpl::Shutdown() after all
27 // DownloadItems are destroyed. 27 // DownloadItems are destroyed.
28 28
29 #include "chrome/browser/download/download_history.h" 29 #include "chrome/browser/download/download_history.h"
30 30
31 #include <utility> 31 #include <utility>
32 32
33 #include "base/macros.h" 33 #include "base/macros.h"
34 #include "base/memory/ptr_util.h"
34 #include "base/metrics/histogram_macros.h" 35 #include "base/metrics/histogram_macros.h"
35 #include "chrome/browser/download/download_crx_util.h" 36 #include "chrome/browser/download/download_crx_util.h"
36 #include "components/history/content/browser/download_conversions.h" 37 #include "components/history/content/browser/download_conversions.h"
37 #include "components/history/core/browser/download_database.h" 38 #include "components/history/core/browser/download_database.h"
38 #include "components/history/core/browser/download_row.h" 39 #include "components/history/core/browser/download_row.h"
39 #include "components/history/core/browser/history_service.h" 40 #include "components/history/core/browser/history_service.h"
40 #include "content/public/browser/browser_thread.h" 41 #include "content/public/browser/browser_thread.h"
41 #include "content/public/browser/download_item.h" 42 #include "content/public/browser/download_item.h"
42 #include "content/public/browser/download_manager.h" 43 #include "content/public/browser/download_manager.h"
43 #include "extensions/features/features.h" 44 #include "extensions/features/features.h"
(...skipping 26 matching lines...) Expand all
70 71
71 static const DownloadHistoryData* Get(const content::DownloadItem* item) { 72 static const DownloadHistoryData* Get(const content::DownloadItem* item) {
72 const base::SupportsUserData::Data* data = item->GetUserData(kKey); 73 const base::SupportsUserData::Data* data = item->GetUserData(kKey);
73 return (data == NULL) ? NULL 74 return (data == NULL) ? NULL
74 : static_cast<const DownloadHistoryData*>(data); 75 : static_cast<const DownloadHistoryData*>(data);
75 } 76 }
76 77
77 explicit DownloadHistoryData(content::DownloadItem* item) 78 explicit DownloadHistoryData(content::DownloadItem* item)
78 : state_(NOT_PERSISTED), 79 : state_(NOT_PERSISTED),
79 was_restored_from_history_(false) { 80 was_restored_from_history_(false) {
80 item->SetUserData(kKey, this); 81 item->SetUserData(kKey, base::WrapUnique(this));
81 } 82 }
82 83
83 ~DownloadHistoryData() override {} 84 ~DownloadHistoryData() override {}
84 85
85 PersistenceState state() const { return state_; } 86 PersistenceState state() const { return state_; }
86 void SetState(PersistenceState s) { state_ = s; } 87 void SetState(PersistenceState s) { state_ = s; }
87 88
88 bool was_restored_from_history() const { return was_restored_from_history_; } 89 bool was_restored_from_history() const { return was_restored_from_history_; }
89 void set_was_restored_from_history(bool value) { 90 void set_was_restored_from_history(bool value) {
90 was_restored_from_history_ = value; 91 was_restored_from_history_ = value;
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 } 497 }
497 498
498 void DownloadHistory::RemoveDownloadsBatch() { 499 void DownloadHistory::RemoveDownloadsBatch() {
499 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 500 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
500 IdSet remove_ids; 501 IdSet remove_ids;
501 removing_ids_.swap(remove_ids); 502 removing_ids_.swap(remove_ids);
502 history_->RemoveDownloads(remove_ids); 503 history_->RemoveDownloads(remove_ids);
503 for (Observer& observer : observers_) 504 for (Observer& observer : observers_)
504 observer.OnDownloadsRemoved(remove_ids); 505 observer.OnDownloadsRemoved(remove_ids);
505 } 506 }
OLDNEW
« no previous file with comments | « chrome/browser/download/download_danger_prompt_browsertest.cc ('k') | chrome/browser/download/download_item_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698