| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <stdio.h> | 5 #include <stdio.h> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "base/at_exit.h" | 8 #include "base/at_exit.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 | 75 |
| 76 virtual ~MinimalInputEventFilter() { | 76 virtual ~MinimalInputEventFilter() { |
| 77 root_->RemovePreTargetHandler(this); | 77 root_->RemovePreTargetHandler(this); |
| 78 root_->SetProperty(aura::client::kRootWindowInputMethodKey, | 78 root_->SetProperty(aura::client::kRootWindowInputMethodKey, |
| 79 static_cast<ui::InputMethod*>(NULL)); | 79 static_cast<ui::InputMethod*>(NULL)); |
| 80 } | 80 } |
| 81 | 81 |
| 82 private: | 82 private: |
| 83 // ui::EventHandler: | 83 // ui::EventHandler: |
| 84 virtual void OnKeyEvent(ui::KeyEvent* event) OVERRIDE { | 84 virtual void OnKeyEvent(ui::KeyEvent* event) OVERRIDE { |
| 85 const ui::EventType type = event->type(); | 85 if (event->IsTranslated()) { |
| 86 if (type == ui::ET_TRANSLATED_KEY_PRESS || | |
| 87 type == ui::ET_TRANSLATED_KEY_RELEASE) { | |
| 88 // The |event| is already handled by this object, change the type of the | 86 // The |event| is already handled by this object, change the type of the |
| 89 // event to ui::ET_KEY_* and pass it to the next filter. | 87 // event to ui::ET_KEY_* and pass it to the next filter. |
| 90 static_cast<ui::TranslatedKeyEvent*>(event)->ConvertToKeyEvent(); | 88 event->SetTranslated(false); |
| 91 } else { | 89 } else { |
| 92 if (input_method_->DispatchKeyEvent(*event)) | 90 if (input_method_->DispatchKeyEvent(*event)) |
| 93 event->StopPropagation(); | 91 event->StopPropagation(); |
| 94 } | 92 } |
| 95 } | 93 } |
| 96 | 94 |
| 97 // ui::internal::InputMethodDelegate: | 95 // ui::internal::InputMethodDelegate: |
| 98 virtual bool DispatchKeyEventPostIME(const ui::KeyEvent& event) OVERRIDE { | 96 virtual bool DispatchKeyEventPostIME(const ui::KeyEvent& event) OVERRIDE { |
| 99 ui::TranslatedKeyEvent aura_event(event); | 97 ui::KeyEvent aura_event(event); |
| 98 aura_event.SetTranslated(true); |
| 100 ui::EventDispatchDetails details = | 99 ui::EventDispatchDetails details = |
| 101 root_->GetHost()->dispatcher()->OnEventFromSource(&aura_event); | 100 root_->GetHost()->dispatcher()->OnEventFromSource(&aura_event); |
| 102 return aura_event.handled() || details.dispatcher_destroyed; | 101 return aura_event.handled() || details.dispatcher_destroyed; |
| 103 } | 102 } |
| 104 | 103 |
| 105 aura::Window* root_; | 104 aura::Window* root_; |
| 106 scoped_ptr<ui::InputMethod> input_method_; | 105 scoped_ptr<ui::InputMethod> input_method_; |
| 107 | 106 |
| 108 DISALLOW_COPY_AND_ASSIGN(MinimalInputEventFilter); | 107 DISALLOW_COPY_AND_ASSIGN(MinimalInputEventFilter); |
| 109 }; | 108 }; |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 | 293 |
| 295 // TODO(beng): This crashes in a DCHECK on X11 because this thread's | 294 // TODO(beng): This crashes in a DCHECK on X11 because this thread's |
| 296 // MessageLoop is not of TYPE_UI. I think we need a way to build | 295 // MessageLoop is not of TYPE_UI. I think we need a way to build |
| 297 // Aura that doesn't define platform-specific stuff. | 296 // Aura that doesn't define platform-specific stuff. |
| 298 aura::Env::CreateInstance(); | 297 aura::Env::CreateInstance(); |
| 299 mojo::examples::LauncherImpl launcher(shell_handle); | 298 mojo::examples::LauncherImpl launcher(shell_handle); |
| 300 loop.Run(); | 299 loop.Run(); |
| 301 | 300 |
| 302 return MOJO_RESULT_OK; | 301 return MOJO_RESULT_OK; |
| 303 } | 302 } |
| OLD | NEW |