Index: chrome/browser/extensions/api_actions.cc |
=================================================================== |
--- chrome/browser/extensions/api_actions.cc (revision 177252) |
+++ chrome/browser/extensions/api_actions.cc (working copy) |
@@ -1,154 +0,0 @@ |
-// Copyright (c) 2013 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 <string> |
-#include "base/logging.h" |
-#include "chrome/browser/extensions/api_actions.h" |
-#include "content/public/browser/browser_thread.h" |
- |
-using content::BrowserThread; |
- |
-namespace extensions { |
- |
-const char* APIAction::kTableName = "activitylog_apis"; |
-const char* APIAction::kTableStructure = "(" |
- "extension_id LONGVARCHAR NOT NULL, " |
- "time INTEGER NOT NULL, " |
- "api_action_type LONGVARCHAR NOT NULL, " |
- "target_type LONGVARCHAR NOT NULL, " |
- "api_call LONGVARCHAR NOT NULL, " |
- "extra LONGVARCHAR NOT NULL)"; |
- |
-APIAction::APIAction(const std::string& extension_id, |
- const base::Time& time, |
- const APIActionType verb, |
- const APITargetType target, |
- const std::string& api_call, |
- const std::string& extra) |
- : extension_id_(extension_id), |
- time_(time), |
- verb_(verb), |
- target_(target), |
- api_call_(api_call), |
- extra_(extra) { } |
- |
-APIAction::~APIAction() { |
-} |
- |
-void APIAction::Record(sql::Connection* db) { |
- std::string sql_str = "INSERT INTO " + std::string(kTableName) |
- + " (extension_id, time, api_action_type, target_type, api_call, extra)" |
- " VALUES (?,?,?,?,?,?)"; |
- sql::Statement statement(db->GetCachedStatement( |
- sql::StatementID(SQL_FROM_HERE), sql_str.c_str())); |
- statement.BindString(0, extension_id_); |
- statement.BindInt64(1, time_.ToInternalValue()); |
- statement.BindString(2, VerbAsString()); |
- statement.BindString(3, TargetAsString()); |
- statement.BindString(4, api_call_); |
- statement.BindString(5, extra_); |
- |
- if (!statement.Run()) |
- LOG(ERROR) << "Activity log database I/O failed: " << sql_str; |
-} |
- |
-std::string APIAction::PrettyPrintFori18n() { |
- // TODO(felt): implement this for real when the UI is redesigned. |
- return PrettyPrintForDebug(); |
-} |
- |
-std::string APIAction::PrettyPrintForDebug() { |
- // TODO(felt): implement this for real when the UI is redesigned. |
- return "ID: " + extension_id_ + ", VERB: " + VerbAsString() + |
- ", TARGET: " + TargetAsString() + ", API: " + api_call_; |
-} |
- |
-std::string APIAction::VerbAsString() const { |
- switch (verb_) { |
- case READ: |
- return "READ"; |
- case MODIFIED: |
- return "MODIFIED"; |
- case DELETED: |
- return "DELETED"; |
- case ADDED: |
- return "ADDED"; |
- case ENABLED: |
- return "ENABLED"; |
- case DISABLED: |
- return "DISABLED"; |
- case CREATED: |
- return "CREATED"; |
- default: |
- return "UNKNOWN_ACTION"; |
- } |
-} |
- |
-std::string APIAction::TargetAsString() const { |
- switch (target_) { |
- case BOOKMARK: |
- return "BOOKMARK"; |
- case TABS: |
- return "TABS"; |
- case HISTORY: |
- return "HISTORY"; |
- case COOKIES: |
- return "COOKIES"; |
- case BROWSER_ACTION: |
- return "BROWSER_ACTION"; |
- case NOTIFICATION: |
- return "NOTIFICATION"; |
- case OMNIBOX: |
- return "OMNIBOX"; |
- default: |
- return "UNKNOWN_TARGET"; |
- } |
-} |
- |
-APIAction::APIActionType APIAction::StringAsActionType( |
- const std::string& str) { |
- if (str == "READ") { |
- return READ; |
- } else if (str == "MODIFIED") { |
- return MODIFIED; |
- } else if (str == "DELETED") { |
- return DELETED; |
- } else if (str == "ADDED") { |
- return ADDED; |
- } else if (str == "ENABLED") { |
- return ENABLED; |
- } else if (str == "DISABLED") { |
- return DISABLED; |
- } else if (str == "CREATED") { |
- return CREATED; |
- } else { |
- return UNKNOWN_ACTION; |
- } |
-} |
- |
-// The all-caps strings match the enum names. The lowercase strings match the |
-// actual object names (e.g., cookies.remove(...);). |
-APIAction::APITargetType APIAction::StringAsTargetType( |
- const std::string& str) { |
- if (str == "BOOKMARK" || str == "bookmark") { |
- return BOOKMARK; |
- } else if (str == "TABS" || str == "tabs") { |
- return TABS; |
- } else if (str == "HISTORY" || str == "history") { |
- return HISTORY; |
- } else if (str == "COOKIES" || str == "cookies") { |
- return COOKIES; |
- } else if (str == "BROWSER_ACTION" || str == "browser_action") { |
- return BROWSER_ACTION; |
- } else if (str == "NOTIFICATION" || str == "notification") { |
- return NOTIFICATION; |
- } else if (str == "OMNIBOX" || str == "omnibox") { |
- return OMNIBOX; |
- } else { |
- return UNKNOWN_TARGET; |
- } |
-} |
- |
-} // namespace extensions |
- |