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

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

Issue 2539363004: Make base::Value::TYPE a scoped enum. (Closed)
Patch Set: Rebase Created 4 years 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 // A policy for storing activity log data to a database that performs 5 // A policy for storing activity log data to a database that performs
6 // aggregation to reduce the size of the database. The database layout is 6 // aggregation to reduce the size of the database. The database layout is
7 // nearly the same as FullStreamUIPolicy, which stores a complete log, with a 7 // nearly the same as FullStreamUIPolicy, which stores a complete log, with a
8 // few changes: 8 // few changes:
9 // - a "count" column is added to track how many log records were merged 9 // - a "count" column is added to track how many log records were merged
10 // together into this row 10 // together into this row
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 while (query.is_valid() && query.Step()) { 492 while (query.is_valid() && query.Step()) {
493 scoped_refptr<Action> action = 493 scoped_refptr<Action> action =
494 new Action(query.ColumnString(0), 494 new Action(query.ColumnString(0),
495 base::Time::FromInternalValue(query.ColumnInt64(1)), 495 base::Time::FromInternalValue(query.ColumnInt64(1)),
496 static_cast<Action::ActionType>(query.ColumnInt(2)), 496 static_cast<Action::ActionType>(query.ColumnInt(2)),
497 query.ColumnString(3), query.ColumnInt64(10)); 497 query.ColumnString(3), query.ColumnInt64(10));
498 498
499 if (query.ColumnType(4) != sql::COLUMN_TYPE_NULL) { 499 if (query.ColumnType(4) != sql::COLUMN_TYPE_NULL) {
500 std::unique_ptr<base::Value> parsed_value = 500 std::unique_ptr<base::Value> parsed_value =
501 base::JSONReader::Read(query.ColumnString(4)); 501 base::JSONReader::Read(query.ColumnString(4));
502 if (parsed_value && parsed_value->IsType(base::Value::TYPE_LIST)) { 502 if (parsed_value && parsed_value->IsType(base::Value::Type::LIST)) {
503 action->set_args(base::WrapUnique( 503 action->set_args(base::WrapUnique(
504 static_cast<base::ListValue*>(parsed_value.release()))); 504 static_cast<base::ListValue*>(parsed_value.release())));
505 } 505 }
506 } 506 }
507 507
508 action->ParsePageUrl(query.ColumnString(5)); 508 action->ParsePageUrl(query.ColumnString(5));
509 action->set_page_title(query.ColumnString(6)); 509 action->set_page_title(query.ColumnString(6));
510 action->ParseArgUrl(query.ColumnString(7)); 510 action->ParseArgUrl(query.ColumnString(7));
511 511
512 if (query.ColumnType(8) != sql::COLUMN_TYPE_NULL) { 512 if (query.ColumnType(8) != sql::COLUMN_TYPE_NULL) {
513 std::unique_ptr<base::Value> parsed_value = 513 std::unique_ptr<base::Value> parsed_value =
514 base::JSONReader::Read(query.ColumnString(8)); 514 base::JSONReader::Read(query.ColumnString(8));
515 if (parsed_value && parsed_value->IsType(base::Value::TYPE_DICTIONARY)) { 515 if (parsed_value && parsed_value->IsType(base::Value::Type::DICTIONARY)) {
516 action->set_other(base::WrapUnique( 516 action->set_other(base::WrapUnique(
517 static_cast<base::DictionaryValue*>(parsed_value.release()))); 517 static_cast<base::DictionaryValue*>(parsed_value.release())));
518 } 518 }
519 } 519 }
520 action->set_count(query.ColumnInt(9)); 520 action->set_count(query.ColumnInt(9));
521 actions->push_back(action); 521 actions->push_back(action);
522 } 522 }
523 523
524 return actions; 524 return actions;
525 } 525 }
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 return true; 795 return true;
796 } 796 }
797 797
798 void CountingPolicy::Close() { 798 void CountingPolicy::Close() {
799 // The policy object should have never been created if there's no DB thread. 799 // The policy object should have never been created if there's no DB thread.
800 DCHECK(BrowserThread::IsMessageLoopValid(BrowserThread::DB)); 800 DCHECK(BrowserThread::IsMessageLoopValid(BrowserThread::DB));
801 ScheduleAndForget(activity_database(), &ActivityDatabase::Close); 801 ScheduleAndForget(activity_database(), &ActivityDatabase::Close);
802 } 802 }
803 803
804 } // namespace extensions 804 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/download/download_dir_policy_handler.cc ('k') | chrome/browser/extensions/activity_log/fullstream_ui_policy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698