Chromium Code Reviews| Index: chrome/browser/extensions/api_actions.h |
| diff --git a/chrome/browser/extensions/api_actions.h b/chrome/browser/extensions/api_actions.h |
| index 3cbd5ff15a9ac3c1156830eddecfc1f4811eeb6d..a69a8d8c76ff24fcf95746656117c4162245e9e5 100644 |
| --- a/chrome/browser/extensions/api_actions.h |
| +++ b/chrome/browser/extensions/api_actions.h |
| @@ -15,6 +15,14 @@ namespace extensions { |
| // problems. See BlockedActions for API calls that did not succeed. |
| class APIAction : public Action { |
| public: |
| + // TODO(mvrable): Come up with a good name for this; I'm not entirely happy |
|
Eric Dingle
2013/01/24 16:16:34
Maybe use APIActionType here and use APIActionVerb
mvrable
2013/01/24 18:12:31
That sounds good to me. Adrienne, are you fine wi
|
| + // with APICategory but "type" is already used. |
| + enum APICategory { |
| + CALL, |
| + EVENT_CALLBACK, |
| + UNKNOWN_CATEGORY |
| + }; |
| + |
| // TODO(felt): I'll finalize this list when making the UI. |
| enum APIActionType { |
| READ, |
| @@ -42,10 +50,15 @@ class APIAction : public Action { |
| static const char* kTableName; |
| static const char* kTableStructure; |
| + // Create the database table for storing APIActions, or update the schema if |
| + // it is out of date. Any existing data is preserved. |
| + static bool InitializeTable(sql::Connection* db); |
| + |
| // Create a new APIAction to describe a successful API call. All |
| // parameters are required. |
| APIAction(const std::string& extension_id, |
| const base::Time& time, |
| + const APICategory category, // e.g. "CALL" |
| const APIActionType verb, // e.g. "ADDED" |
| const APITargetType target, // e.g. "BOOKMARK" |
| const std::string& api_call, // full method signature incl args |
| @@ -64,11 +77,13 @@ class APIAction : public Action { |
| const std::string& extension_id() const { return extension_id_; } |
| const base::Time& time() const { return time_; } |
| const std::string& api_call() const { return api_call_; } |
| + std::string CategoryAsString() const; |
| std::string VerbAsString() const; |
| std::string TargetAsString() const; |
| std::string extra() const { return extra_; } |
| // Helper methods for creating a APIAction. |
| + static APICategory StringAsCategory(const std::string& str); |
| static APIActionType StringAsActionType(const std::string& str); |
| static APITargetType StringAsTargetType(const std::string& str); |
| @@ -78,6 +93,7 @@ class APIAction : public Action { |
| private: |
| std::string extension_id_; |
| base::Time time_; |
| + APICategory category_; |
| APIActionType verb_; |
| APITargetType target_; |
| std::string api_call_; |