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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 static_cast<ui::TranslatedKeyEvent*>(event)->ConvertToKeyEvent(); | 91 static_cast<ui::TranslatedKeyEvent*>(event)->ConvertToKeyEvent(); |
92 } else { | 92 } else { |
93 if (input_method_->DispatchKeyEvent(*event)) | 93 if (input_method_->DispatchKeyEvent(*event)) |
94 event->StopPropagation(); | 94 event->StopPropagation(); |
95 } | 95 } |
96 } | 96 } |
97 | 97 |
98 // ui::internal::InputMethodDelegate: | 98 // ui::internal::InputMethodDelegate: |
99 virtual bool DispatchKeyEventPostIME(const ui::KeyEvent& event) OVERRIDE { | 99 virtual bool DispatchKeyEventPostIME(const ui::KeyEvent& event) OVERRIDE { |
100 ui::TranslatedKeyEvent aura_event(event); | 100 ui::TranslatedKeyEvent aura_event(event); |
101 return root_->GetDispatcher()->AsWindowTreeHostDelegate()->OnHostKeyEvent( | 101 ui::EventDispatchDetails details = |
102 &aura_event); | 102 root_->GetDispatcher()->OnEventFromSource(&aura_event); |
| 103 return aura_event.handled() || details.dispatcher_destroyed; |
103 } | 104 } |
104 | 105 |
105 aura::Window* root_; | 106 aura::Window* root_; |
106 scoped_ptr<ui::InputMethod> input_method_; | 107 scoped_ptr<ui::InputMethod> input_method_; |
107 | 108 |
108 DISALLOW_COPY_AND_ASSIGN(MinimalInputEventFilter); | 109 DISALLOW_COPY_AND_ASSIGN(MinimalInputEventFilter); |
109 }; | 110 }; |
110 | 111 |
111 class LauncherWindowTreeClient : public aura::client::WindowTreeClient { | 112 class LauncherWindowTreeClient : public aura::client::WindowTreeClient { |
112 public: | 113 public: |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 // TODO(beng): This crashes in a DCHECK on X11 because this thread's | 298 // TODO(beng): This crashes in a DCHECK on X11 because this thread's |
298 // MessageLoop is not of TYPE_UI. I think we need a way to build | 299 // MessageLoop is not of TYPE_UI. I think we need a way to build |
299 // Aura that doesn't define platform-specific stuff. | 300 // Aura that doesn't define platform-specific stuff. |
300 aura::Env::CreateInstance(); | 301 aura::Env::CreateInstance(); |
301 mojo::examples::LauncherImpl launcher( | 302 mojo::examples::LauncherImpl launcher( |
302 mojo::MakeScopedHandle(mojo::MessagePipeHandle(shell_handle)).Pass()); | 303 mojo::MakeScopedHandle(mojo::MessagePipeHandle(shell_handle)).Pass()); |
303 loop.Run(); | 304 loop.Run(); |
304 | 305 |
305 return MOJO_RESULT_OK; | 306 return MOJO_RESULT_OK; |
306 } | 307 } |
OLD | NEW |