| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/api/input_ime/input_ime_api.h" | 5 #include "chrome/browser/extensions/api/input_ime/input_ime_api.h" |
| 6 | 6 |
| 7 #include "base/lazy_instance.h" | 7 #include "base/lazy_instance.h" |
| 8 #include "chrome/browser/chrome_notification_types.h" | 8 #include "chrome/browser/chrome_notification_types.h" |
| 9 #include "chrome/common/extensions/api/input_ime.h" | 9 #include "chrome/common/extensions/api/input_ime.h" |
| 10 #include "content/public/browser/notification_registrar.h" | 10 #include "content/public/browser/notification_registrar.h" |
| (...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 segment_info.style = | 311 segment_info.style = |
| 312 InputMethodEngineBase::SEGMENT_STYLE_NO_UNDERLINE; | 312 InputMethodEngineBase::SEGMENT_STYLE_NO_UNDERLINE; |
| 313 } | 313 } |
| 314 segments.push_back(segment_info); | 314 segments.push_back(segment_info); |
| 315 } | 315 } |
| 316 } | 316 } |
| 317 int selection_start = | 317 int selection_start = |
| 318 params.selection_start ? *params.selection_start : params.cursor; | 318 params.selection_start ? *params.selection_start : params.cursor; |
| 319 int selection_end = | 319 int selection_end = |
| 320 params.selection_end ? *params.selection_end : params.cursor; | 320 params.selection_end ? *params.selection_end : params.cursor; |
| 321 std::string error; |
| 321 success = engine->SetComposition(params.context_id, params.text.c_str(), | 322 success = engine->SetComposition(params.context_id, params.text.c_str(), |
| 322 selection_start, selection_end, | 323 selection_start, selection_end, |
| 323 params.cursor, segments, &error_); | 324 params.cursor, segments, &error); |
| 325 SetError(error); |
| 324 } | 326 } |
| 325 std::unique_ptr<base::ListValue> output = | 327 std::unique_ptr<base::ListValue> output = |
| 326 SetComposition::Results::Create(success); | 328 SetComposition::Results::Create(success); |
| 327 return RespondNow(ArgumentList(std::move(output))); | 329 return RespondNow(ArgumentList(std::move(output))); |
| 328 } | 330 } |
| 329 | 331 |
| 330 ExtensionFunction::ResponseAction InputImeCommitTextFunction::Run() { | 332 ExtensionFunction::ResponseAction InputImeCommitTextFunction::Run() { |
| 331 bool success = false; | 333 bool success = false; |
| 332 InputImeEventRouter* event_router = | 334 InputImeEventRouter* event_router = |
| 333 GetInputImeEventRouter(Profile::FromBrowserContext(browser_context())); | 335 GetInputImeEventRouter(Profile::FromBrowserContext(browser_context())); |
| 334 InputMethodEngineBase* engine = | 336 InputMethodEngineBase* engine = |
| 335 event_router ? event_router->GetActiveEngine(extension_id()) : nullptr; | 337 event_router ? event_router->GetActiveEngine(extension_id()) : nullptr; |
| 336 if (engine) { | 338 if (engine) { |
| 337 std::unique_ptr<CommitText::Params> parent_params( | 339 std::unique_ptr<CommitText::Params> parent_params( |
| 338 CommitText::Params::Create(*args_)); | 340 CommitText::Params::Create(*args_)); |
| 339 const CommitText::Params::Parameters& params = parent_params->parameters; | 341 const CommitText::Params::Parameters& params = parent_params->parameters; |
| 342 std::string error; |
| 340 success = | 343 success = |
| 341 engine->CommitText(params.context_id, params.text.c_str(), &error_); | 344 engine->CommitText(params.context_id, params.text.c_str(), &error); |
| 345 SetError(error); |
| 342 } | 346 } |
| 343 std::unique_ptr<base::ListValue> output = | 347 std::unique_ptr<base::ListValue> output = |
| 344 CommitText::Results::Create(success); | 348 CommitText::Results::Create(success); |
| 345 return RespondNow(ArgumentList(std::move(output))); | 349 return RespondNow(ArgumentList(std::move(output))); |
| 346 } | 350 } |
| 347 | 351 |
| 348 ExtensionFunction::ResponseAction InputImeSendKeyEventsFunction::Run() { | 352 ExtensionFunction::ResponseAction InputImeSendKeyEventsFunction::Run() { |
| 349 InputImeEventRouter* event_router = | 353 InputImeEventRouter* event_router = |
| 350 GetInputImeEventRouter(Profile::FromBrowserContext(browser_context())); | 354 GetInputImeEventRouter(Profile::FromBrowserContext(browser_context())); |
| 351 InputMethodEngineBase* engine = | 355 InputMethodEngineBase* engine = |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 410 InputImeEventRouter* GetInputImeEventRouter(Profile* profile) { | 414 InputImeEventRouter* GetInputImeEventRouter(Profile* profile) { |
| 411 if (!profile) | 415 if (!profile) |
| 412 return nullptr; | 416 return nullptr; |
| 413 if (profile->HasOffTheRecordProfile()) | 417 if (profile->HasOffTheRecordProfile()) |
| 414 profile = profile->GetOffTheRecordProfile(); | 418 profile = profile->GetOffTheRecordProfile(); |
| 415 return extensions::InputImeEventRouterFactory::GetInstance()->GetRouter( | 419 return extensions::InputImeEventRouterFactory::GetInstance()->GetRouter( |
| 416 profile); | 420 profile); |
| 417 } | 421 } |
| 418 | 422 |
| 419 } // namespace extensions | 423 } // namespace extensions |
| OLD | NEW |