| 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 // See the comment in InputMethodEventFilter::OnKeyEvent() for details. |
| 86 if (type == ui::ET_TRANSLATED_KEY_PRESS || | 86 if (event->IsTranslated()) { |
| 87 type == ui::ET_TRANSLATED_KEY_RELEASE) { | 87 event->SetTranslated(false); |
| 88 // 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. | |
| 90 static_cast<ui::TranslatedKeyEvent*>(event)->ConvertToKeyEvent(); | |
| 91 } else { | 88 } else { |
| 92 if (input_method_->DispatchKeyEvent(*event)) | 89 if (input_method_->DispatchKeyEvent(*event)) |
| 93 event->StopPropagation(); | 90 event->StopPropagation(); |
| 94 } | 91 } |
| 95 } | 92 } |
| 96 | 93 |
| 97 // ui::internal::InputMethodDelegate: | 94 // ui::internal::InputMethodDelegate: |
| 98 virtual bool DispatchKeyEventPostIME(const ui::KeyEvent& event) OVERRIDE { | 95 virtual bool DispatchKeyEventPostIME(const ui::KeyEvent& event) OVERRIDE { |
| 99 ui::TranslatedKeyEvent aura_event(event); | 96 // See the comment in InputMethodEventFilter::DispatchKeyEventPostIME() for |
| 97 // details. |
| 98 ui::KeyEvent aura_event(event); |
| 99 aura_event.SetTranslated(true); |
| 100 ui::EventDispatchDetails details = | 100 ui::EventDispatchDetails details = |
| 101 root_->GetHost()->dispatcher()->OnEventFromSource(&aura_event); | 101 root_->GetHost()->dispatcher()->OnEventFromSource(&aura_event); |
| 102 return aura_event.handled() || details.dispatcher_destroyed; | 102 return aura_event.handled() || details.dispatcher_destroyed; |
| 103 } | 103 } |
| 104 | 104 |
| 105 aura::Window* root_; | 105 aura::Window* root_; |
| 106 scoped_ptr<ui::InputMethod> input_method_; | 106 scoped_ptr<ui::InputMethod> input_method_; |
| 107 | 107 |
| 108 DISALLOW_COPY_AND_ASSIGN(MinimalInputEventFilter); | 108 DISALLOW_COPY_AND_ASSIGN(MinimalInputEventFilter); |
| 109 }; | 109 }; |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 284 // MessageLoop is not of TYPE_UI. I think we need a way to build | 284 // MessageLoop is not of TYPE_UI. I think we need a way to build |
| 285 // Aura that doesn't define platform-specific stuff. | 285 // Aura that doesn't define platform-specific stuff. |
| 286 aura::Env::CreateInstance(true); | 286 aura::Env::CreateInstance(true); |
| 287 | 287 |
| 288 mojo::Application app(shell_handle); | 288 mojo::Application app(shell_handle); |
| 289 app.AddService<mojo::examples::LauncherImpl>(&app); | 289 app.AddService<mojo::examples::LauncherImpl>(&app); |
| 290 | 290 |
| 291 loop.Run(); | 291 loop.Run(); |
| 292 return MOJO_RESULT_OK; | 292 return MOJO_RESULT_OK; |
| 293 } | 293 } |
| OLD | NEW |