| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 #ifndef CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_ACTIONS_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_ACTIONS_H_ |
| 6 #define CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_ACTIONS_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_ACTIONS_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <string> | 10 #include <string> |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 // The specific API call used or accessed, for example "chrome.tabs.get". | 71 // The specific API call used or accessed, for example "chrome.tabs.get". |
| 72 const std::string& api_name() const { return api_name_; } | 72 const std::string& api_name() const { return api_name_; } |
| 73 void set_api_name(const std::string& api_name) { api_name_ = api_name; } | 73 void set_api_name(const std::string& api_name) { api_name_ = api_name; } |
| 74 | 74 |
| 75 // Any applicable arguments. This might be null to indicate no data | 75 // Any applicable arguments. This might be null to indicate no data |
| 76 // available (a distinct condition from an empty argument list). | 76 // available (a distinct condition from an empty argument list). |
| 77 // mutable_args() returns a pointer to the list stored in the Action which | 77 // mutable_args() returns a pointer to the list stored in the Action which |
| 78 // can be modified in place; if the list was null an empty list is created | 78 // can be modified in place; if the list was null an empty list is created |
| 79 // first. | 79 // first. |
| 80 const base::ListValue* args() const { return args_.get(); } | 80 const base::ListValue* args() const { return args_.get(); } |
| 81 void set_args(scoped_ptr<base::ListValue> args); | 81 void set_args(std::unique_ptr<base::ListValue> args); |
| 82 base::ListValue* mutable_args(); | 82 base::ListValue* mutable_args(); |
| 83 | 83 |
| 84 // The URL of the page which was modified or accessed. | 84 // The URL of the page which was modified or accessed. |
| 85 const GURL& page_url() const { return page_url_; } | 85 const GURL& page_url() const { return page_url_; } |
| 86 void set_page_url(const GURL& page_url); | 86 void set_page_url(const GURL& page_url); |
| 87 | 87 |
| 88 // The title of the above page if available. | 88 // The title of the above page if available. |
| 89 const std::string& page_title() const { return page_title_; } | 89 const std::string& page_title() const { return page_title_; } |
| 90 void set_page_title(const std::string& title) { page_title_ = title; } | 90 void set_page_title(const std::string& title) { page_title_ = title; } |
| 91 | 91 |
| 92 // A URL which appears in the arguments of the API call, if present. | 92 // A URL which appears in the arguments of the API call, if present. |
| 93 const GURL& arg_url() const { return arg_url_; } | 93 const GURL& arg_url() const { return arg_url_; } |
| 94 void set_arg_url(const GURL& arg_url); | 94 void set_arg_url(const GURL& arg_url); |
| 95 | 95 |
| 96 // Get or set a flag indicating whether the page or argument values above | 96 // Get or set a flag indicating whether the page or argument values above |
| 97 // refer to incognito pages. | 97 // refer to incognito pages. |
| 98 bool page_incognito() const { return page_incognito_; } | 98 bool page_incognito() const { return page_incognito_; } |
| 99 void set_page_incognito(bool incognito) { page_incognito_ = incognito; } | 99 void set_page_incognito(bool incognito) { page_incognito_ = incognito; } |
| 100 bool arg_incognito() const { return arg_incognito_; } | 100 bool arg_incognito() const { return arg_incognito_; } |
| 101 void set_arg_incognito(bool incognito) { arg_incognito_ = incognito; } | 101 void set_arg_incognito(bool incognito) { arg_incognito_ = incognito; } |
| 102 | 102 |
| 103 // A dictionary where any additional data can be stored. | 103 // A dictionary where any additional data can be stored. |
| 104 const base::DictionaryValue* other() const { return other_.get(); } | 104 const base::DictionaryValue* other() const { return other_.get(); } |
| 105 void set_other(scoped_ptr<base::DictionaryValue> other); | 105 void set_other(std::unique_ptr<base::DictionaryValue> other); |
| 106 base::DictionaryValue* mutable_other(); | 106 base::DictionaryValue* mutable_other(); |
| 107 | 107 |
| 108 // An ID that identifies an action stored in the Activity Log database. If the | 108 // An ID that identifies an action stored in the Activity Log database. If the |
| 109 // action is not retrieved from the database, e.g., live stream, then the ID | 109 // action is not retrieved from the database, e.g., live stream, then the ID |
| 110 // is set to -1. | 110 // is set to -1. |
| 111 int64_t action_id() const { return action_id_; } | 111 int64_t action_id() const { return action_id_; } |
| 112 | 112 |
| 113 // Helper methods for serializing and deserializing URLs into strings. If | 113 // Helper methods for serializing and deserializing URLs into strings. If |
| 114 // the URL is marked as incognito, then the string is prefixed with | 114 // the URL is marked as incognito, then the string is prefixed with |
| 115 // kIncognitoUrl ("<incognito>"). | 115 // kIncognitoUrl ("<incognito>"). |
| (...skipping 15 matching lines...) Expand all Loading... |
| 131 protected: | 131 protected: |
| 132 virtual ~Action(); | 132 virtual ~Action(); |
| 133 | 133 |
| 134 private: | 134 private: |
| 135 friend class base::RefCountedThreadSafe<Action>; | 135 friend class base::RefCountedThreadSafe<Action>; |
| 136 | 136 |
| 137 std::string extension_id_; | 137 std::string extension_id_; |
| 138 base::Time time_; | 138 base::Time time_; |
| 139 ActionType action_type_; | 139 ActionType action_type_; |
| 140 std::string api_name_; | 140 std::string api_name_; |
| 141 scoped_ptr<base::ListValue> args_; | 141 std::unique_ptr<base::ListValue> args_; |
| 142 GURL page_url_; | 142 GURL page_url_; |
| 143 std::string page_title_; | 143 std::string page_title_; |
| 144 bool page_incognito_; | 144 bool page_incognito_; |
| 145 GURL arg_url_; | 145 GURL arg_url_; |
| 146 bool arg_incognito_; | 146 bool arg_incognito_; |
| 147 scoped_ptr<base::DictionaryValue> other_; | 147 std::unique_ptr<base::DictionaryValue> other_; |
| 148 int count_; | 148 int count_; |
| 149 int64_t action_id_; | 149 int64_t action_id_; |
| 150 | 150 |
| 151 DISALLOW_COPY_AND_ASSIGN(Action); | 151 DISALLOW_COPY_AND_ASSIGN(Action); |
| 152 }; | 152 }; |
| 153 | 153 |
| 154 // A comparator for Action class objects; this performs a lexicographic | 154 // A comparator for Action class objects; this performs a lexicographic |
| 155 // comparison of the fields of the Action object (in an unspecfied order). | 155 // comparison of the fields of the Action object (in an unspecfied order). |
| 156 // This can be used to use Action objects as keys in STL containers. | 156 // This can be used to use Action objects as keys in STL containers. |
| 157 struct ActionComparator { | 157 struct ActionComparator { |
| 158 // Evaluates the comparison lhs < rhs. | 158 // Evaluates the comparison lhs < rhs. |
| 159 bool operator()(const scoped_refptr<Action>& lhs, | 159 bool operator()(const scoped_refptr<Action>& lhs, |
| 160 const scoped_refptr<Action>& rhs) const; | 160 const scoped_refptr<Action>& rhs) const; |
| 161 }; | 161 }; |
| 162 | 162 |
| 163 // Like ActionComparator, but ignores the time field and the action ID field in | 163 // Like ActionComparator, but ignores the time field and the action ID field in |
| 164 // comparisons. | 164 // comparisons. |
| 165 struct ActionComparatorExcludingTimeAndActionId { | 165 struct ActionComparatorExcludingTimeAndActionId { |
| 166 // Evaluates the comparison lhs < rhs. | 166 // Evaluates the comparison lhs < rhs. |
| 167 bool operator()(const scoped_refptr<Action>& lhs, | 167 bool operator()(const scoped_refptr<Action>& lhs, |
| 168 const scoped_refptr<Action>& rhs) const; | 168 const scoped_refptr<Action>& rhs) const; |
| 169 }; | 169 }; |
| 170 | 170 |
| 171 } // namespace extensions | 171 } // namespace extensions |
| 172 | 172 |
| 173 #endif // CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_ACTIONS_H_ | 173 #endif // CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_ACTIONS_H_ |
| OLD | NEW |