summaryrefslogtreecommitdiff
path: root/chromium/ui/base/ime/linux
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/base/ime/linux')
-rw-r--r--chromium/ui/base/ime/linux/BUILD.gn9
-rw-r--r--chromium/ui/base/ime/linux/input_method_auralinux.cc60
-rw-r--r--chromium/ui/base/ime/linux/input_method_auralinux.h12
-rw-r--r--chromium/ui/base/ime/linux/input_method_auralinux_unittest.cc22
4 files changed, 19 insertions, 84 deletions
diff --git a/chromium/ui/base/ime/linux/BUILD.gn b/chromium/ui/base/ime/linux/BUILD.gn
index 01c9b24e6a7..dbef616118c 100644
--- a/chromium/ui/base/ime/linux/BUILD.gn
+++ b/chromium/ui/base/ime/linux/BUILD.gn
@@ -5,7 +5,14 @@
import("//build/config/jumbo.gni")
import("//build/config/linux/pangocairo/pangocairo.gni")
-assert(is_linux && !is_chromeos)
+# Allows base/ime/linux to be built if it's just for making kythe annotations.
+# This is used to generate cross references in codesearch. References are
+# generated by building the ozone wayland backend on ChromiumOS, which
+# normally we would not want to compile base/ime/linux for. We can't build
+# both ozone and x11 on Linux yet, but when we can we should remove this.
+# TODO(crbug.com/1085700): Remove || enable_kythe_annotations here.
+import("//build/toolchain/kythe.gni")
+assert((is_linux && !is_chromeos) || enable_kythe_annotations)
jumbo_component("linux") {
output_name = "ui_base_ime_linux"
diff --git a/chromium/ui/base/ime/linux/input_method_auralinux.cc b/chromium/ui/base/ime/linux/input_method_auralinux.cc
index 3f3663c3a51..de49a5b15f1 100644
--- a/chromium/ui/base/ime/linux/input_method_auralinux.cc
+++ b/chromium/ui/base/ime/linux/input_method_auralinux.cc
@@ -8,8 +8,6 @@
#include "base/bind.h"
#include "base/environment.h"
#include "ui/base/ime/constants.h"
-#include "ui/base/ime/ime_bridge.h"
-#include "ui/base/ime/ime_engine_handler_interface.h"
#include "ui/base/ime/linux/linux_input_method_context_factory.h"
#include "ui/base/ime/text_input_client.h"
#include "ui/events/event.h"
@@ -88,42 +86,9 @@ ui::EventDispatchDetails InputMethodAuraLinux::DispatchKeyEvent(
}
}
- // If there's an active IME extension is listening to the key event, and the
- // current text input client is not password input client, the key event
- // should be dispatched to the extension engine in the two conditions:
- // 1) |filtered| == false: the ET_KEY_PRESSED event of non-character key,
- // or the ET_KEY_RELEASED event of all key.
- // 2) |filtered| == true && NeedInsertChar(): the ET_KEY_PRESSED event of
- // character key.
- if (text_input_type_ != TEXT_INPUT_TYPE_PASSWORD && GetEngine() &&
- (!filtered || NeedInsertChar())) {
- ui::IMEEngineHandlerInterface::KeyEventDoneCallback callback =
- base::BindOnce(&InputMethodAuraLinux::ProcessKeyEventByEngineDone,
- weak_ptr_factory_.GetWeakPtr(),
- base::Owned(new ui::KeyEvent(*event)), filtered,
- composition_changed_,
- base::Owned(new ui::CompositionText(composition_)),
- base::Owned(new base::string16(result_text_)));
- GetEngine()->ProcessKeyEvent(*event, std::move(callback));
- return ui::EventDispatchDetails();
- }
-
return ProcessKeyEventDone(event, filtered, false);
}
-void InputMethodAuraLinux::ProcessKeyEventByEngineDone(
- ui::KeyEvent* event,
- bool filtered,
- bool composition_changed,
- ui::CompositionText* composition,
- base::string16* result_text,
- bool is_handled) {
- composition_changed_ = composition_changed;
- composition_ = *composition;
- result_text_ = *result_text;
- ignore_result(ProcessKeyEventDone(event, filtered, is_handled));
-}
-
ui::EventDispatchDetails InputMethodAuraLinux::ProcessKeyEventDone(
ui::KeyEvent* event,
bool filtered,
@@ -248,22 +213,6 @@ void InputMethodAuraLinux::UpdateContextFocusState() {
context_simple_->Focus();
else
context_simple_->Blur();
-
- if (!ui::IMEBridge::Get()) // IMEBridge could be null for tests.
- return;
-
- ui::IMEEngineHandlerInterface::InputContext context(
- GetTextInputType(), GetTextInputMode(), GetTextInputFlags(),
- ui::TextInputClient::FOCUS_REASON_OTHER, GetClientShouldDoLearning());
- ui::IMEBridge::Get()->SetCurrentInputContext(context);
-
- ui::IMEEngineHandlerInterface* engine = GetEngine();
- if (engine) {
- if (old_text_input_type != TEXT_INPUT_TYPE_NONE)
- engine->FocusOut();
- if (text_input_type_ != TEXT_INPUT_TYPE_NONE)
- engine->FocusIn(context);
- }
}
void InputMethodAuraLinux::OnTextInputTypeChanged(
@@ -286,19 +235,12 @@ void InputMethodAuraLinux::OnCaretBoundsChanged(const TextInputClient* client) {
client->GetEditableSelectionRange(&selection_range)) {
context_->SetSurroundingText(text, selection_range);
}
-
- if (!IsTextInputTypeNone() && text_input_type_ != TEXT_INPUT_TYPE_PASSWORD &&
- GetEngine())
- GetEngine()->SetCompositionBounds(GetCompositionBounds(client));
}
void InputMethodAuraLinux::CancelComposition(const TextInputClient* client) {
if (!IsTextInputClientFocused(client))
return;
- if (GetEngine())
- GetEngine()->Reset();
-
ResetContext();
}
@@ -457,8 +399,6 @@ void InputMethodAuraLinux::ConfirmCompositionText(bool reset_engine,
NOTIMPLEMENTED_LOG_ONCE();
}
InputMethodBase::ConfirmCompositionText(reset_engine, keep_selection);
- if (reset_engine && GetEngine())
- GetEngine()->Reset();
ResetContext();
}
diff --git a/chromium/ui/base/ime/linux/input_method_auralinux.h b/chromium/ui/base/ime/linux/input_method_auralinux.h
index 294979dec2d..e560171df5b 100644
--- a/chromium/ui/base/ime/linux/input_method_auralinux.h
+++ b/chromium/ui/base/ime/linux/input_method_auralinux.h
@@ -65,18 +65,6 @@ class COMPONENT_EXPORT(UI_BASE_IME_LINUX) InputMethodAuraLinux
bool is_handled)
WARN_UNUSED_RESULT;
- // Callback function for IMEEngineHandlerInterface::ProcessKeyEvent().
- // It recovers the context when the event is being passed to the extension and
- // call ProcessKeyEventDone() for the following processing. This is necessary
- // as this method is async. The environment may be changed by other generated
- // key events by the time the callback is run.
- void ProcessKeyEventByEngineDone(ui::KeyEvent* event,
- bool filtered,
- bool composition_changed,
- ui::CompositionText* composition,
- base::string16* result_text,
- bool is_handled);
-
std::unique_ptr<LinuxInputMethodContext> context_;
std::unique_ptr<LinuxInputMethodContext> context_simple_;
diff --git a/chromium/ui/base/ime/linux/input_method_auralinux_unittest.cc b/chromium/ui/base/ime/linux/input_method_auralinux_unittest.cc
index 02819b93d51..c7d29003977 100644
--- a/chromium/ui/base/ime/linux/input_method_auralinux_unittest.cc
+++ b/chromium/ui/base/ime/linux/input_method_auralinux_unittest.cc
@@ -271,19 +271,19 @@ class TextInputClientForTesting : public DummyTextInputClient {
class InputMethodAuraLinuxTest : public testing::Test {
protected:
InputMethodAuraLinuxTest()
- : factory_(NULL),
- input_method_auralinux_(NULL),
- delegate_(NULL),
- context_(NULL),
- context_simple_(NULL) {
+ : factory_(nullptr),
+ input_method_auralinux_(nullptr),
+ delegate_(nullptr),
+ context_(nullptr),
+ context_simple_(nullptr) {
factory_ = new LinuxInputMethodContextFactoryForTesting();
LinuxInputMethodContextFactory::SetInstance(factory_);
test_result_ = TestResult::GetInstance();
}
~InputMethodAuraLinuxTest() override {
delete factory_;
- factory_ = NULL;
- test_result_ = NULL;
+ factory_ = nullptr;
+ test_result_ = nullptr;
}
void SetUp() override {
@@ -303,13 +303,13 @@ class InputMethodAuraLinuxTest : public testing::Test {
context_simple_->SetSyncMode(false);
context_simple_->SetEatKey(false);
- context_ = NULL;
- context_simple_ = NULL;
+ context_ = nullptr;
+ context_simple_ = nullptr;
delete input_method_auralinux_;
- input_method_auralinux_ = NULL;
+ input_method_auralinux_ = nullptr;
delete delegate_;
- delegate_ = NULL;
+ delegate_ = nullptr;
}
LinuxInputMethodContextFactoryForTesting* factory_;