OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/ui/views/omnibox/omnibox_view_views.h" | 5 #include "chrome/browser/ui/views/omnibox/omnibox_view_views.h" |
6 | 6 |
7 #include "base/property_bag.h" | 7 #include "base/property_bag.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 #include "ui/views/events/event.h" | 40 #include "ui/views/events/event.h" |
41 #include "ui/views/ime/input_method.h" | 41 #include "ui/views/ime/input_method.h" |
42 #include "ui/views/layout/fill_layout.h" | 42 #include "ui/views/layout/fill_layout.h" |
43 #include "ui/views/views_delegate.h" | 43 #include "ui/views/views_delegate.h" |
44 | 44 |
45 #if defined(USE_AURA) | 45 #if defined(USE_AURA) |
46 #include "ui/aura/focus_manager.h" | 46 #include "ui/aura/focus_manager.h" |
47 #include "ui/aura/root_window.h" | 47 #include "ui/aura/root_window.h" |
48 #endif | 48 #endif |
49 | 49 |
50 #if defined(OS_WIN) | |
51 #include "chrome/browser/ui/views/omnibox/omnibox_view_win.h" | |
52 #endif | |
53 | |
54 using content::WebContents; | 50 using content::WebContents; |
55 | 51 |
56 namespace { | 52 namespace { |
57 | 53 |
58 // Textfield for autocomplete that intercepts events that are necessary | 54 // Textfield for autocomplete that intercepts events that are necessary |
59 // for OmniboxViewViews. | 55 // for OmniboxViewViews. |
60 class AutocompleteTextfield : public views::Textfield { | 56 class AutocompleteTextfield : public views::Textfield { |
61 public: | 57 public: |
62 explicit AutocompleteTextfield(OmniboxViewViews* omnibox_view) | 58 explicit AutocompleteTextfield(OmniboxViewViews* omnibox_view) |
63 : views::Textfield(views::Textfield::STYLE_DEFAULT), | 59 : views::Textfield(views::Textfield::STYLE_DEFAULT), |
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
665 model_->OnChanged(); | 661 model_->OnChanged(); |
666 | 662 |
667 return something_changed; | 663 return something_changed; |
668 } | 664 } |
669 | 665 |
670 gfx::NativeView OmniboxViewViews::GetNativeView() const { | 666 gfx::NativeView OmniboxViewViews::GetNativeView() const { |
671 return GetWidget()->GetNativeView(); | 667 return GetWidget()->GetNativeView(); |
672 } | 668 } |
673 | 669 |
674 gfx::NativeView OmniboxViewViews::GetRelativeWindowForPopup() const { | 670 gfx::NativeView OmniboxViewViews::GetRelativeWindowForPopup() const { |
675 #if defined(OS_WIN) && !defined(USE_AURA) | |
676 return OmniboxViewWin::GetRelativeWindowForNativeView(GetNativeView()); | |
677 #else | |
678 return GetWidget()->GetTopLevelWidget()->GetNativeView(); | 671 return GetWidget()->GetTopLevelWidget()->GetNativeView(); |
679 #endif | |
680 } | 672 } |
681 | 673 |
682 CommandUpdater* OmniboxViewViews::GetCommandUpdater() { | 674 CommandUpdater* OmniboxViewViews::GetCommandUpdater() { |
683 return command_updater_; | 675 return command_updater_; |
684 } | 676 } |
685 | 677 |
686 void OmniboxViewViews::SetInstantSuggestion(const string16& input, | 678 void OmniboxViewViews::SetInstantSuggestion(const string16& input, |
687 bool animate_to_complete) { | 679 bool animate_to_complete) { |
688 #if defined(OS_WIN) || defined(USE_AURA) | 680 #if defined(OS_WIN) || defined(USE_AURA) |
689 location_bar_view_->SetInstantSuggestion(input, animate_to_complete); | 681 location_bar_view_->SetInstantSuggestion(input, animate_to_complete); |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
893 const ui::Range& range) { | 885 const ui::Range& range) { |
894 if (text != GetText()) | 886 if (text != GetText()) |
895 textfield_->SetText(text); | 887 textfield_->SetText(text); |
896 textfield_->SelectRange(range); | 888 textfield_->SelectRange(range); |
897 } | 889 } |
898 | 890 |
899 string16 OmniboxViewViews::GetSelectedText() const { | 891 string16 OmniboxViewViews::GetSelectedText() const { |
900 // TODO(oshima): Support instant, IME. | 892 // TODO(oshima): Support instant, IME. |
901 return textfield_->GetSelectedText(); | 893 return textfield_->GetSelectedText(); |
902 } | 894 } |
903 | |
904 #if defined(USE_AURA) | |
905 // static | |
906 OmniboxView* OmniboxView::CreateOmniboxView( | |
907 AutocompleteEditController* controller, | |
908 ToolbarModel* toolbar_model, | |
909 Profile* profile, | |
910 CommandUpdater* command_updater, | |
911 bool popup_window_mode, | |
912 LocationBarView* location_bar) { | |
913 OmniboxViewViews* omnibox_view = new OmniboxViewViews(controller, | |
914 toolbar_model, | |
915 profile, | |
916 command_updater, | |
917 popup_window_mode, | |
918 location_bar); | |
919 omnibox_view->Init(); | |
920 return omnibox_view; | |
921 } | |
922 #endif | |
OLD | NEW |