| Index: chrome/browser/autocomplete/network_action_predictor_database.cc | 
| diff --git a/chrome/browser/autocomplete/network_action_predictor_database.cc b/chrome/browser/autocomplete/network_action_predictor_database.cc | 
| deleted file mode 100644 | 
| index a1454f439e0166e0c08fa3b9d903fd391354c793..0000000000000000000000000000000000000000 | 
| --- a/chrome/browser/autocomplete/network_action_predictor_database.cc | 
| +++ /dev/null | 
| @@ -1,257 +0,0 @@ | 
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| -// Use of this source code is governed by a BSD-style license that can be | 
| -// found in the LICENSE file. | 
| - | 
| -#include "chrome/browser/autocomplete/network_action_predictor_database.h" | 
| - | 
| -#include "base/bind.h" | 
| -#include "base/file_util.h" | 
| -#include "base/logging.h" | 
| -#include "base/metrics/histogram.h" | 
| -#include "base/stringprintf.h" | 
| -#include "base/utf_string_conversions.h" | 
| -#include "chrome/browser/profiles/profile.h" | 
| -#include "chrome/common/guid.h" | 
| -#include "content/public/browser/browser_thread.h" | 
| -#include "sql/statement.h" | 
| - | 
| -namespace { | 
| - | 
| -const char kNetworkActionPredictorTableName[] = "network_action_predictor"; | 
| -const FilePath::CharType kNetworkActionPredictorDatabaseName[] = | 
| -    FILE_PATH_LITERAL("Network Action Predictor"); | 
| - | 
| -// The maximum length allowed for strings in the database. | 
| -const size_t kMaxDataLength = 2048; | 
| - | 
| -void BindRowToStatement(const NetworkActionPredictorDatabase::Row& row, | 
| -                        sql::Statement* statement) { | 
| -  DCHECK(guid::IsValidGUID(row.id)); | 
| -  statement->BindString(0, row.id); | 
| -  statement->BindString16(1, row.user_text.substr(0, kMaxDataLength)); | 
| -  statement->BindString(2, row.url.spec().substr(0, kMaxDataLength)); | 
| -  statement->BindInt(3, row.number_of_hits); | 
| -  statement->BindInt(4, row.number_of_misses); | 
| -} | 
| - | 
| -bool StepAndInitializeRow(sql::Statement* statement, | 
| -                          NetworkActionPredictorDatabase::Row* row) { | 
| -  if (!statement->Step()) | 
| -    return false; | 
| - | 
| -  row->id = statement->ColumnString(0); | 
| -  row->user_text = statement->ColumnString16(1); | 
| -  row->url = GURL(statement->ColumnString(2)); | 
| -  row->number_of_hits = statement->ColumnInt(3); | 
| -  row->number_of_misses = statement->ColumnInt(4); | 
| -  return true; | 
| -} | 
| - | 
| -void LogDatabaseStats(const FilePath& db_path, sql::Connection* db) { | 
| -  int64 db_size; | 
| -  bool success = file_util::GetFileSize(db_path, &db_size); | 
| -  DCHECK(success) << "Failed to get file size for " << db_path.value(); | 
| -  UMA_HISTOGRAM_MEMORY_KB("NetworkActionPredictor.DatabaseSizeKB", | 
| -                          static_cast<int>(db_size / 1024)); | 
| - | 
| -  sql::Statement count_statement(db->GetUniqueStatement( | 
| -      base::StringPrintf("SELECT count(id) FROM %s", | 
| -                         kNetworkActionPredictorTableName).c_str())); | 
| -  if (!count_statement.Step()) | 
| -    return; | 
| -  UMA_HISTOGRAM_COUNTS("NetworkActionPredictor.DatabaseRowCount", | 
| -                       count_statement.ColumnInt(0)); | 
| -} | 
| - | 
| -} | 
| - | 
| -NetworkActionPredictorDatabase::Row::Row() | 
| -    : number_of_hits(0), | 
| -      number_of_misses(0) { | 
| -} | 
| - | 
| -NetworkActionPredictorDatabase::Row::Row(const Row::Id& id, | 
| -                                         const string16& user_text, | 
| -                                         const GURL& url, | 
| -                                         int number_of_hits, | 
| -                                         int number_of_misses) | 
| -    : id(id), | 
| -      user_text(user_text), | 
| -      url(url), | 
| -      number_of_hits(number_of_hits), | 
| -      number_of_misses(number_of_misses) { | 
| -} | 
| - | 
| -NetworkActionPredictorDatabase::NetworkActionPredictorDatabase(Profile* profile) | 
| -    : db_path_(profile->GetPath().Append(kNetworkActionPredictorDatabaseName)) { | 
| -} | 
| - | 
| -NetworkActionPredictorDatabase::~NetworkActionPredictorDatabase() { | 
| -} | 
| - | 
| -void NetworkActionPredictorDatabase::Initialize() { | 
| -  CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); | 
| - | 
| -  if (canceled_.IsSet()) | 
| -    return; | 
| - | 
| -  db_.set_exclusive_locking(); | 
| -  if (!db_.Open(db_path_)) { | 
| -    canceled_.Set(); | 
| -    return; | 
| -  } | 
| - | 
| -  if (!db_.DoesTableExist(kNetworkActionPredictorTableName)) | 
| -    CreateTable(); | 
| - | 
| -  LogDatabaseStats(db_path_, &db_); | 
| -} | 
| - | 
| -void NetworkActionPredictorDatabase::GetRow(const Row::Id& id, Row* row) { | 
| -  CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); | 
| - | 
| -  if (canceled_.IsSet()) | 
| -    return; | 
| - | 
| -  sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE, | 
| -      base::StringPrintf( | 
| -          "SELECT * FROM %s WHERE id=?", | 
| -          kNetworkActionPredictorTableName).c_str())); | 
| -  statement.BindString(0, id); | 
| - | 
| -  bool success = StepAndInitializeRow(&statement, row); | 
| -  DCHECK(success) << "Failed to get row " << id << " from " | 
| -                  << kNetworkActionPredictorTableName; | 
| -} | 
| - | 
| -void NetworkActionPredictorDatabase::GetAllRows( | 
| -    std::vector<NetworkActionPredictorDatabase::Row>* row_buffer) { | 
| -  CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); | 
| -  CHECK(row_buffer); | 
| -  row_buffer->clear(); | 
| - | 
| -  if (canceled_.IsSet()) | 
| -    return; | 
| - | 
| -  sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE, | 
| -      base::StringPrintf( | 
| -          "SELECT * FROM %s", kNetworkActionPredictorTableName).c_str())); | 
| - | 
| -  Row row; | 
| -  while (StepAndInitializeRow(&statement, &row)) | 
| -    row_buffer->push_back(row); | 
| -} | 
| - | 
| -void NetworkActionPredictorDatabase::AddRow( | 
| -    const NetworkActionPredictorDatabase::Row& row) { | 
| -  CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); | 
| - | 
| -  if (canceled_.IsSet()) | 
| -    return; | 
| - | 
| -  sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE, | 
| -      base::StringPrintf( | 
| -          "INSERT INTO %s " | 
| -          "(id, user_text, url, number_of_hits, number_of_misses) " | 
| -          "VALUES (?,?,?,?,?)", kNetworkActionPredictorTableName).c_str())); | 
| -  BindRowToStatement(row, &statement); | 
| - | 
| -  bool success = statement.Run(); | 
| -  DCHECK(success) << "Failed to insert row " << row.id << " into " | 
| -                  << kNetworkActionPredictorTableName; | 
| -} | 
| - | 
| -void NetworkActionPredictorDatabase::UpdateRow( | 
| -    const NetworkActionPredictorDatabase::Row& row) { | 
| -  CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); | 
| - | 
| -  if (canceled_.IsSet()) | 
| -    return; | 
| - | 
| -  sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE, | 
| -      base::StringPrintf( | 
| -          "UPDATE %s " | 
| -          "SET id=?, user_text=?, url=?, number_of_hits=?, number_of_misses=? " | 
| -          "WHERE id=?1", kNetworkActionPredictorTableName).c_str())); | 
| -  BindRowToStatement(row, &statement); | 
| - | 
| -  statement.Run(); | 
| -  DCHECK_GT(db_.GetLastChangeCount(), 0); | 
| -} | 
| - | 
| -void NetworkActionPredictorDatabase::DeleteRow(const Row::Id& id) { | 
| -  CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); | 
| - | 
| -  if (canceled_.IsSet()) | 
| -    return; | 
| - | 
| -  DeleteRows(std::vector<Row::Id>(1, id)); | 
| -} | 
| - | 
| -void NetworkActionPredictorDatabase::DeleteRows( | 
| -    const std::vector<Row::Id>& id_list) { | 
| -  CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); | 
| - | 
| -  if (canceled_.IsSet()) | 
| -    return; | 
| - | 
| -  sql::Statement statement(db_.GetUniqueStatement(base::StringPrintf( | 
| -          "DELETE FROM %s WHERE id=?", | 
| -          kNetworkActionPredictorTableName).c_str())); | 
| - | 
| -  db_.BeginTransaction(); | 
| -  for (std::vector<Row::Id>::const_iterator it = id_list.begin(); | 
| -       it != id_list.end(); ++it) { | 
| -    statement.BindString(0, *it); | 
| -    statement.Run(); | 
| -    statement.Reset(true); | 
| -  } | 
| -  db_.CommitTransaction(); | 
| -} | 
| - | 
| -void NetworkActionPredictorDatabase::DeleteAllRows() { | 
| -  CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); | 
| - | 
| -  if (canceled_.IsSet()) | 
| -    return; | 
| - | 
| -  sql::Statement statement(db_.GetCachedStatement(SQL_FROM_HERE, | 
| -      base::StringPrintf("DELETE FROM %s", | 
| -                         kNetworkActionPredictorTableName).c_str())); | 
| - | 
| -  statement.Run(); | 
| -} | 
| - | 
| -void NetworkActionPredictorDatabase::BeginTransaction() { | 
| -  CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); | 
| - | 
| -  if (canceled_.IsSet()) | 
| -    return; | 
| - | 
| -  db_.BeginTransaction(); | 
| -} | 
| - | 
| -void NetworkActionPredictorDatabase::CommitTransaction() { | 
| -  CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::DB)); | 
| - | 
| -  if (canceled_.IsSet()) | 
| -    return; | 
| - | 
| -  db_.CommitTransaction(); | 
| -} | 
| - | 
| -void NetworkActionPredictorDatabase::OnPredictorDestroyed() { | 
| -  canceled_.Set(); | 
| -} | 
| - | 
| -void NetworkActionPredictorDatabase::CreateTable() { | 
| -  bool success = db_.Execute(base::StringPrintf( | 
| -      "CREATE TABLE %s ( " | 
| -      "id TEXT PRIMARY KEY, " | 
| -      "user_text TEXT, " | 
| -      "url TEXT, " | 
| -      "number_of_hits INTEGER, " | 
| -      "number_of_misses INTEGER)", kNetworkActionPredictorTableName).c_str()); | 
| -  DCHECK(success) << "Failed to create " << kNetworkActionPredictorTableName | 
| -                  << " table."; | 
| -} | 
|  |