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

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

Issue 324043002: Create a prominent omnibox UI element to add pages to the app launcher. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Moar Created 6 years, 6 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 24 matching lines...) Expand all
35 #include "chrome/browser/ui/browser_instant_controller.h" 35 #include "chrome/browser/ui/browser_instant_controller.h"
36 #include "chrome/browser/ui/browser_window.h" 36 #include "chrome/browser/ui/browser_window.h"
37 #include "chrome/browser/ui/omnibox/location_bar_util.h" 37 #include "chrome/browser/ui/omnibox/location_bar_util.h"
38 #include "chrome/browser/ui/omnibox/omnibox_popup_model.h" 38 #include "chrome/browser/ui/omnibox/omnibox_popup_model.h"
39 #include "chrome/browser/ui/omnibox/omnibox_popup_view.h" 39 #include "chrome/browser/ui/omnibox/omnibox_popup_view.h"
40 #include "chrome/browser/ui/passwords/manage_passwords_icon.h" 40 #include "chrome/browser/ui/passwords/manage_passwords_icon.h"
41 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" 41 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h"
42 #include "chrome/browser/ui/tabs/tab_strip_model.h" 42 #include "chrome/browser/ui/tabs/tab_strip_model.h"
43 #include "chrome/browser/ui/view_ids.h" 43 #include "chrome/browser/ui/view_ids.h"
44 #include "chrome/browser/ui/views/browser_dialogs.h" 44 #include "chrome/browser/ui/views/browser_dialogs.h"
45 #include "chrome/browser/ui/views/location_bar/add_to_app_launcher_view.h"
45 #include "chrome/browser/ui/views/location_bar/content_setting_image_view.h" 46 #include "chrome/browser/ui/views/location_bar/content_setting_image_view.h"
46 #include "chrome/browser/ui/views/location_bar/ev_bubble_view.h" 47 #include "chrome/browser/ui/views/location_bar/ev_bubble_view.h"
47 #include "chrome/browser/ui/views/location_bar/generated_credit_card_view.h" 48 #include "chrome/browser/ui/views/location_bar/generated_credit_card_view.h"
48 #include "chrome/browser/ui/views/location_bar/keyword_hint_view.h" 49 #include "chrome/browser/ui/views/location_bar/keyword_hint_view.h"
49 #include "chrome/browser/ui/views/location_bar/location_bar_layout.h" 50 #include "chrome/browser/ui/views/location_bar/location_bar_layout.h"
50 #include "chrome/browser/ui/views/location_bar/location_icon_view.h" 51 #include "chrome/browser/ui/views/location_bar/location_icon_view.h"
51 #include "chrome/browser/ui/views/location_bar/open_pdf_in_reader_view.h" 52 #include "chrome/browser/ui/views/location_bar/open_pdf_in_reader_view.h"
52 #include "chrome/browser/ui/views/location_bar/origin_chip_view.h" 53 #include "chrome/browser/ui/views/location_bar/origin_chip_view.h"
53 #include "chrome/browser/ui/views/location_bar/page_action_image_view.h" 54 #include "chrome/browser/ui/views/location_bar/page_action_image_view.h"
54 #include "chrome/browser/ui/views/location_bar/page_action_with_badge_view.h" 55 #include "chrome/browser/ui/views/location_bar/page_action_with_badge_view.h"
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 ime_inline_autocomplete_view_(NULL), 215 ime_inline_autocomplete_view_(NULL),
215 selected_keyword_view_(NULL), 216 selected_keyword_view_(NULL),
216 suggested_text_view_(NULL), 217 suggested_text_view_(NULL),
217 keyword_hint_view_(NULL), 218 keyword_hint_view_(NULL),
218 mic_search_view_(NULL), 219 mic_search_view_(NULL),
219 zoom_view_(NULL), 220 zoom_view_(NULL),
220 generated_credit_card_view_(NULL), 221 generated_credit_card_view_(NULL),
221 open_pdf_in_reader_view_(NULL), 222 open_pdf_in_reader_view_(NULL),
222 manage_passwords_icon_view_(NULL), 223 manage_passwords_icon_view_(NULL),
223 translate_icon_view_(NULL), 224 translate_icon_view_(NULL),
225 add_to_app_launcher_view_(NULL),
224 star_view_(NULL), 226 star_view_(NULL),
225 search_button_(NULL), 227 search_button_(NULL),
226 is_popup_mode_(is_popup_mode), 228 is_popup_mode_(is_popup_mode),
227 show_focus_rect_(false), 229 show_focus_rect_(false),
228 template_url_service_(NULL), 230 template_url_service_(NULL),
229 dropdown_animation_offset_(0), 231 dropdown_animation_offset_(0),
230 starting_omnibox_offset_(0), 232 starting_omnibox_offset_(0),
231 current_omnibox_offset_(0), 233 current_omnibox_offset_(0),
232 starting_omnibox_leading_inset_(0), 234 starting_omnibox_leading_inset_(0),
233 current_omnibox_leading_inset_(0), 235 current_omnibox_leading_inset_(0),
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 open_pdf_in_reader_view_ = new OpenPDFInReaderView(); 384 open_pdf_in_reader_view_ = new OpenPDFInReaderView();
383 AddChildView(open_pdf_in_reader_view_); 385 AddChildView(open_pdf_in_reader_view_);
384 386
385 manage_passwords_icon_view_ = new ManagePasswordsIconView(command_updater()); 387 manage_passwords_icon_view_ = new ManagePasswordsIconView(command_updater());
386 AddChildView(manage_passwords_icon_view_); 388 AddChildView(manage_passwords_icon_view_);
387 389
388 translate_icon_view_ = new TranslateIconView(command_updater()); 390 translate_icon_view_ = new TranslateIconView(command_updater());
389 translate_icon_view_->SetVisible(false); 391 translate_icon_view_->SetVisible(false);
390 AddChildView(translate_icon_view_); 392 AddChildView(translate_icon_view_);
391 393
394 add_to_app_launcher_view_ = new AddToAppLauncherView(
395 this, bubble_font_list, text_color, background_color);
396 add_to_app_launcher_view_->SetVisible(false);
397 AddChildView(add_to_app_launcher_view_);
398
392 star_view_ = new StarView(command_updater()); 399 star_view_ = new StarView(command_updater());
393 star_view_->SetVisible(false); 400 star_view_->SetVisible(false);
394 AddChildView(star_view_); 401 AddChildView(star_view_);
395 402
396 search_button_ = new views::LabelButton(this, base::string16()); 403 search_button_ = new views::LabelButton(this, base::string16());
397 search_button_->set_triggerable_event_flags( 404 search_button_->set_triggerable_event_flags(
398 ui::EF_LEFT_MOUSE_BUTTON | ui::EF_MIDDLE_MOUSE_BUTTON); 405 ui::EF_LEFT_MOUSE_BUTTON | ui::EF_MIDDLE_MOUSE_BUTTON);
399 search_button_->SetStyle(views::Button::STYLE_BUTTON); 406 search_button_->SetStyle(views::Button::STYLE_BUTTON);
400 search_button_->SetFocusable(false); 407 search_button_->SetFocusable(false);
401 search_button_->set_min_size(gfx::Size()); 408 search_button_->set_min_size(gfx::Size());
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 leading_width += 713 leading_width +=
707 kItemPadding + location_icon_view_->GetMinimumSize().width(); 714 kItemPadding + location_icon_view_->GetMinimumSize().width();
708 } 715 }
709 leading_width += kItemPadding - GetEditLeadingInternalSpace(); 716 leading_width += kItemPadding - GetEditLeadingInternalSpace();
710 717
711 // Compute width of omnibox-trailing content. 718 // Compute width of omnibox-trailing content.
712 int trailing_width = search_button_->visible() ? 719 int trailing_width = search_button_->visible() ?
713 (search_button_->GetMinimumSize().width() + kSearchButtonInset) : 720 (search_button_->GetMinimumSize().width() + kSearchButtonInset) :
714 horizontal_edge_thickness; 721 horizontal_edge_thickness;
715 trailing_width += IncrementalMinimumWidth(star_view_) + 722 trailing_width += IncrementalMinimumWidth(star_view_) +
716 IncrementalMinimumWidth(translate_icon_view_) + 723 IncrementalMinimumWidth(translate_icon_view_) +
717 IncrementalMinimumWidth(open_pdf_in_reader_view_) + 724 IncrementalMinimumWidth(open_pdf_in_reader_view_) +
718 IncrementalMinimumWidth(manage_passwords_icon_view_) + 725 IncrementalMinimumWidth(manage_passwords_icon_view_) +
719 IncrementalMinimumWidth(zoom_view_) + 726 IncrementalMinimumWidth(zoom_view_) +
720 IncrementalMinimumWidth(generated_credit_card_view_) + 727 IncrementalMinimumWidth(generated_credit_card_view_) +
721 IncrementalMinimumWidth(mic_search_view_) + kItemPadding; 728 IncrementalMinimumWidth(mic_search_view_) +
729 IncrementalMinimumWidth(add_to_app_launcher_view_) +
730 kItemPadding;
Peter Kasting 2014/06/11 18:20:48 Nit: The old indenting was correct
benwells 2014/06/12 03:36:35 Done.
722 for (PageActionViews::const_iterator i(page_action_views_.begin()); 731 for (PageActionViews::const_iterator i(page_action_views_.begin());
723 i != page_action_views_.end(); ++i) 732 i != page_action_views_.end(); ++i)
724 trailing_width += IncrementalMinimumWidth((*i)); 733 trailing_width += IncrementalMinimumWidth((*i));
725 for (ContentSettingViews::const_iterator i(content_setting_views_.begin()); 734 for (ContentSettingViews::const_iterator i(content_setting_views_.begin());
726 i != content_setting_views_.end(); ++i) 735 i != content_setting_views_.end(); ++i)
727 trailing_width += IncrementalMinimumWidth((*i)); 736 trailing_width += IncrementalMinimumWidth((*i));
728 737
729 min_size.set_width( 738 min_size.set_width(
730 leading_width + omnibox_view_->GetMinimumSize().width() + trailing_width); 739 leading_width + omnibox_view_->GetMinimumSize().width() + trailing_width);
731 return min_size; 740 return min_size;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
796 } else if (!origin_chip_view_->visible()) { 805 } else if (!origin_chip_view_->visible()) {
797 leading_decorations.AddDecoration( 806 leading_decorations.AddDecoration(
798 vertical_edge_thickness(), location_height, 807 vertical_edge_thickness(), location_height,
799 location_icon_view_); 808 location_icon_view_);
800 } 809 }
801 810
802 if (star_view_->visible()) { 811 if (star_view_->visible()) {
803 trailing_decorations.AddDecoration( 812 trailing_decorations.AddDecoration(
804 vertical_edge_thickness(), location_height, star_view_); 813 vertical_edge_thickness(), location_height, star_view_);
805 } 814 }
815 if (add_to_app_launcher_view_->visible()) {
816 trailing_decorations.AddDecoration(
817 vertical_edge_thickness(), location_height, add_to_app_launcher_view_);
818 }
806 if (translate_icon_view_->visible()) { 819 if (translate_icon_view_->visible()) {
807 trailing_decorations.AddDecoration( 820 trailing_decorations.AddDecoration(
808 vertical_edge_thickness(), location_height, translate_icon_view_); 821 vertical_edge_thickness(), location_height, translate_icon_view_);
809 } 822 }
810 if (open_pdf_in_reader_view_->visible()) { 823 if (open_pdf_in_reader_view_->visible()) {
811 trailing_decorations.AddDecoration( 824 trailing_decorations.AddDecoration(
812 vertical_edge_thickness(), location_height, open_pdf_in_reader_view_); 825 vertical_edge_thickness(), location_height, open_pdf_in_reader_view_);
813 } 826 }
814 if (manage_passwords_icon_view_->visible()) { 827 if (manage_passwords_icon_view_->visible()) {
815 trailing_decorations.AddDecoration(vertical_edge_thickness(), 828 trailing_decorations.AddDecoration(vertical_edge_thickness(),
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 !GetToolbarModel()->input_in_progress() && browser_ && 1089 !GetToolbarModel()->input_in_progress() && browser_ &&
1077 browser_->search_model()->voice_search_supported()); 1090 browser_->search_model()->voice_search_supported());
1078 RefreshContentSettingViews(); 1091 RefreshContentSettingViews();
1079 generated_credit_card_view_->Update(); 1092 generated_credit_card_view_->Update();
1080 ZoomBubbleView::CloseBubble(); 1093 ZoomBubbleView::CloseBubble();
1081 RefreshZoomView(); 1094 RefreshZoomView();
1082 RefreshPageActionViews(); 1095 RefreshPageActionViews();
1083 RefreshTranslateIcon(); 1096 RefreshTranslateIcon();
1084 RefreshManagePasswordsIconView(); 1097 RefreshManagePasswordsIconView();
1085 open_pdf_in_reader_view_->Update( 1098 open_pdf_in_reader_view_->Update(
1086 GetToolbarModel()->input_in_progress() ? NULL : GetWebContents()); 1099 GetToolbarModel()->input_in_progress() ? NULL : GetWebContents());
Peter Kasting 2014/06/11 18:20:48 Nit: Factor this common expression out to a temp
benwells 2014/06/12 03:36:35 Done.
1100 add_to_app_launcher_view_->Update(
1101 GetToolbarModel()->input_in_progress() ? NULL : GetWebContents());
1087 1102
1088 if (star_view_) { 1103 if (star_view_) {
1089 star_view_->SetVisible( 1104 star_view_->SetVisible(
1090 browser_defaults::bookmarks_enabled && !is_popup_mode_ && 1105 browser_defaults::bookmarks_enabled && !is_popup_mode_ &&
1091 !GetToolbarModel()->input_in_progress() && 1106 !GetToolbarModel()->input_in_progress() &&
1092 edit_bookmarks_enabled_.GetValue() && 1107 edit_bookmarks_enabled_.GetValue() &&
1093 !IsBookmarkStarHiddenByExtension()); 1108 !IsBookmarkStarHiddenByExtension());
1094 } 1109 }
1095 1110
1096 if (contents) 1111 if (contents)
(...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after
1806 void LocationBarView::ModelChanged(const SearchModel::State& old_state, 1821 void LocationBarView::ModelChanged(const SearchModel::State& old_state,
1807 const SearchModel::State& new_state) { 1822 const SearchModel::State& new_state) {
1808 const bool visible = !GetToolbarModel()->input_in_progress() && 1823 const bool visible = !GetToolbarModel()->input_in_progress() &&
1809 new_state.voice_search_supported; 1824 new_state.voice_search_supported;
1810 if (mic_search_view_->visible() != visible) { 1825 if (mic_search_view_->visible() != visible) {
1811 mic_search_view_->SetVisible(visible); 1826 mic_search_view_->SetVisible(visible);
1812 Layout(); 1827 Layout();
1813 } 1828 }
1814 } 1829 }
1815 1830
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698