Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(703)

Side by Side Diff: chrome/browser/extensions/extension_activity_log.cc

Issue 10375021: Move Extension into extensions namespace (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Take 6 Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include "chrome/browser/extensions/extension_activity_log.h" 5 #include "chrome/browser/extensions/extension_activity_log.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "chrome/common/chrome_switches.h" 9 #include "chrome/common/chrome_switches.h"
10 #include "chrome/common/extensions/extension.h" 10 #include "chrome/common/extensions/extension.h"
11 11
12 ExtensionActivityLog::ExtensionActivityLog() { 12 ExtensionActivityLog::ExtensionActivityLog() {
13 log_activity_to_stdout_ = CommandLine::ForCurrentProcess()-> 13 log_activity_to_stdout_ = CommandLine::ForCurrentProcess()->
14 HasSwitch(switches::kEnableExtensionActivityLogging); 14 HasSwitch(switches::kEnableExtensionActivityLogging);
15 } 15 }
16 16
17 ExtensionActivityLog::~ExtensionActivityLog() { 17 ExtensionActivityLog::~ExtensionActivityLog() {
18 } 18 }
19 19
20 // static 20 // static
21 ExtensionActivityLog* ExtensionActivityLog::GetInstance() { 21 ExtensionActivityLog* ExtensionActivityLog::GetInstance() {
22 return Singleton<ExtensionActivityLog>::get(); 22 return Singleton<ExtensionActivityLog>::get();
23 } 23 }
24 24
25 void ExtensionActivityLog::AddObserver( 25 void ExtensionActivityLog::AddObserver(
26 const Extension* extension, 26 const extensions::Extension* extension,
27 ExtensionActivityLog::Observer* observer) { 27 ExtensionActivityLog::Observer* observer) {
28 base::AutoLock scoped_lock(lock_); 28 base::AutoLock scoped_lock(lock_);
29 29
30 if (observers_.count(extension) == 0) { 30 if (observers_.count(extension) == 0) {
31 observers_[extension] = new ObserverListThreadSafe<Observer>; 31 observers_[extension] = new ObserverListThreadSafe<Observer>;
32 } 32 }
33 33
34 observers_[extension]->AddObserver(observer); 34 observers_[extension]->AddObserver(observer);
35 } 35 }
36 36
37 void ExtensionActivityLog::RemoveObserver( 37 void ExtensionActivityLog::RemoveObserver(
38 const Extension* extension, 38 const extensions::Extension* extension,
39 ExtensionActivityLog::Observer* observer) { 39 ExtensionActivityLog::Observer* observer) {
40 base::AutoLock scoped_lock(lock_); 40 base::AutoLock scoped_lock(lock_);
41 41
42 if (observers_.count(extension) == 1) { 42 if (observers_.count(extension) == 1) {
43 observers_[extension]->RemoveObserver(observer); 43 observers_[extension]->RemoveObserver(observer);
44 } 44 }
45 } 45 }
46 46 // Extension*
47 bool ExtensionActivityLog::HasObservers(const Extension* extension) const { 47 bool ExtensionActivityLog::HasObservers(
48 const extensions::Extension* extension) const {
48 base::AutoLock scoped_lock(lock_); 49 base::AutoLock scoped_lock(lock_);
49 50
50 // We also return true if extension activity logging is enabled since in that 51 // We also return true if extension activity logging is enabled since in that
51 // case this class is observing all extensions. 52 // case this class is observing all extensions.
52 return observers_.count(extension) > 0 || log_activity_to_stdout_; 53 return observers_.count(extension) > 0 || log_activity_to_stdout_;
53 } 54 }
54 55
55 void ExtensionActivityLog::Log(const Extension* extension, 56 void ExtensionActivityLog::Log(const extensions::Extension* extension,
56 Activity activity, 57 Activity activity,
57 const std::string& msg) const { 58 const std::string& msg) const {
58 base::AutoLock scoped_lock(lock_); 59 base::AutoLock scoped_lock(lock_);
59 60
60 ObserverMap::const_iterator iter = observers_.find(extension); 61 ObserverMap::const_iterator iter = observers_.find(extension);
61 if (iter != observers_.end()) { 62 if (iter != observers_.end()) {
62 iter->second->Notify(&Observer::OnExtensionActivity, extension, activity, 63 iter->second->Notify(&Observer::OnExtensionActivity, extension, activity,
63 msg); 64 msg);
64 } 65 }
65 66
66 if (log_activity_to_stdout_) { 67 if (log_activity_to_stdout_) {
67 LOG(INFO) << extension->id() + ":" + ActivityToString(activity) + ":" + msg; 68 LOG(INFO) << extension->id() + ":" + ActivityToString(activity) + ":" + msg;
68 } 69 }
69 } 70 }
70 71
71 // static 72 // static
72 const char* ExtensionActivityLog::ActivityToString(Activity activity) { 73 const char* ExtensionActivityLog::ActivityToString(Activity activity) {
73 switch (activity) { 74 switch (activity) {
74 case ExtensionActivityLog::ACTIVITY_EXTENSION_API_CALL: 75 case ExtensionActivityLog::ACTIVITY_EXTENSION_API_CALL:
75 return "api_call"; 76 return "api_call";
76 case ExtensionActivityLog::ACTIVITY_EXTENSION_API_BLOCK: 77 case ExtensionActivityLog::ACTIVITY_EXTENSION_API_BLOCK:
77 return "api_block"; 78 return "api_block";
78 default: 79 default:
79 NOTREACHED(); 80 NOTREACHED();
80 return ""; 81 return "";
81 } 82 }
82 } 83 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_activity_log.h ('k') | chrome/browser/extensions/extension_apitest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698