Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: chrome/browser/ui/views/location_bar/location_bar_view.cc

Issue 10084020: Removing defunct code around PureViews. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge tests. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/location_bar/location_bar_view.h" 5 #include "chrome/browser/ui/views/location_bar/location_bar_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 72
73 namespace { 73 namespace {
74 74
75 WebContents* GetWebContentsFromDelegate(LocationBarView::Delegate* delegate) { 75 WebContents* GetWebContentsFromDelegate(LocationBarView::Delegate* delegate) {
76 const TabContentsWrapper* wrapper = delegate->GetTabContentsWrapper(); 76 const TabContentsWrapper* wrapper = delegate->GetTabContentsWrapper();
77 return wrapper ? wrapper->web_contents() : NULL; 77 return wrapper ? wrapper->web_contents() : NULL;
78 } 78 }
79 79
80 // A utility function to cast OmniboxView to OmniboxViewViews. 80 // A utility function to cast OmniboxView to OmniboxViewViews.
81 OmniboxViewViews* AsViews(OmniboxView* view) { 81 OmniboxViewViews* AsViews(OmniboxView* view) {
82 DCHECK(views::Widget::IsPureViews());
83 return static_cast<OmniboxViewViews*>(view); 82 return static_cast<OmniboxViewViews*>(view);
84 } 83 }
85 84
86 // Height of the location bar's round corner region. 85 // Height of the location bar's round corner region.
87 // TODO(jamescook): Update all Chrome platforms to use the new art and metrics 86 // TODO(jamescook): Update all Chrome platforms to use the new art and metrics
88 // from Ash, crbug.com/118228 87 // from Ash, crbug.com/118228
89 #if defined(USE_ASH) 88 #if defined(USE_ASH)
90 const int kBorderRoundCornerHeight = 5; 89 const int kBorderRoundCornerHeight = 5;
91 #else 90 #else
92 const int kBorderRoundCornerHeight = 6; 91 const int kBorderRoundCornerHeight = 6;
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 } 454 }
456 455
457 #if defined(OS_WIN) || defined(USE_AURA) 456 #if defined(OS_WIN) || defined(USE_AURA)
458 void LocationBarView::SetInstantSuggestion(const string16& text, 457 void LocationBarView::SetInstantSuggestion(const string16& text,
459 bool animate_to_complete) { 458 bool animate_to_complete) {
460 // Don't show the suggested text if inline autocomplete is prevented. 459 // Don't show the suggested text if inline autocomplete is prevented.
461 if (!text.empty()) { 460 if (!text.empty()) {
462 if (!suggested_text_view_) { 461 if (!suggested_text_view_) {
463 suggested_text_view_ = new SuggestedTextView(location_entry_->model()); 462 suggested_text_view_ = new SuggestedTextView(location_entry_->model());
464 suggested_text_view_->SetText(text); 463 suggested_text_view_->SetText(text);
465 if (views::Widget::IsPureViews()) 464 #if defined(USE_AURA)
466 NOTIMPLEMENTED(); 465 NOTIMPLEMENTED();
467 #if !defined(USE_AURA) 466 #else
468 else 467 suggested_text_view_->SetFont(GetOmniboxViewWin()->GetFont());
469 suggested_text_view_->SetFont(GetOmniboxViewWin()->GetFont());
470 #endif 468 #endif
471 AddChildView(suggested_text_view_); 469 AddChildView(suggested_text_view_);
472 } else if (suggested_text_view_->text() != text) { 470 } else if (suggested_text_view_->text() != text) {
473 suggested_text_view_->SetText(text); 471 suggested_text_view_->SetText(text);
474 } 472 }
475 if (animate_to_complete && !location_entry_->IsImeComposing()) 473 if (animate_to_complete && !location_entry_->IsImeComposing())
476 suggested_text_view_->StartAnimation(); 474 suggested_text_view_->StartAnimation();
477 } else if (suggested_text_view_) { 475 } else if (suggested_text_view_) {
478 delete suggested_text_view_; 476 delete suggested_text_view_;
479 suggested_text_view_ = NULL; 477 suggested_text_view_ = NULL;
480 } else { 478 } else {
481 return; 479 return;
482 } 480 }
483 481
484 Layout(); 482 Layout();
485 SchedulePaint(); 483 SchedulePaint();
486 } 484 }
487 485
488 string16 LocationBarView::GetInstantSuggestion() const { 486 string16 LocationBarView::GetInstantSuggestion() const {
489 return HasValidSuggestText() ? suggested_text_view_->text() : string16(); 487 return HasValidSuggestText() ? suggested_text_view_->text() : string16();
490 } 488 }
491 #endif 489 #endif
492 490
493 void LocationBarView::SetLocationEntryFocusable(bool focusable) { 491 void LocationBarView::SetLocationEntryFocusable(bool focusable) {
494 if (views::Widget::IsPureViews()) 492 #if defined(USE_AURA)
495 AsViews(location_entry_.get())->SetLocationEntryFocusable(focusable); 493 AsViews(location_entry_.get())->SetLocationEntryFocusable(focusable);
496 else 494 #else
497 set_focusable(focusable); 495 set_focusable(focusable);
496 #endif
498 } 497 }
499 498
500 bool LocationBarView::IsLocationEntryFocusableInRootView() const { 499 bool LocationBarView::IsLocationEntryFocusableInRootView() const {
501 return views::Widget::IsPureViews() ? 500 #if defined(USE_AURA)
502 AsViews(location_entry_.get())->IsLocationEntryFocusableInRootView() : 501 return AsViews(location_entry_.get())->IsLocationEntryFocusableInRootView();
503 views::View::IsFocusable(); 502 #else
503 return views::View::IsFocusable();
504 #endif
504 } 505 }
505 506
506 gfx::Size LocationBarView::GetPreferredSize() { 507 gfx::Size LocationBarView::GetPreferredSize() {
507 return gfx::Size(0, GetThemeProvider()->GetBitmapNamed(mode_ == POPUP ? 508 return gfx::Size(0, GetThemeProvider()->GetBitmapNamed(mode_ == POPUP ?
508 IDR_LOCATIONBG_POPUPMODE_CENTER : IDR_LOCATIONBG_C)->height()); 509 IDR_LOCATIONBG_POPUPMODE_CENTER : IDR_LOCATIONBG_C)->height());
509 } 510 }
510 511
511 void LocationBarView::Layout() { 512 void LocationBarView::Layout() {
512 if (!location_entry_.get()) 513 if (!location_entry_.get())
513 return; 514 return;
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 // entry. Only show the suggested text if we can fit the text from one 716 // entry. Only show the suggested text if we can fit the text from one
716 // character before the end of the selection to the end of the text and the 717 // character before the end of the selection to the end of the text and the
717 // suggested text. If we can't it means either the suggested text is too big, 718 // suggested text. If we can't it means either the suggested text is too big,
718 // or the user has scrolled. 719 // or the user has scrolled.
719 720
720 // TODO(sky): We could potentially combine this with the previous step to 721 // TODO(sky): We could potentially combine this with the previous step to
721 // force using minimum size if necessary, but currently the chance of showing 722 // force using minimum size if necessary, but currently the chance of showing
722 // keyword hints and suggested text is minimal and we're not confident this 723 // keyword hints and suggested text is minimal and we're not confident this
723 // is the right approach for suggested text. 724 // is the right approach for suggested text.
724 if (suggested_text_view_) { 725 if (suggested_text_view_) {
725 if (views::Widget::IsPureViews()) { 726 #if defined(USE_AURA)
726 NOTIMPLEMENTED(); 727 NOTIMPLEMENTED();
728 #else
729 // TODO(sky): need to layout when the user changes caret position.
730 int suggested_text_width =
731 suggested_text_view_->GetPreferredSize().width();
732 int vis_text_width = GetOmniboxViewWin()->WidthOfTextAfterCursor();
733 if (vis_text_width + suggested_text_width > entry_width) {
734 // Hide the suggested text if the user has scrolled or we can't fit all
735 // the suggested text.
736 suggested_text_view_->SetBounds(0, 0, 0, 0);
727 } else { 737 } else {
728 #if !defined(USE_AURA) 738 int location_needed_width = location_entry_->TextWidth();
729 // TODO(sky): need to layout when the user changes caret position. 739 location_bounds.set_width(std::min(location_needed_width,
730 int suggested_text_width = 740 entry_width - suggested_text_width));
731 suggested_text_view_->GetPreferredSize().width(); 741 // TODO(sky): figure out why this needs the -1.
732 int vis_text_width = GetOmniboxViewWin()->WidthOfTextAfterCursor(); 742 suggested_text_view_->SetBounds(location_bounds.right() - 1,
733 if (vis_text_width + suggested_text_width > entry_width) { 743 location_bounds.y(),
734 // Hide the suggested text if the user has scrolled or we can't fit all 744 suggested_text_width,
735 // the suggested text. 745 location_bounds.height());
736 suggested_text_view_->SetBounds(0, 0, 0, 0); 746 }
737 } else {
738 int location_needed_width = location_entry_->TextWidth();
739 location_bounds.set_width(std::min(location_needed_width,
740 entry_width - suggested_text_width));
741 // TODO(sky): figure out why this needs the -1.
742 suggested_text_view_->SetBounds(location_bounds.right() - 1,
743 location_bounds.y(),
744 suggested_text_width,
745 location_bounds.height());
746 }
747 #endif 747 #endif
748 }
749 } 748 }
750 #endif 749 #endif
751 750
752 location_entry_view_->SetBoundsRect(location_bounds); 751 location_entry_view_->SetBoundsRect(location_bounds);
753 } 752 }
754 753
755 void LocationBarView::OnPaint(gfx::Canvas* canvas) { 754 void LocationBarView::OnPaint(gfx::Canvas* canvas) {
756 View::OnPaint(canvas); 755 View::OnPaint(canvas);
757 756
758 if (painter_.get()) { 757 if (painter_.get()) {
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
849 } else if (event.IsRightMouseButton()) { 848 } else if (event.IsRightMouseButton()) {
850 msg = WM_RBUTTONUP; 849 msg = WM_RBUTTONUP;
851 } else { 850 } else {
852 NOTREACHED(); 851 NOTREACHED();
853 return; 852 return;
854 } 853 }
855 OnMouseEvent(event, msg); 854 OnMouseEvent(event, msg);
856 } 855 }
857 856
858 void LocationBarView::OnMouseCaptureLost() { 857 void LocationBarView::OnMouseCaptureLost() {
859 if (views::Widget::IsPureViews()) 858 GetOmniboxViewWin()->HandleExternalMsg(WM_CAPTURECHANGED, 0, CPoint());
860 NOTIMPLEMENTED();
861 else
862 GetOmniboxViewWin()->HandleExternalMsg(WM_CAPTURECHANGED, 0, CPoint());
863 } 859 }
864 #endif 860 #endif
865 861
866 void LocationBarView::OnAutocompleteAccept( 862 void LocationBarView::OnAutocompleteAccept(
867 const GURL& url, 863 const GURL& url,
868 WindowOpenDisposition disposition, 864 WindowOpenDisposition disposition,
869 content::PageTransition transition, 865 content::PageTransition transition,
870 const GURL& alternate_nav_url) { 866 const GURL& alternate_nav_url) {
871 // WARNING: don't add an early return here. The calls after the if must 867 // WARNING: don't add an early return here. The calls after the if must
872 // happen. 868 // happen.
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
1051 } 1047 }
1052 } 1048 }
1053 } 1049 }
1054 } 1050 }
1055 1051
1056 #if defined(OS_WIN) && !defined(USE_AURA) 1052 #if defined(OS_WIN) && !defined(USE_AURA)
1057 void LocationBarView::OnMouseEvent(const views::MouseEvent& event, UINT msg) { 1053 void LocationBarView::OnMouseEvent(const views::MouseEvent& event, UINT msg) {
1058 UINT flags = event.native_event().wParam; 1054 UINT flags = event.native_event().wParam;
1059 gfx::Point screen_point(event.location()); 1055 gfx::Point screen_point(event.location());
1060 ConvertPointToScreen(this, &screen_point); 1056 ConvertPointToScreen(this, &screen_point);
1061 if (views::Widget::IsPureViews()) 1057 GetOmniboxViewWin()->HandleExternalMsg(msg, flags, screen_point.ToPOINT());
1062 NOTIMPLEMENTED();
1063 else
1064 GetOmniboxViewWin()->HandleExternalMsg(msg, flags, screen_point.ToPOINT());
1065 } 1058 }
1066 #endif 1059 #endif
1067 1060
1068 void LocationBarView::ShowFirstRunBubbleInternal() { 1061 void LocationBarView::ShowFirstRunBubbleInternal() {
1069 #if !defined(OS_CHROMEOS) 1062 #if !defined(OS_CHROMEOS)
1070 // First run bubble doesn't make sense for Chrome OS. 1063 // First run bubble doesn't make sense for Chrome OS.
1071 FirstRunBubble::ShowBubble(profile_, location_icon_view_); 1064 FirstRunBubble::ShowBubble(profile_, location_icon_view_);
1072 #endif 1065 #endif
1073 } 1066 }
1074 1067
(...skipping 14 matching lines...) Expand all
1089 return true; 1082 return true;
1090 } 1083 }
1091 1084
1092 // Tab while showing instant commits instant immediately. 1085 // Tab while showing instant commits instant immediately.
1093 // Return true so that focus traversal isn't attempted. The edit ends 1086 // Return true so that focus traversal isn't attempted. The edit ends
1094 // up doing nothing in this case. 1087 // up doing nothing in this case.
1095 if (location_entry_->model()->AcceptCurrentInstantPreview()) 1088 if (location_entry_->model()->AcceptCurrentInstantPreview())
1096 return true; 1089 return true;
1097 } 1090 }
1098 1091
1099 #if !defined(USE_AURA) 1092 #if defined(USE_AURA)
1100 if (!views::Widget::IsPureViews())
1101 return GetOmniboxViewWin()->SkipDefaultKeyEventProcessing(event);
1102 #endif
1103 NOTIMPLEMENTED(); 1093 NOTIMPLEMENTED();
1104 return false; 1094 return false;
1105 #else 1095 #else
1096 return GetOmniboxViewWin()->SkipDefaultKeyEventProcessing(event);
1097 #endif
1098
1099 #else
1106 // This method is not used for Linux ports. See FocusManager::OnKeyEvent() in 1100 // This method is not used for Linux ports. See FocusManager::OnKeyEvent() in
1107 // src/ui/views/focus/focus_manager.cc for details. 1101 // src/ui/views/focus/focus_manager.cc for details.
1108 return false; 1102 return false;
1109 #endif 1103 #endif
1110 } 1104 }
1111 1105
1112 void LocationBarView::GetAccessibleState(ui::AccessibleViewState* state) { 1106 void LocationBarView::GetAccessibleState(ui::AccessibleViewState* state) {
1113 state->role = ui::AccessibilityTypes::ROLE_LOCATION_BAR; 1107 state->role = ui::AccessibilityTypes::ROLE_LOCATION_BAR;
1114 state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_LOCATION); 1108 state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_LOCATION);
1115 state->value = location_entry_->GetText(); 1109 state->value = location_entry_->GetText();
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
1293 } 1287 }
1294 1288
1295 #if defined(OS_WIN) || defined(USE_AURA) 1289 #if defined(OS_WIN) || defined(USE_AURA)
1296 bool LocationBarView::HasValidSuggestText() const { 1290 bool LocationBarView::HasValidSuggestText() const {
1297 return suggested_text_view_ && !suggested_text_view_->size().IsEmpty() && 1291 return suggested_text_view_ && !suggested_text_view_->size().IsEmpty() &&
1298 !suggested_text_view_->text().empty(); 1292 !suggested_text_view_->text().empty();
1299 } 1293 }
1300 1294
1301 #if !defined(USE_AURA) 1295 #if !defined(USE_AURA)
1302 OmniboxViewWin* LocationBarView::GetOmniboxViewWin() { 1296 OmniboxViewWin* LocationBarView::GetOmniboxViewWin() {
1303 CHECK(!views::Widget::IsPureViews());
1304 return static_cast<OmniboxViewWin*>(location_entry_.get()); 1297 return static_cast<OmniboxViewWin*>(location_entry_.get());
1305 } 1298 }
1306 #endif 1299 #endif
1307 #endif 1300 #endif
OLDNEW
« no previous file with comments | « chrome/browser/ui/omnibox/omnibox_view_browsertest.cc ('k') | chrome/browser/ui/views/omnibox/omnibox_view_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698