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

Side by Side Diff: chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm

Issue 1305143008: [Mac] Implement LocationBarViewMac::UpdateLocationBarVisibility() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressing nits Created 5 years, 1 month 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" 5 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 11 matching lines...) Expand all
22 #include "chrome/browser/extensions/location_bar_controller.h" 22 #include "chrome/browser/extensions/location_bar_controller.h"
23 #include "chrome/browser/extensions/tab_helper.h" 23 #include "chrome/browser/extensions/tab_helper.h"
24 #include "chrome/browser/profiles/profile.h" 24 #include "chrome/browser/profiles/profile.h"
25 #include "chrome/browser/search/instant_service.h" 25 #include "chrome/browser/search/instant_service.h"
26 #include "chrome/browser/search/instant_service_factory.h" 26 #include "chrome/browser/search/instant_service_factory.h"
27 #include "chrome/browser/search/search.h" 27 #include "chrome/browser/search/search.h"
28 #include "chrome/browser/search_engines/template_url_service_factory.h" 28 #include "chrome/browser/search_engines/template_url_service_factory.h"
29 #include "chrome/browser/translate/chrome_translate_client.h" 29 #include "chrome/browser/translate/chrome_translate_client.h"
30 #include "chrome/browser/translate/translate_service.h" 30 #include "chrome/browser/translate/translate_service.h"
31 #include "chrome/browser/ui/browser_list.h" 31 #include "chrome/browser/ui/browser_list.h"
32 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
32 #import "chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.h " 33 #import "chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.h "
33 #import "chrome/browser/ui/cocoa/extensions/extension_popup_controller.h" 34 #import "chrome/browser/ui/cocoa/extensions/extension_popup_controller.h"
34 #import "chrome/browser/ui/cocoa/first_run_bubble_controller.h" 35 #import "chrome/browser/ui/cocoa/first_run_bubble_controller.h"
35 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field.h" 36 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field.h"
36 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_cell.h" 37 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_cell.h"
37 #import "chrome/browser/ui/cocoa/location_bar/content_setting_decoration.h" 38 #import "chrome/browser/ui/cocoa/location_bar/content_setting_decoration.h"
38 #import "chrome/browser/ui/cocoa/location_bar/ev_bubble_decoration.h" 39 #import "chrome/browser/ui/cocoa/location_bar/ev_bubble_decoration.h"
39 #import "chrome/browser/ui/cocoa/location_bar/keyword_hint_decoration.h" 40 #import "chrome/browser/ui/cocoa/location_bar/keyword_hint_decoration.h"
40 #import "chrome/browser/ui/cocoa/location_bar/location_icon_decoration.h" 41 #import "chrome/browser/ui/cocoa/location_bar/location_icon_decoration.h"
41 #import "chrome/browser/ui/cocoa/location_bar/manage_passwords_decoration.h" 42 #import "chrome/browser/ui/cocoa/location_bar/manage_passwords_decoration.h"
42 #import "chrome/browser/ui/cocoa/location_bar/mic_search_decoration.h" 43 #import "chrome/browser/ui/cocoa/location_bar/mic_search_decoration.h"
43 #import "chrome/browser/ui/cocoa/location_bar/page_action_decoration.h" 44 #import "chrome/browser/ui/cocoa/location_bar/page_action_decoration.h"
44 #import "chrome/browser/ui/cocoa/location_bar/selected_keyword_decoration.h" 45 #import "chrome/browser/ui/cocoa/location_bar/selected_keyword_decoration.h"
45 #import "chrome/browser/ui/cocoa/location_bar/star_decoration.h" 46 #import "chrome/browser/ui/cocoa/location_bar/star_decoration.h"
46 #import "chrome/browser/ui/cocoa/location_bar/translate_decoration.h" 47 #import "chrome/browser/ui/cocoa/location_bar/translate_decoration.h"
47 #import "chrome/browser/ui/cocoa/location_bar/zoom_decoration.h" 48 #import "chrome/browser/ui/cocoa/location_bar/zoom_decoration.h"
48 #import "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h" 49 #import "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h"
50 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
49 #include "chrome/browser/ui/content_settings/content_setting_bubble_model.h" 51 #include "chrome/browser/ui/content_settings/content_setting_bubble_model.h"
50 #include "chrome/browser/ui/content_settings/content_setting_image_model.h" 52 #include "chrome/browser/ui/content_settings/content_setting_image_model.h"
51 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" 53 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h"
52 #include "chrome/browser/ui/tabs/tab_strip_model.h" 54 #include "chrome/browser/ui/tabs/tab_strip_model.h"
53 #include "chrome/browser/ui/toolbar/chrome_toolbar_model.h" 55 #include "chrome/browser/ui/toolbar/chrome_toolbar_model.h"
54 #include "chrome/common/chrome_switches.h" 56 #include "chrome/common/chrome_switches.h"
55 #include "chrome/common/pref_names.h" 57 #include "chrome/common/pref_names.h"
56 #import "components/omnibox/browser/omnibox_popup_model.h" 58 #import "components/omnibox/browser/omnibox_popup_model.h"
57 #include "components/search_engines/template_url.h" 59 #include "components/search_engines/template_url.h"
58 #include "components/search_engines/template_url_service.h" 60 #include "components/search_engines/template_url_service.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 ev_bubble_decoration_( 98 ev_bubble_decoration_(
97 new EVBubbleDecoration(location_icon_decoration_.get())), 99 new EVBubbleDecoration(location_icon_decoration_.get())),
98 star_decoration_(new StarDecoration(command_updater)), 100 star_decoration_(new StarDecoration(command_updater)),
99 translate_decoration_(new TranslateDecoration(command_updater)), 101 translate_decoration_(new TranslateDecoration(command_updater)),
100 zoom_decoration_(new ZoomDecoration(this)), 102 zoom_decoration_(new ZoomDecoration(this)),
101 keyword_hint_decoration_(new KeywordHintDecoration()), 103 keyword_hint_decoration_(new KeywordHintDecoration()),
102 mic_search_decoration_(new MicSearchDecoration(command_updater)), 104 mic_search_decoration_(new MicSearchDecoration(command_updater)),
103 manage_passwords_decoration_( 105 manage_passwords_decoration_(
104 new ManagePasswordsDecoration(command_updater, this)), 106 new ManagePasswordsDecoration(command_updater, this)),
105 browser_(browser), 107 browser_(browser),
108 location_bar_visible_(true),
106 weak_ptr_factory_(this) { 109 weak_ptr_factory_(this) {
107 for (ContentSettingsType type : 110 for (ContentSettingsType type :
108 ContentSettingBubbleModel::GetSupportedBubbleTypes()) { 111 ContentSettingBubbleModel::GetSupportedBubbleTypes()) {
109 content_setting_decorations_.push_back( 112 content_setting_decorations_.push_back(
110 new ContentSettingDecoration(type, this, profile)); 113 new ContentSettingDecoration(type, this, profile));
111 } 114 }
112 115
113 edit_bookmarks_enabled_.Init( 116 edit_bookmarks_enabled_.Init(
114 bookmarks::prefs::kEditBookmarksEnabled, profile->GetPrefs(), 117 bookmarks::prefs::kEditBookmarksEnabled, profile->GetPrefs(),
115 base::Bind(&LocationBarViewMac::OnEditBookmarksEnabledChanged, 118 base::Bind(&LocationBarViewMac::OnEditBookmarksEnabledChanged,
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 [field_ updateMouseTracking]; 195 [field_ updateMouseTracking];
193 [field_ setNeedsDisplay:YES]; 196 [field_ setNeedsDisplay:YES];
194 } 197 }
195 198
196 void LocationBarViewMac::UpdateBookmarkStarVisibility() { 199 void LocationBarViewMac::UpdateBookmarkStarVisibility() {
197 star_decoration_->SetVisible(IsStarEnabled()); 200 star_decoration_->SetVisible(IsStarEnabled());
198 } 201 }
199 202
200 void LocationBarViewMac::UpdateLocationBarVisibility(bool visible, 203 void LocationBarViewMac::UpdateLocationBarVisibility(bool visible,
201 bool animate) { 204 bool animate) {
202 // Not implemented on Mac. 205 // Track the target location bar visibility to avoid redundant transitions
206 // being initiated when one is already in progress.
207 if (visible != location_bar_visible_) {
208 [[[BrowserWindowController browserWindowControllerForView:field_]
209 toolbarController] updateVisibility:visible
210 withAnimation:animate];
211 location_bar_visible_ = visible;
212 }
203 } 213 }
204 214
205 bool LocationBarViewMac::ShowPageActionPopup( 215 bool LocationBarViewMac::ShowPageActionPopup(
206 const extensions::Extension* extension, bool grant_active_tab) { 216 const extensions::Extension* extension, bool grant_active_tab) {
207 for (ScopedVector<PageActionDecoration>::iterator iter = 217 for (ScopedVector<PageActionDecoration>::iterator iter =
208 page_action_decorations_.begin(); 218 page_action_decorations_.begin();
209 iter != page_action_decorations_.end(); ++iter) { 219 iter != page_action_decorations_.end(); ++iter) {
210 if ((*iter)->GetExtension() == extension) 220 if ((*iter)->GetExtension() == extension)
211 return (*iter)->ActivatePageAction(grant_active_tab); 221 return (*iter)->ActivatePageAction(grant_active_tab);
212 } 222 }
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 } 724 }
715 725
716 bool LocationBarViewMac::UpdateMicSearchDecorationVisibility() { 726 bool LocationBarViewMac::UpdateMicSearchDecorationVisibility() {
717 bool is_visible = !GetToolbarModel()->input_in_progress() && 727 bool is_visible = !GetToolbarModel()->input_in_progress() &&
718 browser_->search_model()->voice_search_supported(); 728 browser_->search_model()->voice_search_supported();
719 if (mic_search_decoration_->IsVisible() == is_visible) 729 if (mic_search_decoration_->IsVisible() == is_visible)
720 return false; 730 return false;
721 mic_search_decoration_->SetVisible(is_visible); 731 mic_search_decoration_->SetVisible(is_visible);
722 return true; 732 return true;
723 } 733 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h ('k') | chrome/browser/ui/cocoa/toolbar/toolbar_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698