| Index: chrome/browser/extensions/extension_input_ime_api.cc
|
| diff --git a/chrome/browser/extensions/extension_input_ime_api.cc b/chrome/browser/extensions/extension_input_ime_api.cc
|
| index eebc13e7cbffbdfd7d5813b005ed365fac1708f7..88bfa9f6f23bc53ac434914abedd190e5c4db02f 100644
|
| --- a/chrome/browser/extensions/extension_input_ime_api.cc
|
| +++ b/chrome/browser/extensions/extension_input_ime_api.cc
|
| @@ -155,26 +155,22 @@ class ImeObserver : public chromeos::InputMethodEngine::Observer {
|
| if (profile_ == NULL || extension_id_.empty())
|
| return;
|
|
|
| - ListValue args;
|
| - args.Append(Value::CreateStringValue(engine_id));
|
| + ListValue* args = new ListValue();
|
| + args->Append(Value::CreateStringValue(engine_id));
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| profile_->GetExtensionEventRouter()->DispatchEventToExtension(
|
| - extension_id_, events::kOnActivate, json_args, profile_, GURL());
|
| + extension_id_, events::kOnActivate, args, profile_, GURL());
|
| }
|
|
|
| virtual void OnDeactivated(const std::string& engine_id) {
|
| if (profile_ == NULL || extension_id_.empty())
|
| return;
|
|
|
| - ListValue args;
|
| - args.Append(Value::CreateStringValue(engine_id));
|
| + ListValue* args = new ListValue();
|
| + args->Append(Value::CreateStringValue(engine_id));
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| profile_->GetExtensionEventRouter()->DispatchEventToExtension(
|
| - extension_id_, events::kOnDeactivated, json_args, profile_, GURL());
|
| + extension_id_, events::kOnDeactivated, args, profile_, GURL());
|
| }
|
|
|
| virtual void OnFocus(const InputMethodEngine::InputContext& context) {
|
| @@ -185,26 +181,22 @@ class ImeObserver : public chromeos::InputMethodEngine::Observer {
|
| dict->SetInteger("contextID", context.id);
|
| dict->SetString("type", context.type);
|
|
|
| - ListValue args;
|
| - args.Append(dict);
|
| + ListValue* args = new ListValue();
|
| + args->Append(dict);
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| profile_->GetExtensionEventRouter()->DispatchEventToExtension(
|
| - extension_id_, events::kOnFocus, json_args, profile_, GURL());
|
| + extension_id_, events::kOnFocus, args, profile_, GURL());
|
| }
|
|
|
| virtual void OnBlur(int context_id) {
|
| if (profile_ == NULL || extension_id_.empty())
|
| return;
|
|
|
| - ListValue args;
|
| - args.Append(Value::CreateIntegerValue(context_id));
|
| + ListValue* args = new ListValue();
|
| + args->Append(Value::CreateIntegerValue(context_id));
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| profile_->GetExtensionEventRouter()->DispatchEventToExtension(
|
| - extension_id_, events::kOnBlur, json_args, profile_, GURL());
|
| + extension_id_, events::kOnBlur, args, profile_, GURL());
|
| }
|
|
|
| virtual void OnInputContextUpdate(
|
| @@ -216,14 +208,11 @@ class ImeObserver : public chromeos::InputMethodEngine::Observer {
|
| dict->SetInteger("contextID", context.id);
|
| dict->SetString("type", context.type);
|
|
|
| - ListValue args;
|
| - args.Append(dict);
|
| + ListValue* args = new ListValue();
|
| + args->Append(dict);
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| profile_->GetExtensionEventRouter()->DispatchEventToExtension(
|
| - extension_id_, events::kOnInputContextUpdate, json_args, profile_,
|
| - GURL());
|
| + extension_id_, events::kOnInputContextUpdate, args, profile_, GURL());
|
| }
|
|
|
| virtual void OnKeyEvent(const std::string& engine_id,
|
| @@ -244,14 +233,12 @@ class ImeObserver : public chromeos::InputMethodEngine::Observer {
|
| dict->SetBoolean("ctrlKey", event.ctrl_key);
|
| dict->SetBoolean("shiftKey", event.shift_key);
|
|
|
| - ListValue args;
|
| - args.Append(Value::CreateStringValue(engine_id));
|
| - args.Append(dict);
|
| + ListValue* args = new ListValue();
|
| + args->Append(Value::CreateStringValue(engine_id));
|
| + args->Append(dict);
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| profile_->GetExtensionEventRouter()->DispatchEventToExtension(
|
| - extension_id_, events::kOnKeyEvent, json_args, profile_, GURL());
|
| + extension_id_, events::kOnKeyEvent, args, profile_, GURL());
|
| }
|
|
|
| virtual void OnCandidateClicked(
|
| @@ -261,30 +248,27 @@ class ImeObserver : public chromeos::InputMethodEngine::Observer {
|
| if (profile_ == NULL || extension_id_.empty())
|
| return;
|
|
|
| - ListValue args;
|
| - args.Append(Value::CreateStringValue(engine_id));
|
| - args.Append(Value::CreateIntegerValue(candidate_id));
|
| + ListValue* args = new ListValue();
|
| + args->Append(Value::CreateStringValue(engine_id));
|
| + args->Append(Value::CreateIntegerValue(candidate_id));
|
| switch (button) {
|
| case chromeos::InputMethodEngine::MOUSE_BUTTON_MIDDLE:
|
| - args.Append(Value::CreateStringValue("middle"));
|
| + args->Append(Value::CreateStringValue("middle"));
|
| break;
|
|
|
| case chromeos::InputMethodEngine::MOUSE_BUTTON_RIGHT:
|
| - args.Append(Value::CreateStringValue("right"));
|
| + args->Append(Value::CreateStringValue("right"));
|
| break;
|
|
|
| case chromeos::InputMethodEngine::MOUSE_BUTTON_LEFT:
|
| // Default to left.
|
| default:
|
| - args.Append(Value::CreateStringValue("left"));
|
| + args->Append(Value::CreateStringValue("left"));
|
| break;
|
| }
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| profile_->GetExtensionEventRouter()->DispatchEventToExtension(
|
| - extension_id_, events::kOnCandidateClicked, json_args, profile_,
|
| - GURL());
|
| + extension_id_, events::kOnCandidateClicked, args, profile_, GURL());
|
| }
|
|
|
| virtual void OnMenuItemActivated(const std::string& engine_id,
|
| @@ -292,15 +276,12 @@ class ImeObserver : public chromeos::InputMethodEngine::Observer {
|
| if (profile_ == NULL || extension_id_.empty())
|
| return;
|
|
|
| - ListValue args;
|
| - args.Append(Value::CreateStringValue(engine_id));
|
| - args.Append(Value::CreateStringValue(menu_id));
|
| + ListValue* args = new ListValue();
|
| + args->Append(Value::CreateStringValue(engine_id));
|
| + args->Append(Value::CreateStringValue(menu_id));
|
|
|
| - std::string json_args;
|
| - base::JSONWriter::Write(&args, &json_args);
|
| profile_->GetExtensionEventRouter()->DispatchEventToExtension(
|
| - extension_id_, events::kOnMenuItemActivated, json_args, profile_,
|
| - GURL());
|
| + extension_id_, events::kOnMenuItemActivated, args, profile_, GURL());
|
| }
|
|
|
| private:
|
|
|