summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_test_api.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_test_api.cc')
-rw-r--r--chrome/browser/extensions/extension_test_api.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/chrome/browser/extensions/extension_test_api.cc b/chrome/browser/extensions/extension_test_api.cc
index 858d25b..b5f64ba 100644
--- a/chrome/browser/extensions/extension_test_api.cc
+++ b/chrome/browser/extensions/extension_test_api.cc
@@ -54,10 +54,16 @@ bool ExtensionTestCreateIncognitoTabFunction::RunImpl() {
bool ExtensionTestSendMessageFunction::RunImpl() {
std::string message;
EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &message));
- std::string id = extension_id();
+ AddRef(); // balanced in Reply
NotificationService::current()->Notify(
NotificationType::EXTENSION_TEST_MESSAGE,
- Source<std::string>(&id),
+ Source<ExtensionTestSendMessageFunction>(this),
Details<std::string>(&message));
return true;
}
+
+void ExtensionTestSendMessageFunction::Reply(const std::string& message) {
+ result_.reset(Value::CreateStringValue(message));
+ SendResponse(true);
+ Release(); // balanced in RunImpl
+}