| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 // This file is for non-chromeos (win & linux) functions, such as | 5 // This file is for non-chromeos (win & linux) functions, such as |
| 6 // chrome.input.ime.activate, chrome.input.ime.createWindow and | 6 // chrome.input.ime.activate, chrome.input.ime.createWindow and |
| 7 // chrome.input.ime.onSelectionChanged. | 7 // chrome.input.ime.onSelectionChanged. |
| 8 // TODO(azurewei): May refactor the code structure by using delegate or | 8 // TODO(azurewei): May refactor the code structure by using delegate or |
| 9 // redesign the API to remove this platform-specific file in the future. | 9 // redesign the API to remove this platform-specific file in the future. |
| 10 | 10 |
| (...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 348 bounds.set_y(options.bounds->top); | 348 bounds.set_y(options.bounds->top); |
| 349 bounds.set_width(options.bounds->width); | 349 bounds.set_width(options.bounds->width); |
| 350 bounds.set_height(options.bounds->height); | 350 bounds.set_height(options.bounds->height); |
| 351 } | 351 } |
| 352 | 352 |
| 353 InputMethodEngine* engine = | 353 InputMethodEngine* engine = |
| 354 GetActiveEngine(browser_context(), extension_id()); | 354 GetActiveEngine(browser_context(), extension_id()); |
| 355 if (!engine) | 355 if (!engine) |
| 356 return RespondNow(Error(kErrorNoActiveEngine)); | 356 return RespondNow(Error(kErrorNoActiveEngine)); |
| 357 | 357 |
| 358 std::string error; |
| 358 int frame_id = engine->CreateImeWindow( | 359 int frame_id = engine->CreateImeWindow( |
| 359 extension(), render_frame_host(), | 360 extension(), render_frame_host(), |
| 360 options.url.get() ? *options.url : url::kAboutBlankURL, | 361 options.url.get() ? *options.url : url::kAboutBlankURL, |
| 361 options.window_type == input_ime::WINDOW_TYPE_FOLLOWCURSOR | 362 options.window_type == input_ime::WINDOW_TYPE_FOLLOWCURSOR |
| 362 ? ui::ImeWindow::FOLLOW_CURSOR | 363 ? ui::ImeWindow::FOLLOW_CURSOR |
| 363 : ui::ImeWindow::NORMAL, | 364 : ui::ImeWindow::NORMAL, |
| 364 bounds, &error_); | 365 bounds, &error); |
| 365 if (!frame_id) | 366 if (!frame_id) |
| 366 return RespondNow(Error(error_)); | 367 return RespondNow(Error(error)); |
| 367 | 368 |
| 368 std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue()); | 369 std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue()); |
| 369 result->Set("frameId", new base::FundamentalValue(frame_id)); | 370 result->Set("frameId", new base::FundamentalValue(frame_id)); |
| 370 | 371 |
| 371 return RespondNow(OneArgument(std::move(result))); | 372 return RespondNow(OneArgument(std::move(result))); |
| 372 } | 373 } |
| 373 | 374 |
| 374 ExtensionFunction::ResponseAction InputImeShowWindowFunction::Run() { | 375 ExtensionFunction::ResponseAction InputImeShowWindowFunction::Run() { |
| 375 if (!IsInputImeEnabled()) | 376 if (!IsInputImeEnabled()) |
| 376 return RespondNow(Error(kErrorAPIDisabled)); | 377 return RespondNow(Error(kErrorAPIDisabled)); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 397 return RespondNow(Error(kErrorNoActiveEngine)); | 398 return RespondNow(Error(kErrorNoActiveEngine)); |
| 398 | 399 |
| 399 std::unique_ptr<api::input_ime::HideWindow::Params> params( | 400 std::unique_ptr<api::input_ime::HideWindow::Params> params( |
| 400 api::input_ime::HideWindow::Params::Create(*args_)); | 401 api::input_ime::HideWindow::Params::Create(*args_)); |
| 401 EXTENSION_FUNCTION_VALIDATE(params.get()); | 402 EXTENSION_FUNCTION_VALIDATE(params.get()); |
| 402 engine->HideImeWindow(params->window_id); | 403 engine->HideImeWindow(params->window_id); |
| 403 return RespondNow(NoArguments()); | 404 return RespondNow(NoArguments()); |
| 404 } | 405 } |
| 405 | 406 |
| 406 } // namespace extensions | 407 } // namespace extensions |
| OLD | NEW |