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

Side by Side Diff: chrome/browser/extensions/activity_log/fullstream_ui_policy.cc

Issue 1871713002: Convert //chrome/browser/extensions from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and fix header 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 "chrome/browser/extensions/activity_log/fullstream_ui_policy.h" 5 #include "chrome/browser/extensions/activity_log/fullstream_ui_policy.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/files/file_path.h" 11 #include "base/files/file_path.h"
12 #include "base/json/json_reader.h" 12 #include "base/json/json_reader.h"
13 #include "base/json/json_string_value_serializer.h" 13 #include "base/json/json_string_value_serializer.h"
14 #include "base/logging.h" 14 #include "base/logging.h"
15 #include "base/macros.h" 15 #include "base/macros.h"
16 #include "base/memory/ptr_util.h"
16 #include "base/strings/string16.h" 17 #include "base/strings/string16.h"
17 #include "base/strings/stringprintf.h" 18 #include "base/strings/stringprintf.h"
18 #include "chrome/browser/extensions/activity_log/activity_action_constants.h" 19 #include "chrome/browser/extensions/activity_log/activity_action_constants.h"
19 #include "chrome/browser/extensions/activity_log/activity_database.h" 20 #include "chrome/browser/extensions/activity_log/activity_database.h"
20 #include "chrome/browser/profiles/profile.h" 21 #include "chrome/browser/profiles/profile.h"
21 #include "chrome/common/chrome_constants.h" 22 #include "chrome/common/chrome_constants.h"
22 #include "chrome/common/chrome_switches.h" 23 #include "chrome/common/chrome_switches.h"
23 #include "extensions/common/dom_action_types.h" 24 #include "extensions/common/dom_action_types.h"
24 #include "extensions/common/extension.h" 25 #include "extensions/common/extension.h"
25 #include "sql/statement.h" 26 #include "sql/statement.h"
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 } 115 }
115 } 116 }
116 117
117 if (!transaction.Commit()) 118 if (!transaction.Commit())
118 return false; 119 return false;
119 120
120 queued_actions_.clear(); 121 queued_actions_.clear();
121 return true; 122 return true;
122 } 123 }
123 124
124 scoped_ptr<Action::ActionVector> FullStreamUIPolicy::DoReadFilteredData( 125 std::unique_ptr<Action::ActionVector> FullStreamUIPolicy::DoReadFilteredData(
125 const std::string& extension_id, 126 const std::string& extension_id,
126 const Action::ActionType type, 127 const Action::ActionType type,
127 const std::string& api_name, 128 const std::string& api_name,
128 const std::string& page_url, 129 const std::string& page_url,
129 const std::string& arg_url, 130 const std::string& arg_url,
130 const int days_ago) { 131 const int days_ago) {
131 // Ensure data is flushed to the database first so that we query over all 132 // Ensure data is flushed to the database first so that we query over all
132 // data. 133 // data.
133 activity_database()->AdviseFlush(ActivityDatabase::kFlushImmediately); 134 activity_database()->AdviseFlush(ActivityDatabase::kFlushImmediately);
134 scoped_ptr<Action::ActionVector> actions(new Action::ActionVector()); 135 std::unique_ptr<Action::ActionVector> actions(new Action::ActionVector());
135 136
136 sql::Connection* db = GetDatabaseConnection(); 137 sql::Connection* db = GetDatabaseConnection();
137 if (!db) { 138 if (!db) {
138 return actions; 139 return actions;
139 } 140 }
140 141
141 // Build up the query based on which parameters were specified. 142 // Build up the query based on which parameters were specified.
142 std::string where_str = ""; 143 std::string where_str = "";
143 std::string where_next = ""; 144 std::string where_next = "";
144 if (!extension_id.empty()) { 145 if (!extension_id.empty()) {
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 191
191 // Execute the query and get results. 192 // Execute the query and get results.
192 while (query.is_valid() && query.Step()) { 193 while (query.is_valid() && query.Step()) {
193 scoped_refptr<Action> action = 194 scoped_refptr<Action> action =
194 new Action(query.ColumnString(0), 195 new Action(query.ColumnString(0),
195 base::Time::FromInternalValue(query.ColumnInt64(1)), 196 base::Time::FromInternalValue(query.ColumnInt64(1)),
196 static_cast<Action::ActionType>(query.ColumnInt(2)), 197 static_cast<Action::ActionType>(query.ColumnInt(2)),
197 query.ColumnString(3), query.ColumnInt64(9)); 198 query.ColumnString(3), query.ColumnInt64(9));
198 199
199 if (query.ColumnType(4) != sql::COLUMN_TYPE_NULL) { 200 if (query.ColumnType(4) != sql::COLUMN_TYPE_NULL) {
200 scoped_ptr<base::Value> parsed_value = 201 std::unique_ptr<base::Value> parsed_value =
201 base::JSONReader::Read(query.ColumnString(4)); 202 base::JSONReader::Read(query.ColumnString(4));
202 if (parsed_value && parsed_value->IsType(base::Value::TYPE_LIST)) { 203 if (parsed_value && parsed_value->IsType(base::Value::TYPE_LIST)) {
203 action->set_args(make_scoped_ptr( 204 action->set_args(base::WrapUnique(
204 static_cast<base::ListValue*>(parsed_value.release()))); 205 static_cast<base::ListValue*>(parsed_value.release())));
205 } 206 }
206 } 207 }
207 208
208 action->ParsePageUrl(query.ColumnString(5)); 209 action->ParsePageUrl(query.ColumnString(5));
209 action->set_page_title(query.ColumnString(6)); 210 action->set_page_title(query.ColumnString(6));
210 action->ParseArgUrl(query.ColumnString(7)); 211 action->ParseArgUrl(query.ColumnString(7));
211 212
212 if (query.ColumnType(8) != sql::COLUMN_TYPE_NULL) { 213 if (query.ColumnType(8) != sql::COLUMN_TYPE_NULL) {
213 scoped_ptr<base::Value> parsed_value = 214 std::unique_ptr<base::Value> parsed_value =
214 base::JSONReader::Read(query.ColumnString(8)); 215 base::JSONReader::Read(query.ColumnString(8));
215 if (parsed_value && parsed_value->IsType(base::Value::TYPE_DICTIONARY)) { 216 if (parsed_value && parsed_value->IsType(base::Value::TYPE_DICTIONARY)) {
216 action->set_other(make_scoped_ptr( 217 action->set_other(base::WrapUnique(
217 static_cast<base::DictionaryValue*>(parsed_value.release()))); 218 static_cast<base::DictionaryValue*>(parsed_value.release())));
218 } 219 }
219 } 220 }
220 actions->push_back(action); 221 actions->push_back(action);
221 } 222 }
222 223
223 return actions; 224 return actions;
224 } 225 }
225 226
226 void FullStreamUIPolicy::DoRemoveActions( 227 void FullStreamUIPolicy::DoRemoveActions(
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 ScheduleAndForget(activity_database(), &ActivityDatabase::Close); 392 ScheduleAndForget(activity_database(), &ActivityDatabase::Close);
392 } 393 }
393 394
394 void FullStreamUIPolicy::ReadFilteredData( 395 void FullStreamUIPolicy::ReadFilteredData(
395 const std::string& extension_id, 396 const std::string& extension_id,
396 const Action::ActionType type, 397 const Action::ActionType type,
397 const std::string& api_name, 398 const std::string& api_name,
398 const std::string& page_url, 399 const std::string& page_url,
399 const std::string& arg_url, 400 const std::string& arg_url,
400 const int days_ago, 401 const int days_ago,
401 const base::Callback 402 const base::Callback<void(std::unique_ptr<Action::ActionVector>)>&
402 <void(scoped_ptr<Action::ActionVector>)>& callback) { 403 callback) {
403 BrowserThread::PostTaskAndReplyWithResult( 404 BrowserThread::PostTaskAndReplyWithResult(
404 BrowserThread::DB, 405 BrowserThread::DB,
405 FROM_HERE, 406 FROM_HERE,
406 base::Bind(&FullStreamUIPolicy::DoReadFilteredData, 407 base::Bind(&FullStreamUIPolicy::DoReadFilteredData,
407 base::Unretained(this), 408 base::Unretained(this),
408 extension_id, 409 extension_id,
409 type, 410 type,
410 api_name, 411 api_name,
411 page_url, 412 page_url,
412 arg_url, 413 arg_url,
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 } 447 }
447 448
448 void FullStreamUIPolicy::QueueAction(scoped_refptr<Action> action) { 449 void FullStreamUIPolicy::QueueAction(scoped_refptr<Action> action) {
449 if (activity_database()->is_db_valid()) { 450 if (activity_database()->is_db_valid()) {
450 queued_actions_.push_back(action); 451 queued_actions_.push_back(action);
451 activity_database()->AdviseFlush(queued_actions_.size()); 452 activity_database()->AdviseFlush(queued_actions_.size());
452 } 453 }
453 } 454 }
454 455
455 } // namespace extensions 456 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698