| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/chromeos/cros/input_method_library.h" | 5 #include "chrome/browser/chromeos/cros/input_method_library.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "chrome/browser/chrome_thread.h" | 10 #include "chrome/browser/chrome_thread.h" |
| (...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 void InputMethodLibraryImpl::ConnectionChangeHandler(void* object, | 264 void InputMethodLibraryImpl::ConnectionChangeHandler(void* object, |
| 265 bool connected) { | 265 bool connected) { |
| 266 InputMethodLibraryImpl* input_method_library = | 266 InputMethodLibraryImpl* input_method_library = |
| 267 static_cast<InputMethodLibraryImpl*>(object); | 267 static_cast<InputMethodLibraryImpl*>(object); |
| 268 input_method_library->ime_connected_ = connected; | 268 input_method_library->ime_connected_ = connected; |
| 269 if (connected) { | 269 if (connected) { |
| 270 input_method_library->pending_config_requests_.clear(); | 270 input_method_library->pending_config_requests_.clear(); |
| 271 input_method_library->pending_config_requests_.insert( | 271 input_method_library->pending_config_requests_.insert( |
| 272 input_method_library->current_config_values_.begin(), | 272 input_method_library->current_config_values_.begin(), |
| 273 input_method_library->current_config_values_.end()); | 273 input_method_library->current_config_values_.end()); |
| 274 // When the IME process starts up, the hardware layout will be the current | 274 input_method_library->need_input_method_set_ = true; |
| 275 // method. If this is not correct, we'll need to explicitly change it. | |
| 276 if (input_method_library->active_input_method_ != kHardwareKeyboardLayout) { | |
| 277 input_method_library->need_input_method_set_ = true; | |
| 278 } | |
| 279 input_method_library->FlushImeConfig(); | 275 input_method_library->FlushImeConfig(); |
| 280 } else { | 276 } else { |
| 281 // Stop attempting to resend config data, since it will continue to fail. | 277 // Stop attempting to resend config data, since it will continue to fail. |
| 282 input_method_library->timer_.Stop(); // no-op if it's not running. | 278 input_method_library->timer_.Stop(); // no-op if it's not running. |
| 283 } | 279 } |
| 284 } | 280 } |
| 285 | 281 |
| 286 bool InputMethodLibraryImpl::EnsureStarted() { | 282 bool InputMethodLibraryImpl::EnsureStarted() { |
| 287 if (!input_method_status_connection_) { | 283 if (!input_method_status_connection_) { |
| 288 input_method_status_connection_ = chromeos::MonitorInputMethodStatus( | 284 input_method_status_connection_ = chromeos::MonitorInputMethodStatus( |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 if (library->ime_handle_ == pid) { | 445 if (library->ime_handle_ == pid) { |
| 450 library->ime_handle_ = 0; | 446 library->ime_handle_ = 0; |
| 451 } else if (library->candidate_window_handle_ == pid) { | 447 } else if (library->candidate_window_handle_ == pid) { |
| 452 library->candidate_window_handle_ = 0; | 448 library->candidate_window_handle_ = 0; |
| 453 } | 449 } |
| 454 | 450 |
| 455 library->MaybeLaunchIme(); | 451 library->MaybeLaunchIme(); |
| 456 } | 452 } |
| 457 | 453 |
| 458 } // namespace chromeos | 454 } // namespace chromeos |
| OLD | NEW |