| Index: chrome/browser/webdata/web_intents_table.cc
|
| diff --git a/chrome/browser/webdata/web_intents_table.cc b/chrome/browser/webdata/web_intents_table.cc
|
| deleted file mode 100644
|
| index 0f97d081e5ec495fd7541a5b017f295cfe64cf5a..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/webdata/web_intents_table.cc
|
| +++ /dev/null
|
| @@ -1,156 +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/webdata/web_intents_table.h"
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/i18n/case_conversion.h"
|
| -#include "base/logging.h"
|
| -#include "base/strings/string_util.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "components/webdata/common/web_database.h"
|
| -#include "net/base/mime_util.h"
|
| -#include "sql/statement.h"
|
| -#include "third_party/sqlite/sqlite3.h"
|
| -#include "url/gurl.h"
|
| -
|
| -namespace {
|
| -
|
| -WebDatabaseTable::TypeKey GetKey() {
|
| - // We just need a unique constant. Use the address of a static that
|
| - // COMDAT folding won't touch in an optimizing linker.
|
| - static int table_key = 0;
|
| - return reinterpret_cast<void*>(&table_key);
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -WebIntentsTable::WebIntentsTable() {
|
| -}
|
| -
|
| -WebIntentsTable::~WebIntentsTable() {
|
| -}
|
| -
|
| -WebIntentsTable* WebIntentsTable::FromWebDatabase(WebDatabase* db) {
|
| - return static_cast<WebIntentsTable*>(db->GetTable(GetKey()));
|
| -}
|
| -
|
| -WebDatabaseTable::TypeKey WebIntentsTable::GetTypeKey() const {
|
| - return GetKey();
|
| -}
|
| -
|
| -bool WebIntentsTable::CreateTablesIfNecessary() {
|
| - if (!db_->DoesTableExist("web_intents")) {
|
| - if (!db_->Execute("CREATE TABLE web_intents ("
|
| - " service_url LONGVARCHAR,"
|
| - " action VARCHAR,"
|
| - " type VARCHAR,"
|
| - " title LONGVARCHAR,"
|
| - " disposition VARCHAR,"
|
| - " scheme VARCHAR,"
|
| - " UNIQUE (service_url, action, scheme, type))")) {
|
| - return false;
|
| - }
|
| - if (!db_->Execute("CREATE INDEX IF NOT EXISTS web_intents_index"
|
| - " ON web_intents (action)"))
|
| - return false;
|
| - if (!db_->Execute("CREATE INDEX IF NOT EXISTS web_intents_index"
|
| - " ON web_intents (scheme)"))
|
| - return false;
|
| - }
|
| -
|
| - if (!db_->DoesTableExist("web_intents_defaults")) {
|
| - if (!db_->Execute("CREATE TABLE web_intents_defaults ("
|
| - " action VARCHAR,"
|
| - " type VARCHAR,"
|
| - " url_pattern LONGVARCHAR,"
|
| - " user_date INTEGER,"
|
| - " suppression INTEGER,"
|
| - " service_url LONGVARCHAR,"
|
| - " scheme VARCHAR,"
|
| - " UNIQUE (action, scheme, type, url_pattern))")) {
|
| - return false;
|
| - }
|
| - if (!db_->Execute("CREATE INDEX IF NOT EXISTS web_intents_default_index"
|
| - " ON web_intents_defaults (action)"))
|
| - return false;
|
| -
|
| - if (!db_->Execute("CREATE INDEX IF NOT EXISTS web_intents_default_index"
|
| - " ON web_intents_defaults (scheme)"))
|
| - return false;
|
| - }
|
| -
|
| - return true;
|
| -}
|
| -
|
| -// TODO(jhawkins): Figure out Sync story.
|
| -bool WebIntentsTable::IsSyncable() {
|
| - return false;
|
| -}
|
| -
|
| -bool WebIntentsTable::MigrateToVersion(int version,
|
| - bool* update_compatible_version) {
|
| - if (version == 46) {
|
| - *update_compatible_version = true;
|
| - return MigrateToVersion46AddSchemeColumn();
|
| - }
|
| -
|
| - return true;
|
| -}
|
| -
|
| -// Updates the table by way of renaming the old tables, rerunning
|
| -// the Init method, then selecting old values into the new tables.
|
| -bool WebIntentsTable::MigrateToVersion46AddSchemeColumn() {
|
| - // If the old table doesn't exist, there's nothing to migrate.
|
| - if (!db_->DoesTableExist("web_intents"))
|
| - return true;
|
| -
|
| - if (!db_->Execute("ALTER TABLE web_intents RENAME TO old_web_intents"))
|
| - return false;
|
| -
|
| - if (!db_->Execute("ALTER TABLE web_intents_defaults"
|
| - " RENAME TO old_web_intents_defaults"))
|
| - return false;
|
| -
|
| - if (!CreateTablesIfNecessary())
|
| - return false;
|
| -
|
| - int error = db_->ExecuteAndReturnErrorCode(
|
| - "INSERT INTO web_intents"
|
| - " (service_url, action, type, title, disposition)"
|
| - " SELECT "
|
| - " service_url, action, type, title, disposition"
|
| - " FROM old_web_intents");
|
| -
|
| - if (error != SQLITE_OK) {
|
| - DLOG(WARNING) << "Could not copy old intent data to upgraded table."
|
| - << db_->GetErrorMessage();
|
| - }
|
| -
|
| -
|
| - error = db_->ExecuteAndReturnErrorCode(
|
| - "INSERT INTO web_intents_defaults"
|
| - " (service_url, action, type, url_pattern, user_date, suppression)"
|
| - " SELECT "
|
| - " service_url, action, type, url_pattern, user_date, suppression"
|
| - " FROM old_web_intents_defaults");
|
| -
|
| - if (error != SQLITE_OK) {
|
| - DLOG(WARNING) << "Could not copy old intent defaults to upgraded table."
|
| - << db_->GetErrorMessage();
|
| - }
|
| -
|
| - if (!db_->Execute("DROP table old_web_intents")) {
|
| - LOG(WARNING) << "Could not drop backup web_intents table.";
|
| - return false;
|
| - }
|
| -
|
| - if (!db_->Execute("DROP table old_web_intents_defaults")) {
|
| - DLOG(WARNING) << "Could not drop backup web_intents_defaults table.";
|
| - return false;
|
| - }
|
| -
|
| - return true;
|
| -}
|
|
|