| 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/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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 #include "chrome/browser/ui/views/location_bar/origin_chip_view.h" | 54 #include "chrome/browser/ui/views/location_bar/origin_chip_view.h" |
| 55 #include "chrome/browser/ui/views/location_bar/page_action_image_view.h" | 55 #include "chrome/browser/ui/views/location_bar/page_action_image_view.h" |
| 56 #include "chrome/browser/ui/views/location_bar/page_action_with_badge_view.h" | 56 #include "chrome/browser/ui/views/location_bar/page_action_with_badge_view.h" |
| 57 #include "chrome/browser/ui/views/location_bar/selected_keyword_view.h" | 57 #include "chrome/browser/ui/views/location_bar/selected_keyword_view.h" |
| 58 #include "chrome/browser/ui/views/location_bar/star_view.h" | 58 #include "chrome/browser/ui/views/location_bar/star_view.h" |
| 59 #include "chrome/browser/ui/views/location_bar/translate_icon_view.h" | 59 #include "chrome/browser/ui/views/location_bar/translate_icon_view.h" |
| 60 #include "chrome/browser/ui/views/location_bar/zoom_bubble_view.h" | 60 #include "chrome/browser/ui/views/location_bar/zoom_bubble_view.h" |
| 61 #include "chrome/browser/ui/views/location_bar/zoom_view.h" | 61 #include "chrome/browser/ui/views/location_bar/zoom_view.h" |
| 62 #include "chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h" | 62 #include "chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h" |
| 63 #include "chrome/browser/ui/views/passwords/manage_passwords_icon_view.h" | 63 #include "chrome/browser/ui/views/passwords/manage_passwords_icon_view.h" |
| 64 #include "chrome/browser/ui/views/toolbar/toolbar_origin_chip_view.h" | |
| 65 #include "chrome/browser/ui/zoom/zoom_controller.h" | 64 #include "chrome/browser/ui/zoom/zoom_controller.h" |
| 66 #include "chrome/common/chrome_switches.h" | 65 #include "chrome/common/chrome_switches.h" |
| 67 #include "chrome/common/pref_names.h" | 66 #include "chrome/common/pref_names.h" |
| 68 #include "content/public/browser/notification_service.h" | 67 #include "content/public/browser/notification_service.h" |
| 69 #include "content/public/browser/render_widget_host_view.h" | 68 #include "content/public/browser/render_widget_host_view.h" |
| 70 #include "content/public/browser/web_contents.h" | 69 #include "content/public/browser/web_contents.h" |
| 71 #include "extensions/browser/extension_system.h" | 70 #include "extensions/browser/extension_system.h" |
| 72 #include "extensions/common/feature_switch.h" | 71 #include "extensions/common/feature_switch.h" |
| 73 #include "extensions/common/permissions/permissions_data.h" | 72 #include "extensions/common/permissions/permissions_data.h" |
| 74 #include "grit/generated_resources.h" | 73 #include "grit/generated_resources.h" |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 Profile* profile, | 196 Profile* profile, |
| 198 CommandUpdater* command_updater, | 197 CommandUpdater* command_updater, |
| 199 Delegate* delegate, | 198 Delegate* delegate, |
| 200 bool is_popup_mode) | 199 bool is_popup_mode) |
| 201 : LocationBar(profile), | 200 : LocationBar(profile), |
| 202 OmniboxEditController(command_updater), | 201 OmniboxEditController(command_updater), |
| 203 browser_(browser), | 202 browser_(browser), |
| 204 omnibox_view_(NULL), | 203 omnibox_view_(NULL), |
| 205 delegate_(delegate), | 204 delegate_(delegate), |
| 206 origin_chip_view_(NULL), | 205 origin_chip_view_(NULL), |
| 207 toolbar_origin_chip_view_(NULL), | |
| 208 location_icon_view_(NULL), | 206 location_icon_view_(NULL), |
| 209 ev_bubble_view_(NULL), | 207 ev_bubble_view_(NULL), |
| 210 ime_inline_autocomplete_view_(NULL), | 208 ime_inline_autocomplete_view_(NULL), |
| 211 selected_keyword_view_(NULL), | 209 selected_keyword_view_(NULL), |
| 212 suggested_text_view_(NULL), | 210 suggested_text_view_(NULL), |
| 213 keyword_hint_view_(NULL), | 211 keyword_hint_view_(NULL), |
| 214 mic_search_view_(NULL), | 212 mic_search_view_(NULL), |
| 215 zoom_view_(NULL), | 213 zoom_view_(NULL), |
| 216 generated_credit_card_view_(NULL), | 214 generated_credit_card_view_(NULL), |
| 217 open_pdf_in_reader_view_(NULL), | 215 open_pdf_in_reader_view_(NULL), |
| (...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 587 | 585 |
| 588 void LocationBarView::SetShowFocusRect(bool show) { | 586 void LocationBarView::SetShowFocusRect(bool show) { |
| 589 show_focus_rect_ = show; | 587 show_focus_rect_ = show; |
| 590 SchedulePaint(); | 588 SchedulePaint(); |
| 591 } | 589 } |
| 592 | 590 |
| 593 void LocationBarView::SelectAll() { | 591 void LocationBarView::SelectAll() { |
| 594 omnibox_view_->SelectAll(true); | 592 omnibox_view_->SelectAll(true); |
| 595 } | 593 } |
| 596 | 594 |
| 597 views::ImageView* LocationBarView::GetLocationIconView() { | |
| 598 return toolbar_origin_chip_view_ ? | |
| 599 toolbar_origin_chip_view_->location_icon_view() : location_icon_view_; | |
| 600 } | |
| 601 | |
| 602 const views::ImageView* LocationBarView::GetLocationIconView() const { | |
| 603 return toolbar_origin_chip_view_ ? | |
| 604 toolbar_origin_chip_view_->location_icon_view() : location_icon_view_; | |
| 605 } | |
| 606 | |
| 607 views::View* LocationBarView::GetLocationBarAnchor() { | |
| 608 return GetLocationIconView(); | |
| 609 } | |
| 610 | |
| 611 gfx::Point LocationBarView::GetLocationBarAnchorPoint() const { | 595 gfx::Point LocationBarView::GetLocationBarAnchorPoint() const { |
| 612 // The +1 in the next line creates a 1-px gap between icon and arrow tip. | 596 // The +1 in the next line creates a 1-px gap between icon and arrow tip. |
| 613 gfx::Point icon_bottom(0, GetLocationIconView()->GetImageBounds().bottom() - | 597 gfx::Point icon_bottom(0, location_icon_view_->GetImageBounds().bottom() - |
| 614 LocationBarView::kIconInternalPadding + 1); | 598 LocationBarView::kIconInternalPadding + 1); |
| 615 gfx::Point icon_center(GetLocationIconView()->GetImageBounds().CenterPoint()); | 599 gfx::Point icon_center(location_icon_view_->GetImageBounds().CenterPoint()); |
| 616 gfx::Point point(icon_center.x(), icon_bottom.y()); | 600 gfx::Point point(icon_center.x(), icon_bottom.y()); |
| 617 ConvertPointToTarget(GetLocationIconView(), this, &point); | 601 ConvertPointToTarget(location_icon_view_, this, &point); |
| 618 return point; | 602 return point; |
| 619 } | 603 } |
| 620 | 604 |
| 621 views::View* LocationBarView::generated_credit_card_view() { | 605 views::View* LocationBarView::generated_credit_card_view() { |
| 622 return generated_credit_card_view_; | 606 return generated_credit_card_view_; |
| 623 } | 607 } |
| 624 | 608 |
| 625 int LocationBarView::GetInternalHeight(bool use_preferred_size) { | 609 int LocationBarView::GetInternalHeight(bool use_preferred_size) { |
| 626 int total_height = | 610 int total_height = |
| 627 use_preferred_size ? GetPreferredSize().height() : height(); | 611 use_preferred_size ? GetPreferredSize().height() : height(); |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 798 gfx::Image image = extensions::OmniboxAPI::Get(profile())-> | 782 gfx::Image image = extensions::OmniboxAPI::Get(profile())-> |
| 799 GetOmniboxIcon(template_url->GetExtensionId()); | 783 GetOmniboxIcon(template_url->GetExtensionId()); |
| 800 selected_keyword_view_->SetImage(image.AsImageSkia()); | 784 selected_keyword_view_->SetImage(image.AsImageSkia()); |
| 801 selected_keyword_view_->set_is_extension_icon(true); | 785 selected_keyword_view_->set_is_extension_icon(true); |
| 802 } else { | 786 } else { |
| 803 selected_keyword_view_->SetImage( | 787 selected_keyword_view_->SetImage( |
| 804 *(GetThemeProvider()->GetImageSkiaNamed(IDR_OMNIBOX_SEARCH))); | 788 *(GetThemeProvider()->GetImageSkiaNamed(IDR_OMNIBOX_SEARCH))); |
| 805 selected_keyword_view_->set_is_extension_icon(false); | 789 selected_keyword_view_->set_is_extension_icon(false); |
| 806 } | 790 } |
| 807 } | 791 } |
| 808 } else if (!toolbar_origin_chip_view_ && | 792 } else if (!chrome::ShouldDisplayOriginChip() && |
| 809 !chrome::ShouldDisplayOriginChipV2() && | |
| 810 (GetToolbarModel()->GetSecurityLevel(false) == ToolbarModel::EV_SECURE)) { | 793 (GetToolbarModel()->GetSecurityLevel(false) == ToolbarModel::EV_SECURE)) { |
| 811 ev_bubble_view_->SetLabel(GetToolbarModel()->GetEVCertName()); | 794 ev_bubble_view_->SetLabel(GetToolbarModel()->GetEVCertName()); |
| 812 // The largest fraction of the omnibox that can be taken by the EV bubble. | 795 // The largest fraction of the omnibox that can be taken by the EV bubble. |
| 813 const double kMaxBubbleFraction = 0.5; | 796 const double kMaxBubbleFraction = 0.5; |
| 814 leading_decorations.AddDecoration(bubble_location_y, bubble_height, false, | 797 leading_decorations.AddDecoration(bubble_location_y, bubble_height, false, |
| 815 kMaxBubbleFraction, kBubblePadding, | 798 kMaxBubbleFraction, kBubblePadding, |
| 816 kItemPadding, ev_bubble_view_); | 799 kItemPadding, ev_bubble_view_); |
| 817 } else if (!origin_chip_view_->visible()) { | 800 } else if (!origin_chip_view_->visible()) { |
| 818 leading_decorations.AddDecoration( | 801 leading_decorations.AddDecoration( |
| 819 vertical_edge_thickness(), location_height, | 802 vertical_edge_thickness(), location_height, |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1016 | 999 |
| 1017 if (contents) | 1000 if (contents) |
| 1018 omnibox_view_->OnTabChanged(contents); | 1001 omnibox_view_->OnTabChanged(contents); |
| 1019 else | 1002 else |
| 1020 omnibox_view_->Update(); | 1003 omnibox_view_->Update(); |
| 1021 | 1004 |
| 1022 OnChanged(); // NOTE: Calls Layout(). | 1005 OnChanged(); // NOTE: Calls Layout(). |
| 1023 } | 1006 } |
| 1024 | 1007 |
| 1025 void LocationBarView::ShowURL() { | 1008 void LocationBarView::ShowURL() { |
| 1026 if (chrome::ShouldDisplayOriginChipV2()) { | 1009 if (chrome::ShouldDisplayOriginChip()) { |
| 1027 omnibox_view_->SetVisible(false); | 1010 omnibox_view_->SetVisible(false); |
| 1028 omnibox_view_->ShowURL(); | 1011 omnibox_view_->ShowURL(); |
| 1029 show_url_animation_->Show(); | 1012 show_url_animation_->Show(); |
| 1030 } else { | 1013 } else { |
| 1031 omnibox_view_->ShowURL(); | 1014 omnibox_view_->ShowURL(); |
| 1032 } | 1015 } |
| 1033 } | 1016 } |
| 1034 | 1017 |
| 1035 ToolbarModel* LocationBarView::GetToolbarModel() { | 1018 ToolbarModel* LocationBarView::GetToolbarModel() { |
| 1036 return delegate_->GetToolbarModel(); | 1019 return delegate_->GetToolbarModel(); |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1191 return was_visible != manage_passwords_icon_view_->visible(); | 1174 return was_visible != manage_passwords_icon_view_->visible(); |
| 1192 } | 1175 } |
| 1193 | 1176 |
| 1194 void LocationBarView::ShowFirstRunBubbleInternal() { | 1177 void LocationBarView::ShowFirstRunBubbleInternal() { |
| 1195 #if !defined(OS_CHROMEOS) | 1178 #if !defined(OS_CHROMEOS) |
| 1196 // First run bubble doesn't make sense for Chrome OS. | 1179 // First run bubble doesn't make sense for Chrome OS. |
| 1197 Browser* browser = GetBrowserFromDelegate(delegate_); | 1180 Browser* browser = GetBrowserFromDelegate(delegate_); |
| 1198 if (!browser) | 1181 if (!browser) |
| 1199 return; // Possible when browser is shutting down. | 1182 return; // Possible when browser is shutting down. |
| 1200 | 1183 |
| 1201 FirstRunBubble::ShowBubble(browser, GetLocationBarAnchor()); | 1184 FirstRunBubble::ShowBubble(browser, location_icon_view_); |
| 1202 #endif | 1185 #endif |
| 1203 } | 1186 } |
| 1204 | 1187 |
| 1205 void LocationBarView::AccessibilitySetValue(const base::string16& new_value) { | 1188 void LocationBarView::AccessibilitySetValue(const base::string16& new_value) { |
| 1206 omnibox_view_->SetUserText(new_value, new_value, true); | 1189 omnibox_view_->SetUserText(new_value, new_value, true); |
| 1207 } | 1190 } |
| 1208 | 1191 |
| 1209 bool LocationBarView::HasValidSuggestText() const { | 1192 bool LocationBarView::HasValidSuggestText() const { |
| 1210 return suggested_text_view_->visible() && | 1193 return suggested_text_view_->visible() && |
| 1211 !suggested_text_view_->size().IsEmpty(); | 1194 !suggested_text_view_->size().IsEmpty(); |
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1534 ((conditions != chrome::DISPLAY_SEARCH_BUTTON_NEVER) && | 1517 ((conditions != chrome::DISPLAY_SEARCH_BUTTON_NEVER) && |
| 1535 (toolbar_model->WouldPerformSearchTermReplacement(true) || | 1518 (toolbar_model->WouldPerformSearchTermReplacement(true) || |
| 1536 ((conditions == chrome::DISPLAY_SEARCH_BUTTON_FOR_STR_OR_IIP) && | 1519 ((conditions == chrome::DISPLAY_SEARCH_BUTTON_FOR_STR_OR_IIP) && |
| 1537 toolbar_model->input_in_progress()))); | 1520 toolbar_model->input_in_progress()))); |
| 1538 search_button_->SetVisible(!is_popup_mode_ && meets_conditions); | 1521 search_button_->SetVisible(!is_popup_mode_ && meets_conditions); |
| 1539 search_button_->SetImage( | 1522 search_button_->SetImage( |
| 1540 views::Button::STATE_NORMAL, | 1523 views::Button::STATE_NORMAL, |
| 1541 *GetThemeProvider()->GetImageSkiaNamed((icon_id == IDR_OMNIBOX_SEARCH) ? | 1524 *GetThemeProvider()->GetImageSkiaNamed((icon_id == IDR_OMNIBOX_SEARCH) ? |
| 1542 IDR_OMNIBOX_SEARCH_BUTTON_LOUPE : IDR_OMNIBOX_SEARCH_BUTTON_ARROW)); | 1525 IDR_OMNIBOX_SEARCH_BUTTON_LOUPE : IDR_OMNIBOX_SEARCH_BUTTON_ARROW)); |
| 1543 | 1526 |
| 1544 if (toolbar_origin_chip_view_) | |
| 1545 toolbar_origin_chip_view_->OnChanged(); | |
| 1546 | |
| 1547 if (origin_chip_view_->visible()) | 1527 if (origin_chip_view_->visible()) |
| 1548 origin_chip_view_->OnChanged(); | 1528 origin_chip_view_->OnChanged(); |
| 1549 | 1529 |
| 1550 Layout(); | 1530 Layout(); |
| 1551 SchedulePaint(); | 1531 SchedulePaint(); |
| 1552 } | 1532 } |
| 1553 | 1533 |
| 1554 void LocationBarView::OnSetFocus() { | 1534 void LocationBarView::OnSetFocus() { |
| 1555 GetFocusManager()->SetFocusedView(this); | 1535 GetFocusManager()->SetFocusedView(this); |
| 1556 } | 1536 } |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1642 void LocationBarView::ModelChanged(const SearchModel::State& old_state, | 1622 void LocationBarView::ModelChanged(const SearchModel::State& old_state, |
| 1643 const SearchModel::State& new_state) { | 1623 const SearchModel::State& new_state) { |
| 1644 const bool visible = !GetToolbarModel()->input_in_progress() && | 1624 const bool visible = !GetToolbarModel()->input_in_progress() && |
| 1645 new_state.voice_search_supported; | 1625 new_state.voice_search_supported; |
| 1646 if (mic_search_view_->visible() != visible) { | 1626 if (mic_search_view_->visible() != visible) { |
| 1647 mic_search_view_->SetVisible(visible); | 1627 mic_search_view_->SetVisible(visible); |
| 1648 Layout(); | 1628 Layout(); |
| 1649 } | 1629 } |
| 1650 } | 1630 } |
| 1651 | 1631 |
| OLD | NEW |