Index: chrome/browser/extensions/api/input_ime/input_ime_api_chromeos.cc |
diff --git a/chrome/browser/extensions/api/input_ime/input_ime_api_chromeos.cc b/chrome/browser/extensions/api/input_ime/input_ime_api_chromeos.cc |
index a1d5b2f94d5a67e6c4a7ece74168fdb36ecf2479..dcba0719ce672b67eb813c873be18dc957b3b798 100644 |
--- a/chrome/browser/extensions/api/input_ime/input_ime_api_chromeos.cc |
+++ b/chrome/browser/extensions/api/input_ime/input_ime_api_chromeos.cc |
@@ -370,8 +370,12 @@ ExtensionFunction::ResponseAction InputImeClearCompositionFunction::Run() { |
const ClearComposition::Params::Parameters& params = |
parent_params->parameters; |
- return RespondNow(OneArgument(base::MakeUnique<base::FundamentalValue>( |
- engine->ClearComposition(params.context_id, &error_)))); |
+ std::string error; |
+ bool success = engine->ClearComposition(params.context_id, &error); |
+ if (!success) |
+ SetError(error); |
+ return RespondNow( |
+ OneArgument(base::MakeUnique<base::FundamentalValue>(success))); |
} |
bool InputImeHideInputViewFunction::RunAsync() { |
@@ -404,8 +408,10 @@ InputImeSetCandidateWindowPropertiesFunction::Run() { |
const SetCandidateWindowProperties::Params::Parameters::Properties& |
properties = params.properties; |
+ std::string error; |
if (properties.visible && |
- !engine->SetCandidateWindowVisible(*properties.visible, &error_)) { |
+ !engine->SetCandidateWindowVisible(*properties.visible, &error)) { |
+ SetError(error); |
return RespondNow( |
OneArgument(base::MakeUnique<base::FundamentalValue>(false))); |
} |
@@ -484,8 +490,13 @@ ExtensionFunction::ResponseAction InputImeSetCandidatesFunction::Run() { |
} |
} |
- return RespondNow(OneArgument(base::MakeUnique<base::FundamentalValue>( |
- engine->SetCandidates(params.context_id, candidates_out, &error_)))); |
+ std::string error; |
+ bool success = |
+ engine->SetCandidates(params.context_id, candidates_out, &error); |
+ if (!success) |
+ SetError(error); |
+ return RespondNow( |
+ OneArgument(base::MakeUnique<base::FundamentalValue>(success))); |
} |
ExtensionFunction::ResponseAction InputImeSetCursorPositionFunction::Run() { |
@@ -501,9 +512,13 @@ ExtensionFunction::ResponseAction InputImeSetCursorPositionFunction::Run() { |
const SetCursorPosition::Params::Parameters& params = |
parent_params->parameters; |
- return RespondNow(OneArgument( |
- base::MakeUnique<base::FundamentalValue>(engine->SetCursorPosition( |
- params.context_id, params.candidate_id, &error_)))); |
+ std::string error; |
+ bool success = |
+ engine->SetCursorPosition(params.context_id, params.candidate_id, &error); |
+ if (!success) |
+ SetError(error); |
+ return RespondNow( |
+ OneArgument(base::MakeUnique<base::FundamentalValue>(success))); |
} |
ExtensionFunction::ResponseAction InputImeSetMenuItemsFunction::Run() { |
@@ -570,8 +585,10 @@ ExtensionFunction::ResponseAction InputImeDeleteSurroundingTextFunction::Run() { |
if (!engine) |
return RespondNow(Error(kErrorEngineNotAvailable)); |
+ std::string error; |
engine->DeleteSurroundingText(params.context_id, params.offset, params.length, |
- &error_); |
+ &error); |
+ SetError(error); |
return RespondNow(NoArguments()); |
} |