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 "views/widget/widget.h" | 5 #include "views/widget/widget.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "ui/base/l10n/l10n_font_util.h" | 10 #include "ui/base/l10n/l10n_font_util.h" |
(...skipping 578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
589 } | 589 } |
590 return default_theme_provider_.get(); | 590 return default_theme_provider_.get(); |
591 } | 591 } |
592 | 592 |
593 FocusManager* Widget::GetFocusManager() { | 593 FocusManager* Widget::GetFocusManager() { |
594 Widget* toplevel_widget = GetTopLevelWidget(); | 594 Widget* toplevel_widget = GetTopLevelWidget(); |
595 return toplevel_widget ? toplevel_widget->focus_manager_.get() : NULL; | 595 return toplevel_widget ? toplevel_widget->focus_manager_.get() : NULL; |
596 } | 596 } |
597 | 597 |
598 InputMethod* Widget::GetInputMethod() { | 598 InputMethod* Widget::GetInputMethod() { |
599 Widget* toplevel_widget = GetTopLevelWidget(); | 599 if (is_top_level()) { |
600 return toplevel_widget ? toplevel_widget->GetInputMethodDirect() : NULL; | 600 if (!input_method_.get()) |
| 601 ReplaceInputMethod(native_widget_->CreateInputMethod()); |
| 602 return input_method_.get(); |
| 603 } else { |
| 604 Widget* toplevel = GetTopLevelWidget(); |
| 605 return toplevel ? toplevel->GetInputMethod() : NULL; |
| 606 } |
601 } | 607 } |
602 | 608 |
603 void Widget::RunShellDrag(View* view, const ui::OSExchangeData& data, | 609 void Widget::RunShellDrag(View* view, const ui::OSExchangeData& data, |
604 int operation) { | 610 int operation) { |
605 dragged_view_ = view; | 611 dragged_view_ = view; |
606 native_widget_->RunShellDrag(view, data, operation); | 612 native_widget_->RunShellDrag(view, data, operation); |
607 // If the view is removed during the drag operation, dragged_view_ is set to | 613 // If the view is removed during the drag operation, dragged_view_ is set to |
608 // NULL. | 614 // NULL. |
609 if (view && dragged_view_ == view) { | 615 if (view && dragged_view_ == view) { |
610 dragged_view_ = NULL; | 616 dragged_view_ = NULL; |
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
969 ui::TouchStatus Widget::OnTouchEvent(const TouchEvent& event) { | 975 ui::TouchStatus Widget::OnTouchEvent(const TouchEvent& event) { |
970 ScopedEvent scoped(this, event); | 976 ScopedEvent scoped(this, event); |
971 return static_cast<internal::RootView*>(GetRootView())->OnTouchEvent(event); | 977 return static_cast<internal::RootView*>(GetRootView())->OnTouchEvent(event); |
972 } | 978 } |
973 | 979 |
974 bool Widget::ExecuteCommand(int command_id) { | 980 bool Widget::ExecuteCommand(int command_id) { |
975 return widget_delegate_->ExecuteWindowsCommand(command_id); | 981 return widget_delegate_->ExecuteWindowsCommand(command_id); |
976 } | 982 } |
977 | 983 |
978 InputMethod* Widget::GetInputMethodDirect() { | 984 InputMethod* Widget::GetInputMethodDirect() { |
979 if (!input_method_.get() && is_top_level()) | |
980 ReplaceInputMethod(native_widget_->CreateInputMethod()); | |
981 return input_method_.get(); | 985 return input_method_.get(); |
982 } | 986 } |
983 | 987 |
984 Widget* Widget::AsWidget() { | 988 Widget* Widget::AsWidget() { |
985 return this; | 989 return this; |
986 } | 990 } |
987 | 991 |
988 const Widget* Widget::AsWidget() const { | 992 const Widget* Widget::AsWidget() const { |
989 return this; | 993 return this; |
990 } | 994 } |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1122 | 1126 |
1123 //////////////////////////////////////////////////////////////////////////////// | 1127 //////////////////////////////////////////////////////////////////////////////// |
1124 // internal::NativeWidgetPrivate, NativeWidget implementation: | 1128 // internal::NativeWidgetPrivate, NativeWidget implementation: |
1125 | 1129 |
1126 internal::NativeWidgetPrivate* NativeWidgetPrivate::AsNativeWidgetPrivate() { | 1130 internal::NativeWidgetPrivate* NativeWidgetPrivate::AsNativeWidgetPrivate() { |
1127 return this; | 1131 return this; |
1128 } | 1132 } |
1129 | 1133 |
1130 } // namespace internal | 1134 } // namespace internal |
1131 } // namespace views | 1135 } // namespace views |
OLD | NEW |