Index: chrome/browser/extensions/extension_function_dispatcher.cc |
diff --git a/chrome/browser/extensions/extension_function_dispatcher.cc b/chrome/browser/extensions/extension_function_dispatcher.cc |
index a7b352430bfccc2f18722bf044d2061e29f8076e..33f63bb515f6f1abbc1486f7c06057a851db97bd 100644 |
--- a/chrome/browser/extensions/extension_function_dispatcher.cc |
+++ b/chrome/browser/extensions/extension_function_dispatcher.cc |
@@ -46,7 +46,7 @@ using WebKit::WebSecurityOrigin; |
namespace { |
-void LogSuccess(const Extension* extension, |
+void LogSuccess(const std::string& extension_id, |
const std::string& api_name, |
scoped_ptr<ListValue> args, |
Profile* profile) { |
@@ -56,18 +56,19 @@ void LogSuccess(const Extension* extension, |
BrowserThread::PostTask(BrowserThread::UI, |
FROM_HERE, |
base::Bind(&LogSuccess, |
- extension, |
+ extension_id, |
api_name, |
base::Passed(&args), |
profile)); |
} else { |
extensions::ActivityLog* activity_log = |
extensions::ActivityLog::GetInstance(profile); |
- activity_log->LogAPIAction(extension, api_name, args.get(), std::string()); |
+ activity_log->LogAPIAction( |
+ extension_id, api_name, args.get(), std::string()); |
} |
} |
-void LogFailure(const Extension* extension, |
+void LogFailure(const std::string& extension_id, |
const std::string& api_name, |
scoped_ptr<ListValue> args, |
extensions::BlockedAction::Reason reason, |
@@ -78,7 +79,7 @@ void LogFailure(const Extension* extension, |
BrowserThread::PostTask(BrowserThread::UI, |
FROM_HERE, |
base::Bind(&LogFailure, |
- extension, |
+ extension_id, |
api_name, |
base::Passed(&args), |
reason, |
@@ -87,7 +88,7 @@ void LogFailure(const Extension* extension, |
extensions::ActivityLog* activity_log = |
extensions::ActivityLog::GetInstance(profile); |
activity_log->LogBlockedAction( |
- extension, api_name, args.get(), reason, std::string()); |
+ extension_id, api_name, args.get(), reason, std::string()); |
} |
} |
@@ -259,7 +260,7 @@ void ExtensionFunctionDispatcher::DispatchOnIOThread( |
scoped_ptr<ListValue> args(params.arguments.DeepCopy()); |
if (!function.get()) { |
- LogFailure(extension, |
+ LogFailure(extension->id(), |
params.name, |
args.Pass(), |
extensions::BlockedAction::ACCESS_DENIED, |
@@ -279,7 +280,7 @@ void ExtensionFunctionDispatcher::DispatchOnIOThread( |
extension_info_map->IsIncognitoEnabled(extension->id())); |
if (!CheckPermissions(function.get(), extension, params, callback)) { |
- LogFailure(extension, |
+ LogFailure(extension->id(), |
params.name, |
args.Pass(), |
extensions::BlockedAction::ACCESS_DENIED, |
@@ -293,13 +294,13 @@ void ExtensionFunctionDispatcher::DispatchOnIOThread( |
¶ms.arguments, |
base::TimeTicks::Now()); |
if (violation_error.empty()) { |
- LogSuccess(extension, |
+ LogSuccess(extension->id(), |
params.name, |
args.Pass(), |
profile_cast); |
function->Run(); |
} else { |
- LogFailure(extension, |
+ LogFailure(extension->id(), |
params.name, |
args.Pass(), |
extensions::BlockedAction::QUOTA_EXCEEDED, |
@@ -364,7 +365,7 @@ void ExtensionFunctionDispatcher::DispatchWithCallback( |
scoped_ptr<ListValue> args(params.arguments.DeepCopy()); |
if (!function.get()) { |
- LogFailure(extension, |
+ LogFailure(extension->id(), |
params.name, |
args.Pass(), |
extensions::BlockedAction::ACCESS_DENIED, |
@@ -384,7 +385,7 @@ void ExtensionFunctionDispatcher::DispatchWithCallback( |
function->set_include_incognito(service->CanCrossIncognito(extension)); |
if (!CheckPermissions(function.get(), extension, params, callback)) { |
- LogFailure(extension, |
+ LogFailure(extension->id(), |
params.name, |
args.Pass(), |
extensions::BlockedAction::ACCESS_DENIED, |
@@ -400,10 +401,10 @@ void ExtensionFunctionDispatcher::DispatchWithCallback( |
if (violation_error.empty()) { |
// See crbug.com/39178. |
ExternalProtocolHandler::PermitLaunchUrl(); |
- LogSuccess(extension, params.name, args.Pass(), profile()); |
+ LogSuccess(extension->id(), params.name, args.Pass(), profile()); |
function->Run(); |
} else { |
- LogFailure(extension, |
+ LogFailure(extension->id(), |
params.name, |
args.Pass(), |
extensions::BlockedAction::QUOTA_EXCEEDED, |