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

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: Feedback 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 SearchButton(this); 403 search_button_ = new SearchButton(this);
397 search_button_->SetVisible(false); 404 search_button_->SetVisible(false);
398 AddChildView(search_button_); 405 AddChildView(search_button_);
399 406
400 show_url_animation_.reset(new gfx::SlideAnimation(this)); 407 show_url_animation_.reset(new gfx::SlideAnimation(this));
401 show_url_animation_->SetTweenType(kShowTweenType); 408 show_url_animation_->SetTweenType(kShowTweenType);
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 // Compute width of omnibox-trailing content. 688 // Compute width of omnibox-trailing content.
682 int trailing_width = search_button_->visible() ? 689 int trailing_width = search_button_->visible() ?
683 (search_button_->GetMinimumSize().width() + kSearchButtonInset) : 690 (search_button_->GetMinimumSize().width() + kSearchButtonInset) :
684 horizontal_edge_thickness; 691 horizontal_edge_thickness;
685 trailing_width += IncrementalMinimumWidth(star_view_) + 692 trailing_width += IncrementalMinimumWidth(star_view_) +
686 IncrementalMinimumWidth(translate_icon_view_) + 693 IncrementalMinimumWidth(translate_icon_view_) +
687 IncrementalMinimumWidth(open_pdf_in_reader_view_) + 694 IncrementalMinimumWidth(open_pdf_in_reader_view_) +
688 IncrementalMinimumWidth(manage_passwords_icon_view_) + 695 IncrementalMinimumWidth(manage_passwords_icon_view_) +
689 IncrementalMinimumWidth(zoom_view_) + 696 IncrementalMinimumWidth(zoom_view_) +
690 IncrementalMinimumWidth(generated_credit_card_view_) + 697 IncrementalMinimumWidth(generated_credit_card_view_) +
691 IncrementalMinimumWidth(mic_search_view_) + kItemPadding; 698 IncrementalMinimumWidth(mic_search_view_) +
699 IncrementalMinimumWidth(add_to_app_launcher_view_) + kItemPadding;
692 for (PageActionViews::const_iterator i(page_action_views_.begin()); 700 for (PageActionViews::const_iterator i(page_action_views_.begin());
693 i != page_action_views_.end(); ++i) 701 i != page_action_views_.end(); ++i)
694 trailing_width += IncrementalMinimumWidth((*i)); 702 trailing_width += IncrementalMinimumWidth((*i));
695 for (ContentSettingViews::const_iterator i(content_setting_views_.begin()); 703 for (ContentSettingViews::const_iterator i(content_setting_views_.begin());
696 i != content_setting_views_.end(); ++i) 704 i != content_setting_views_.end(); ++i)
697 trailing_width += IncrementalMinimumWidth((*i)); 705 trailing_width += IncrementalMinimumWidth((*i));
698 706
699 min_size.set_width( 707 min_size.set_width(
700 leading_width + omnibox_view_->GetMinimumSize().width() + trailing_width); 708 leading_width + omnibox_view_->GetMinimumSize().width() + trailing_width);
701 return min_size; 709 return min_size;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
766 } else if (!origin_chip_view_->visible()) { 774 } else if (!origin_chip_view_->visible()) {
767 leading_decorations.AddDecoration( 775 leading_decorations.AddDecoration(
768 vertical_edge_thickness(), location_height, 776 vertical_edge_thickness(), location_height,
769 location_icon_view_); 777 location_icon_view_);
770 } 778 }
771 779
772 if (star_view_->visible()) { 780 if (star_view_->visible()) {
773 trailing_decorations.AddDecoration( 781 trailing_decorations.AddDecoration(
774 vertical_edge_thickness(), location_height, star_view_); 782 vertical_edge_thickness(), location_height, star_view_);
775 } 783 }
784 if (add_to_app_launcher_view_->visible()) {
785 trailing_decorations.AddDecoration(
786 vertical_edge_thickness(), location_height, add_to_app_launcher_view_);
787 }
776 if (translate_icon_view_->visible()) { 788 if (translate_icon_view_->visible()) {
777 trailing_decorations.AddDecoration( 789 trailing_decorations.AddDecoration(
778 vertical_edge_thickness(), location_height, translate_icon_view_); 790 vertical_edge_thickness(), location_height, translate_icon_view_);
779 } 791 }
780 if (open_pdf_in_reader_view_->visible()) { 792 if (open_pdf_in_reader_view_->visible()) {
781 trailing_decorations.AddDecoration( 793 trailing_decorations.AddDecoration(
782 vertical_edge_thickness(), location_height, open_pdf_in_reader_view_); 794 vertical_edge_thickness(), location_height, open_pdf_in_reader_view_);
783 } 795 }
784 if (manage_passwords_icon_view_->visible()) { 796 if (manage_passwords_icon_view_->visible()) {
785 trailing_decorations.AddDecoration(vertical_edge_thickness(), 797 trailing_decorations.AddDecoration(vertical_edge_thickness(),
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
1045 mic_search_view_->SetVisible( 1057 mic_search_view_->SetVisible(
1046 !GetToolbarModel()->input_in_progress() && browser_ && 1058 !GetToolbarModel()->input_in_progress() && browser_ &&
1047 browser_->search_model()->voice_search_supported()); 1059 browser_->search_model()->voice_search_supported());
1048 RefreshContentSettingViews(); 1060 RefreshContentSettingViews();
1049 generated_credit_card_view_->Update(); 1061 generated_credit_card_view_->Update();
1050 ZoomBubbleView::CloseBubble(); 1062 ZoomBubbleView::CloseBubble();
1051 RefreshZoomView(); 1063 RefreshZoomView();
1052 RefreshPageActionViews(); 1064 RefreshPageActionViews();
1053 RefreshTranslateIcon(); 1065 RefreshTranslateIcon();
1054 RefreshManagePasswordsIconView(); 1066 RefreshManagePasswordsIconView();
1055 open_pdf_in_reader_view_->Update( 1067 content::WebContents* web_contents_for_sub_views =
1056 GetToolbarModel()->input_in_progress() ? NULL : GetWebContents()); 1068 GetToolbarModel()->input_in_progress() ? NULL : GetWebContents();
1069 open_pdf_in_reader_view_->Update(web_contents_for_sub_views);
1070 add_to_app_launcher_view_->Update(web_contents_for_sub_views);
1057 1071
1058 if (star_view_) { 1072 if (star_view_) {
1059 star_view_->SetVisible( 1073 star_view_->SetVisible(
1060 browser_defaults::bookmarks_enabled && !is_popup_mode_ && 1074 browser_defaults::bookmarks_enabled && !is_popup_mode_ &&
1061 !GetToolbarModel()->input_in_progress() && 1075 !GetToolbarModel()->input_in_progress() &&
1062 edit_bookmarks_enabled_.GetValue() && 1076 edit_bookmarks_enabled_.GetValue() &&
1063 !IsBookmarkStarHiddenByExtension()); 1077 !IsBookmarkStarHiddenByExtension());
1064 } 1078 }
1065 1079
1066 if (contents) 1080 if (contents)
(...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after
1773 void LocationBarView::ModelChanged(const SearchModel::State& old_state, 1787 void LocationBarView::ModelChanged(const SearchModel::State& old_state,
1774 const SearchModel::State& new_state) { 1788 const SearchModel::State& new_state) {
1775 const bool visible = !GetToolbarModel()->input_in_progress() && 1789 const bool visible = !GetToolbarModel()->input_in_progress() &&
1776 new_state.voice_search_supported; 1790 new_state.voice_search_supported;
1777 if (mic_search_view_->visible() != visible) { 1791 if (mic_search_view_->visible() != visible) {
1778 mic_search_view_->SetVisible(visible); 1792 mic_search_view_->SetVisible(visible);
1779 Layout(); 1793 Layout();
1780 } 1794 }
1781 } 1795 }
1782 1796
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698