| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "ui/views/widget/native_widget_aura.h" | 5 #include "ui/views/widget/native_widget_aura.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
| 9 #include "ui/aura/client/aura_constants.h" | 9 #include "ui/aura/client/aura_constants.h" |
| 10 #include "ui/aura/client/drag_drop_client.h" | 10 #include "ui/aura/client/drag_drop_client.h" |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 #include "ui/views/widget/native_widget_delegate.h" | 24 #include "ui/views/widget/native_widget_delegate.h" |
| 25 #include "ui/views/widget/tooltip_manager_views.h" | 25 #include "ui/views/widget/tooltip_manager_views.h" |
| 26 | 26 |
| 27 #if defined(OS_WIN) | 27 #if defined(OS_WIN) |
| 28 #include "base/win/scoped_gdi_object.h" | 28 #include "base/win/scoped_gdi_object.h" |
| 29 #include "base/win/win_util.h" | 29 #include "base/win/win_util.h" |
| 30 #include "ui/base/l10n/l10n_util_win.h" | 30 #include "ui/base/l10n/l10n_util_win.h" |
| 31 #endif | 31 #endif |
| 32 | 32 |
| 33 #if defined(HAVE_IBUS) | 33 #if defined(HAVE_IBUS) |
| 34 #include "ui/views/ime/input_method_ibus.h" | 34 #include "ui/views/ime/input_method_bridge.h" |
| 35 #else | 35 #else |
| 36 #include "ui/views/ime/mock_input_method.h" | 36 #include "ui/views/ime/mock_input_method.h" |
| 37 #endif | 37 #endif |
| 38 | 38 |
| 39 namespace views { | 39 namespace views { |
| 40 | 40 |
| 41 namespace { | 41 namespace { |
| 42 | 42 |
| 43 aura::WindowType GetAuraWindowTypeForWidgetType(Widget::InitParams::Type type) { | 43 aura::WindowType GetAuraWindowTypeForWidgetType(Widget::InitParams::Type type) { |
| 44 switch (type) { | 44 switch (type) { |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 void NativeWidgetAura::ReleaseMouseCapture() { | 272 void NativeWidgetAura::ReleaseMouseCapture() { |
| 273 window_->ReleaseCapture(); | 273 window_->ReleaseCapture(); |
| 274 } | 274 } |
| 275 | 275 |
| 276 bool NativeWidgetAura::HasMouseCapture() const { | 276 bool NativeWidgetAura::HasMouseCapture() const { |
| 277 return window_->HasCapture(); | 277 return window_->HasCapture(); |
| 278 } | 278 } |
| 279 | 279 |
| 280 InputMethod* NativeWidgetAura::CreateInputMethod() { | 280 InputMethod* NativeWidgetAura::CreateInputMethod() { |
| 281 #if defined(HAVE_IBUS) | 281 #if defined(HAVE_IBUS) |
| 282 InputMethod* input_method = new InputMethodIBus(this); | 282 ui::InputMethod* host = aura::Desktop::GetInstance()->GetInputMethod(); |
| 283 InputMethod* input_method = new InputMethodBridge(this, host); |
| 283 #else | 284 #else |
| 285 // Use the mock IME for unit tests. |
| 284 InputMethod* input_method = new MockInputMethod(this); | 286 InputMethod* input_method = new MockInputMethod(this); |
| 285 #endif | 287 #endif |
| 286 input_method->Init(GetWidget()); | 288 input_method->Init(GetWidget()); |
| 287 return input_method; | 289 return input_method; |
| 288 } | 290 } |
| 289 | 291 |
| 290 void NativeWidgetAura::CenterWindow(const gfx::Size& size) { | 292 void NativeWidgetAura::CenterWindow(const gfx::Size& size) { |
| 291 const gfx::Rect parent_bounds = window_->parent()->bounds(); | 293 const gfx::Rect parent_bounds = window_->parent()->bounds(); |
| 292 window_->SetBounds(gfx::Rect((parent_bounds.width() - size.width())/2, | 294 window_->SetBounds(gfx::Rect((parent_bounds.width() - size.width())/2, |
| 293 (parent_bounds.height() - size.height())/2, | 295 (parent_bounds.height() - size.height())/2, |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 565 Widget* widget = GetWidget(); | 567 Widget* widget = GetWidget(); |
| 566 if (widget->is_top_level()) { | 568 if (widget->is_top_level()) { |
| 567 InputMethod* input_method = widget->GetInputMethod(); | 569 InputMethod* input_method = widget->GetInputMethod(); |
| 568 input_method->OnBlur(); | 570 input_method->OnBlur(); |
| 569 widget->GetFocusManager()->StoreFocusedView(); | 571 widget->GetFocusManager()->StoreFocusedView(); |
| 570 } | 572 } |
| 571 delegate_->OnNativeBlur(NULL); | 573 delegate_->OnNativeBlur(NULL); |
| 572 } | 574 } |
| 573 | 575 |
| 574 bool NativeWidgetAura::OnKeyEvent(aura::KeyEvent* event) { | 576 bool NativeWidgetAura::OnKeyEvent(aura::KeyEvent* event) { |
| 575 // TODO(beng): Need an InputMethodAura to properly handle character events. | 577 DCHECK(!event->is_char()); |
| 576 // Right now, we just skip these. | |
| 577 if (event->is_char()) | |
| 578 return false; | |
| 579 | |
| 580 DCHECK(window_->IsVisible()); | 578 DCHECK(window_->IsVisible()); |
| 581 InputMethod* input_method = GetWidget()->GetInputMethod(); | 579 InputMethod* input_method = GetWidget()->GetInputMethod(); |
| 582 DCHECK(input_method); | 580 DCHECK(input_method); |
| 583 // TODO(oshima): DispatchKeyEvent should return bool? | |
| 584 KeyEvent views_event(event); | 581 KeyEvent views_event(event); |
| 585 input_method->DispatchKeyEvent(views_event); | 582 input_method->DispatchKeyEvent(views_event); |
| 586 return true; | 583 return true; |
| 587 } | 584 } |
| 588 | 585 |
| 589 gfx::NativeCursor NativeWidgetAura::GetCursor(const gfx::Point& point) { | 586 gfx::NativeCursor NativeWidgetAura::GetCursor(const gfx::Point& point) { |
| 590 return cursor_; | 587 return cursor_; |
| 591 } | 588 } |
| 592 | 589 |
| 593 int NativeWidgetAura::GetNonClientComponent(const gfx::Point& point) const { | 590 int NativeWidgetAura::GetNonClientComponent(const gfx::Point& point) const { |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 775 NOTIMPLEMENTED(); | 772 NOTIMPLEMENTED(); |
| 776 } | 773 } |
| 777 | 774 |
| 778 // static | 775 // static |
| 779 bool NativeWidgetPrivate::IsMouseButtonDown() { | 776 bool NativeWidgetPrivate::IsMouseButtonDown() { |
| 780 return aura::Desktop::GetInstance()->IsMouseButtonDown(); | 777 return aura::Desktop::GetInstance()->IsMouseButtonDown(); |
| 781 } | 778 } |
| 782 | 779 |
| 783 } // namespace internal | 780 } // namespace internal |
| 784 } // namespace views | 781 } // namespace views |
| OLD | NEW |