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

Side by Side Diff: components/webdata/common/web_database_backend.cc

Issue 1917673002: Convert //components/[u-z]* from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 8 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/webdata/common/web_database_backend.h" 5 #include "components/webdata/common/web_database_backend.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/location.h" 10 #include "base/location.h"
11 #include "components/webdata/common/web_data_request_manager.h" 11 #include "components/webdata/common/web_data_request_manager.h"
12 #include "components/webdata/common/web_database.h" 12 #include "components/webdata/common/web_database.h"
13 #include "components/webdata/common/web_database_table.h" 13 #include "components/webdata/common/web_database_table.h"
14 14
15 using base::Bind; 15 using base::Bind;
16 using base::FilePath; 16 using base::FilePath;
17 17
18 WebDatabaseBackend::WebDatabaseBackend( 18 WebDatabaseBackend::WebDatabaseBackend(
19 const FilePath& path, 19 const FilePath& path,
20 Delegate* delegate, 20 Delegate* delegate,
21 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread) 21 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread)
22 : base::RefCountedDeleteOnMessageLoop<WebDatabaseBackend>(db_thread), 22 : base::RefCountedDeleteOnMessageLoop<WebDatabaseBackend>(db_thread),
23 db_path_(path), 23 db_path_(path),
24 request_manager_(new WebDataRequestManager()), 24 request_manager_(new WebDataRequestManager()),
25 init_status_(sql::INIT_FAILURE), 25 init_status_(sql::INIT_FAILURE),
26 init_complete_(false), 26 init_complete_(false),
27 delegate_(delegate) { 27 delegate_(delegate) {
28 } 28 }
29 29
30 void WebDatabaseBackend::AddTable(scoped_ptr<WebDatabaseTable> table) { 30 void WebDatabaseBackend::AddTable(std::unique_ptr<WebDatabaseTable> table) {
31 DCHECK(!db_.get()); 31 DCHECK(!db_.get());
32 tables_.push_back(table.release()); 32 tables_.push_back(table.release());
33 } 33 }
34 34
35 void WebDatabaseBackend::InitDatabase() { 35 void WebDatabaseBackend::InitDatabase() {
36 LoadDatabaseIfNecessary(); 36 LoadDatabaseIfNecessary();
37 if (delegate_) { 37 if (delegate_) {
38 delegate_->DBLoaded(init_status_); 38 delegate_->DBLoaded(init_status_);
39 } 39 }
40 } 40 }
(...skipping 24 matching lines...) Expand all
65 void WebDatabaseBackend::ShutdownDatabase() { 65 void WebDatabaseBackend::ShutdownDatabase() {
66 if (db_ && init_status_ == sql::INIT_OK) 66 if (db_ && init_status_ == sql::INIT_OK)
67 db_->CommitTransaction(); 67 db_->CommitTransaction();
68 db_.reset(NULL); 68 db_.reset(NULL);
69 init_complete_ = true; // Ensures the init sequence is not re-run. 69 init_complete_ = true; // Ensures the init sequence is not re-run.
70 init_status_ = sql::INIT_FAILURE; 70 init_status_ = sql::INIT_FAILURE;
71 } 71 }
72 72
73 void WebDatabaseBackend::DBWriteTaskWrapper( 73 void WebDatabaseBackend::DBWriteTaskWrapper(
74 const WebDatabaseService::WriteTask& task, 74 const WebDatabaseService::WriteTask& task,
75 scoped_ptr<WebDataRequest> request) { 75 std::unique_ptr<WebDataRequest> request) {
76 if (request->IsCancelled()) 76 if (request->IsCancelled())
77 return; 77 return;
78 78
79 ExecuteWriteTask(task); 79 ExecuteWriteTask(task);
80 request_manager_->RequestCompleted(std::move(request)); 80 request_manager_->RequestCompleted(std::move(request));
81 } 81 }
82 82
83 void WebDatabaseBackend::ExecuteWriteTask( 83 void WebDatabaseBackend::ExecuteWriteTask(
84 const WebDatabaseService::WriteTask& task) { 84 const WebDatabaseService::WriteTask& task) {
85 LoadDatabaseIfNecessary(); 85 LoadDatabaseIfNecessary();
86 if (db_ && init_status_ == sql::INIT_OK) { 86 if (db_ && init_status_ == sql::INIT_OK) {
87 WebDatabase::State state = task.Run(db_.get()); 87 WebDatabase::State state = task.Run(db_.get());
88 if (state == WebDatabase::COMMIT_NEEDED) 88 if (state == WebDatabase::COMMIT_NEEDED)
89 Commit(); 89 Commit();
90 } 90 }
91 } 91 }
92 92
93 void WebDatabaseBackend::DBReadTaskWrapper( 93 void WebDatabaseBackend::DBReadTaskWrapper(
94 const WebDatabaseService::ReadTask& task, 94 const WebDatabaseService::ReadTask& task,
95 scoped_ptr<WebDataRequest> request) { 95 std::unique_ptr<WebDataRequest> request) {
96 if (request->IsCancelled()) 96 if (request->IsCancelled())
97 return; 97 return;
98 98
99 request->SetResult(ExecuteReadTask(task)); 99 request->SetResult(ExecuteReadTask(task));
100 request_manager_->RequestCompleted(std::move(request)); 100 request_manager_->RequestCompleted(std::move(request));
101 } 101 }
102 102
103 scoped_ptr<WDTypedResult> WebDatabaseBackend::ExecuteReadTask( 103 std::unique_ptr<WDTypedResult> WebDatabaseBackend::ExecuteReadTask(
104 const WebDatabaseService::ReadTask& task) { 104 const WebDatabaseService::ReadTask& task) {
105 LoadDatabaseIfNecessary(); 105 LoadDatabaseIfNecessary();
106 if (db_ && init_status_ == sql::INIT_OK) { 106 if (db_ && init_status_ == sql::INIT_OK) {
107 return task.Run(db_.get()); 107 return task.Run(db_.get());
108 } 108 }
109 return scoped_ptr<WDTypedResult>(); 109 return nullptr;
110 } 110 }
111 111
112 WebDatabaseBackend::~WebDatabaseBackend() { 112 WebDatabaseBackend::~WebDatabaseBackend() {
113 ShutdownDatabase(); 113 ShutdownDatabase();
114 } 114 }
115 115
116 void WebDatabaseBackend::Commit() { 116 void WebDatabaseBackend::Commit() {
117 DCHECK(db_); 117 DCHECK(db_);
118 DCHECK_EQ(sql::INIT_OK, init_status_); 118 DCHECK_EQ(sql::INIT_OK, init_status_);
119 db_->CommitTransaction(); 119 db_->CommitTransaction();
120 db_->BeginTransaction(); 120 db_->BeginTransaction();
121 } 121 }
OLDNEW
« no previous file with comments | « components/webdata/common/web_database_backend.h ('k') | components/webdata/common/web_database_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698