| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_LOG_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_LOG_H_ |
| 6 #define CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_LOG_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_LOG_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 | 117 |
| 118 // For unit tests only. | 118 // For unit tests only. |
| 119 void SetArgumentLoggingForTesting(bool log_arguments); | 119 void SetArgumentLoggingForTesting(bool log_arguments); |
| 120 | 120 |
| 121 private: | 121 private: |
| 122 friend class ActivityLogFactory; | 122 friend class ActivityLogFactory; |
| 123 | 123 |
| 124 explicit ActivityLog(Profile* profile); | 124 explicit ActivityLog(Profile* profile); |
| 125 virtual ~ActivityLog(); | 125 virtual ~ActivityLog(); |
| 126 | 126 |
| 127 // Reset the database in case of persistent catastrophic errors. | |
| 128 void DatabaseErrorCallback(int error, sql::Statement* stmt); | |
| 129 | |
| 130 // We log callbacks and API calls very similarly, so we handle them the same | 127 // We log callbacks and API calls very similarly, so we handle them the same |
| 131 // way internally. | 128 // way internally. |
| 132 void LogAPIActionInternal( | 129 void LogAPIActionInternal( |
| 133 const std::string& extension_id, | 130 const std::string& extension_id, |
| 134 const std::string& api_call, | 131 const std::string& api_call, |
| 135 ListValue* args, | 132 ListValue* args, |
| 136 const std::string& extra, | 133 const std::string& extra, |
| 137 const APIAction::Type type); | 134 const APIAction::Type type); |
| 138 | 135 |
| 139 // TabHelper::ScriptExecutionObserver implementation. | 136 // TabHelper::ScriptExecutionObserver implementation. |
| 140 // Fires when a ContentScript is executed. | 137 // Fires when a ContentScript is executed. |
| 141 virtual void OnScriptsExecuted( | 138 virtual void OnScriptsExecuted( |
| 142 const content::WebContents* web_contents, | 139 const content::WebContents* web_contents, |
| 143 const ExecutingScriptsMap& extension_ids, | 140 const ExecutingScriptsMap& extension_ids, |
| 144 int32 page_id, | 141 int32 page_id, |
| 145 const GURL& on_url) OVERRIDE; | 142 const GURL& on_url) OVERRIDE; |
| 146 | 143 |
| 147 // The callback when initializing the database. | |
| 148 void OnDBInitComplete(); | |
| 149 | |
| 150 // The Schedule methods dispatch the calls to the database on a | 144 // The Schedule methods dispatch the calls to the database on a |
| 151 // separate thread. We dispatch to the UI thread if the DB thread doesn't | 145 // separate thread. We dispatch to the UI thread if the DB thread doesn't |
| 152 // exist, which should only happen in tests where there is no DB thread. | 146 // exist, which should only happen in tests where there is no DB thread. |
| 153 template<typename DatabaseFunc> | 147 template<typename DatabaseFunc> |
| 154 void ScheduleAndForget(DatabaseFunc func) { | 148 void ScheduleAndForget(DatabaseFunc func) { |
| 155 BrowserThread::PostTask(dispatch_thread_, | 149 BrowserThread::PostTask(dispatch_thread_, |
| 156 FROM_HERE, | 150 FROM_HERE, |
| 157 base::Bind(func, base::Unretained(db_))); | 151 base::Bind(func, base::Unretained(db_))); |
| 158 } | 152 } |
| 159 | 153 |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 223 virtual content::BrowserContext* GetBrowserContextToUse( | 217 virtual content::BrowserContext* GetBrowserContextToUse( |
| 224 content::BrowserContext* context) const OVERRIDE; | 218 content::BrowserContext* context) const OVERRIDE; |
| 225 | 219 |
| 226 DISALLOW_COPY_AND_ASSIGN(ActivityLogFactory); | 220 DISALLOW_COPY_AND_ASSIGN(ActivityLogFactory); |
| 227 }; | 221 }; |
| 228 | 222 |
| 229 | 223 |
| 230 } // namespace extensions | 224 } // namespace extensions |
| 231 | 225 |
| 232 #endif // CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_LOG_H_ | 226 #endif // CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_LOG_H_ |
| OLD | NEW |